SVG 최적화기

그래픽을 손상시키지 않고 SVG 코드를 정리하여 파일 크기를 줄여보세요.

SVG 코드를 붙여넣은 다음 최적화해 보세요.

SVG 코드는 브라우저 내에서 직접 최적화됩니다. BroBroGo 서버로 어떠한 데이터도 전송되지 않습니다.

자주 묻는 질문

최적화 시 무엇이 제거되나요?

주석, 메타데이터, 에디터 네임스페이스, 불필요한 속성 공백, 사용되지 않는 네임스페이스를 제거하고 색상값을 더 짧은 동등한 형태로 변환합니다. viewBox, ID, 라벨 및 도형의 기하학적 구조는 그대로 유지됩니다.

모든 SVG 파일을 최적화할 수 있나요?

일반적인 인라인 SVG 코드를 처리할 수 있습니다. 다만 문서 유형(doctype) 선언이나 사용자 정의 엔티티가 포함된 SVG는 파싱 시 보안 문제가 발생할 수 있어 처리가 차단됩니다. 해당 선언을 제거하고 다시 시도해 주세요.

최적화 후 그래픽 모양이 변할 수 있나요?

본 최적화 도구는 경로(path) 재작성, ID 이름 변경, viewBox 제거 및 정밀도 반올림을 수행하지 않으므로 그래픽이 깨지지 않습니다. 다만 디자인 워크플로우를 위해 주석이나 메타데이터가 꼭 필요한 SVG 파일이라면 원본 복사본을 따로 보관해 두는 것이 좋습니다.

SVG 파일의 구조와 웹 성능의 관계

SVG(Scalable Vector Graphics)는 XML 기반의 텍스트 형식으로 이미지를 정의하는 벡터 그래픽 표준입니다. SVG 파일 내부에는 도형의 좌표, 선의 색상, 레이어 구조뿐만 아니라 그래픽 표현에 직접 관여하지 않는 다양한 메타데이터가 포함되어 있습니다. 이러한 텍스트 기반 구조는 웹 페이지 내에 직접 코드를 삽입하는 인라인 SVG 방식으로 자주 사용됩니다.

웹 페이지의 로딩 속도와 사용자 경험은 전송되는 데이터의 크기에 직접적인 영향을 받습니다. SVG 파일 내에 불필요한 데이터가 누적되면 브라우저가 XML을 파싱하고 렌더링하는 과정에서 지연이 발생할 수 있습니다. 따라서 웹 성능을 최적화하기 위해서는 시각적 품질을 유지하면서 코드의 크기를 최소화하는 과정이 필수적입니다.

안전한 정리를 통한 무손실 최적화 방식

본 도구는 그래픽의 외형을 손상시키지 않는 무손실 방식으로 SVG 코드를 정리합니다. 최적화 과정에서 제거되는 요소와 유지되는 요소는 다음과 같이 엄격히 구분됩니다.

  • 제거되는 요소: 코드 내 주석, 메타데이터, 그래픽 에디터가 삽입한 네임스페이스, 속성 사이의 불필요한 공백, 사용되지 않는 네임스페이스가 정리됩니다. 또한 색상값을 더 짧은 동등한 형태(예: 16진수 축약형 등)로 변환하여 바이트를 줄입니다.
  • 유지되는 요소: 그래픽의 틀을 정의하는 viewBox, 요소의 식별자(ID), 라벨, 그리고 도형의 기하학적 구조(geometry)는 원본 그대로 보존됩니다.

이 최적화 도구는 경로(path) 재작성, ID 이름 변경, viewBox 제거, 정밀도 반올림을 수행하지 않으므로 그래픽이 깨지거나 왜곡될 염려가 없습니다.

XML 엔티티와 보안 및 처리 제한 사항

웹 애플리케이션에서 XML 기반의 SVG를 파싱할 때는 보안상의 이유로 특정 구조의 진입을 차단해야 합니다. 문서 유형(doctype) 선언이나 사용자 정의 엔티티가 포함된 SVG 파일은 외부 엔티티 참조를 통한 보안 취약점을 유발할 수 있으므로 처리가 차단됩니다.

또한 원활한 브라우저 내 처리를 위해 입력 크기와 처리 시간에 제한을 둡니다. 입력된 SVG 코드가 지정된 최대 글자 수 제한을 초과하거나, 최적화 연산이 15초 이상 지속되는 경우 시스템 과부하를 방지하기 위해 프로세스가 자동으로 중단됩니다. 최적화 진행 중에 입력을 지우거나 내용을 변경하면 진행 중이던 모든 최적화 작업이 즉시 종료됩니다.

브라우저 내 로컬 데이터 처리 및 개인정보 보호

본 도구는 사용자의 프라이버시를 보호하기 위해 모든 최적화 연산을 사용자의 웹 브라우저 내부에서 직접 수행합니다. 입력한 SVG 코드는 외부 서버로 전송되지 않으며, BroBroGo 서버로 어떠한 데이터도 전송되지 않습니다. 모든 파싱과 코드 정리 작업이 로컬 환경에서 완결되므로 외부 유출 걱정 없이 도구를 사용할 수 있습니다.

발생 가능한 오류 메시지와 해결 방법

최적화 작업 중 입력 데이터의 상태에 따라 다음과 같은 결과 메시지나 오류가 화면에 표시될 수 있습니다.

  • 최적화 완료 — {pct}% 축소됨 ({saved} 절약).: 최적화가 성공적으로 완료되어 파일 크기가 줄어든 경우 표시됩니다.
  • 최적화 완료. 안전 정리 설정으로 줄어든 크기가 없습니다.: 최적화 작업을 수행했으나 안전 정리 규칙 내에서는 더 이상 줄일 수 있는 바이트가 없을 때 표시됩니다.
  • 이 SVG를 최적화할 수 없습니다.: 일반적인 최적화 실패 시 나타나는 메시지입니다.
  • 먼저 SVG 코드를 붙여넣어 주세요.: 입력창이 비어 있는 상태에서 최적화를 시도할 때 표시됩니다.
  • <svg> 요소를 찾을 수 없습니다.: 입력된 텍스트 내에 유효한 SVG 요소가 존재하지 않을 때 표시됩니다.
  • 이 SVG는 문서 유형(doctype) 또는 사용자 정의 엔티티를 사용하고 있습니다. 최적화하기 전에 이를 제거해 주세요.: 보안상 허용되지 않는 선언이 감지되었을 때 표시됩니다.
  • 이 SVG는 본 도구로 처리하기에 너무 큽니다. {max}자 이하로 입력해 주세요.: 허용된 최대 문자 수를 초과한 대용량 파일 입력 시 표시됩니다.
  • 처리 시간이 너무 오래 걸려 중단되었습니다. 더 작은 SVG로 시도해 주세요.: 최적화 연산 시간이 15초를 초과하여 작업이 강제 중단되었을 때 표시됩니다.

자주 묻는 질문 (FAQ)

Q. 최적화 시 무엇이 제거되나요?
A. 주석, 메타데이터, 에디터 네임스페이스, 불필요한 속성 공백, 사용되지 않는 네임스페이스를 제거하고 색상값을 더 짧은 동등한 형태로 변환합니다. viewBox, ID, 라벨 및 도형의 기하학적 구조는 그대로 유지됩니다.

Q. 모든 SVG 파일을 최적화할 수 있나요?
A. 일반적인 인라인 SVG 코드를 처리할 수 있습니다. 다만 문서 유형(doctype) 선언이나 사용자 정의 엔티티가 포함된 SVG는 파싱 시 보안 문제가 발생할 수 있어 처리가 차단됩니다. 해당 선언을 제거하고 다시 시도해 주세요.

Q. 최적화 후 그래픽 모양이 변할 수 있나요?
A. 본 최적화 도구는 경로(path) 재작성, ID 이름 변경, viewBox 제거 및 정밀도 반올림을 수행하지 않으므로 그래픽이 깨지지 않습니다. 다만 디자인 워크플로우를 위해 주석이나 메타데이터가 꼭 필요한 SVG 파일이라면 원본 복사본을 따로 보관해 두는 것이 좋습니다.

Q. 입력한 SVG 코드가 외부 서버에 저장되나요?
A. 아닙니다. SVG 코드는 브라우저 내에서 직접 최적화됩니다. BroBroGo 서버로 어떠한 데이터도 전송되지 않으므로 안심하고 사용하셔도 됩니다.