- SVG 벡터 파일의 불필요한 정보를 자동으로 제거하는 Node.js 기반 라이브러리이자 CLI 툴
- 벡터 에디터에서 저장된 SVG 파일에 포함된 메타데이터, 주석, 숨김 요소, 기본값 등 렌더링에 영향 없는 부분을 삭제/변환하여 파일 용량을 줄임
-
명령어/스크립트/라이브러리 등 다양한 방식으로 사용 가능
-
단일 파일 처리: svgo one.svg two.svg -o one.min.svg two.min.svg
-
폴더 전체 재귀 처리: svgo -rf path/to/directory_with_svgs -o path/to/output_directory
-
플러그인 구조로 동작하고, 직접 플러그인을 추가하거나 세부 동작을 커스터마이즈 가능함
- 33개의 플러그인이 preset-default에 포함되어 있으며, 순서대로 동작함
- removeDoctype, cleanupAttrs, inlineStyles, removeUselessStrokeAndFill, convertPathData, mergePaths 등으로 직관적인 이름이 붙어 있음
-
svgo.config.mjs 설정파일을 통해 다수의 플러그인을 활성화/비활성화하고 동작 방식을 세밀하게 제어할 수 있음
- 오픈소스이므로 Node.js 프로젝트에 내장하거나 자동화 파이프라인 등에서 자유롭게 활용 가능