SVG 최적화 (SVGO)
처음 쓸 때 최적화 엔진(약 0.9MB)을 한 번 받아요. 아이콘처럼 CSS·자바스크립트로 ID를 쓰는 SVG라면 ‘ID 유지’를 켜세요.
여러 개 가능 · 아래 칸에 코드를 붙여넣어도 돼요
SVG가 무거운 이유
디자인 프로그램에서 내보낸 SVG에는 화면에 아무 영향이 없는 것들이 많이 들어 있어요. 프로그램 이름이 적힌 주석, 편집용 메타데이터와 레이어 이름, 쓰지 않는 그라데이션 정의, 기본값과 같은 속성(fill-opacity="1"), 120.000000처럼 필요 없이 긴 숫자, 빈 그룹 같은 것들이에요. 이 도구는 개발자들이 가장 많이 쓰는 오픈소스 최적화 도구 SVGO(MIT 라이선스, 버전 3.3)를 브라우저에서 돌려 이런 부분을 지우고 경로 데이터를 더 짧은 표기로 다시 써요. 아이콘·로고는 보통 30~70% 줄어요.
옵션 고르기
- 소수점 자릿수: 좌표를 반올림할 자리예요. 기본 3자리면 눈으로 구별되지 않고, 큰 그림을 1자리로 줄이면 모양이 미세하게 달라질 수 있어 미리보기로 확인하세요.
- viewBox 유지: SVGO 기본 설정은 viewBox를 지우기도 하는데, 그러면 CSS로 크기를 바꿀 때 그림이 잘려요. 그래서 기본으로 켜 두었어요.
- <title> 유지: 화면 읽기 프로그램이 읽는 이름이라 기본으로 남겨요. ID 유지는 CSS·자바스크립트·
<use>로 ID를 참조할 때 켜세요. - width·height 지우기: 크기를 CSS로만 정할 아이콘에 좋아요. viewBox가 있어야 비율이 유지돼요.
확인과 저장
원본과 결과를 나란히 그려 모양이 같은지 바로 비교할 수 있어요. 시험에서는 원본과 결과를 같은 크기로 그려 픽셀을 비교해 차이가 없는지 확인했어요. 여러 파일을 한꺼번에 넣으면 표로 줄어든 크기를 보여 주고 ZIP으로 묶어 저장해요. 파일은 이 브라우저에서만 처리되고 서버로 올라가지 않아요.
참고한 자료
자주 묻는 질문
최적화했더니 모양이 깨졌어요.
소수점 자릿수를 3이나 4로 올리고, 자바스크립트·CSS가 ID를 쓰면 ‘ID 유지’를 켜 보세요. 그래도 다르면 ‘여러 번 반복’을 끄세요.
래스터 이미지(PNG)가 들어 있는 SVG도 줄어드나요?
SVG 안에 넣은 PNG·JPG(data: 주소)는 그대로 둬요. 그런 파일은 이미지 압축 도구로 원본 이미지를 먼저 줄이세요.
압축(gzip)과는 무엇이 다른가요?
최적화는 코드 자체를 짧게 하는 것이고, 웹 서버의 gzip·brotli 압축은 전송할 때 한 번 더 줄이는 것이라 둘을 함께 쓰면 좋아요.
함께 쓰면 좋은 도구
- SVG를 PNG·JPG로 변환 (원하는 크기·배율·배경색, 여러 장)SVG 아이콘·로고·그림을 원하는 가로 크기나 배율(1×~8×)로 선명하게 PNG·JPG·WEBP로, 투명 배경 유지·배경색, 여러 파일 한 번에 ZIP, 붙여 넣은 SVG 코드도
- 코드 정렬기 (JS·TS·CSS·HTML·마크다운·YAML 포맷터)들여쓰기가 엉킨 자바스크립트·타입스크립트·JSX·CSS·SCSS·HTML·Vue·마크다운·YAML·JSON을 Prettier 규칙으로 한 번에 정리
- 파비콘 만들기 (글자·이모지·이미지 → favicon 세트)글자·이모지·로고 이미지로 favicon.ico, 16~512px PNG, 애플 아이콘, 웹 매니페스트를 ZIP으로
- PNG 용량 줄이기 (투명 배경 그대로, 색 수 줄이기·무손실 최적화)투명 배경을 지킨 채 PNG를 60~80% 작게: 색 수 줄이기(256색 이하) + 무손실 최적화, 여러 장 ZIP
- JSON 정리 (보기 좋게 들여쓰기·검증·압축)JSON을 보기 좋게 들여쓰기, 오류 위치 표시, 한 줄 압축, 키 정렬, 문자열 이스케이프
- 정규식 테스트 (정규표현식 매칭 확인)패턴과 플래그로 일치하는 부분을 강조 표시, 그룹 값 표, 바꾸기 미리보기, 자주 쓰는 패턴