웹 아이콘 제작을 위한 SVG 최적 가이드
웹 아이콘은 빠른 로딩과 선명한 화질을 위해 SVG로 제작하는 것이 가장 효율적입니다.
이 글에서는 SVG 아이콘 제작 시 주의할 점, 코드 최적화 방법, 접근성까지 반영한 실전 가이드를 제공합니다.
1. 왜 웹 아이콘에 SVG를 사용할까?
| 항목 | SVG 장점 |
|---|---|
| 해상도 독립 | 크기 확대 시에도 깨지지 않음 |
| 용량 최소화 | 벡터 기반이라 텍스트보다 가벼움 |
| CSS 제어 가능 | 색상, 애니메이션 쉽게 적용 |
| 접근성 개선 | title/desc 태그로 스크린리더 대응 가능 |
| 브라우저 호환 | 모든 최신 브라우저 완벽 지원 |
✅ PNG, JPG 대비 웹 퍼포먼스와 유지보수 면에서 최적
2. SVG 아이콘 디자인 단계 체크리스트
| 단계 | 설명 |
|---|---|
| ① 최소한의 경로 | 불필요한 anchor, path 제거 |
| ② stroke vs fill 구분 | stroke만 사용하면 가벼움 |
| ③ 뷰박스 설정 | viewBox="0 0 24 24" 등 통일 |
| ④ 명확한 레이어 구분 | 아이콘별 그룹(<g>) 활용 |
| ⑤ 아트보드 사이즈 제한 | 24px, 48px 등 규격화된 사이즈 사용 권장 |
3. SVG 코드 최적화 방법
✅ ① 뷰박스와 크기 지정
-
width, height는 px 단위
-
viewBox는 좌표기반 스케일 정의 (반응형 대응)
✅ ② 불필요한 속성 제거
-
style,fill-rule,clip-rule,inkscape,sodipodi등
→ 최종 코드에서는 모두 제거
✅ ③ 최적화 툴 활용
4. 접근성과 SEO까지 고려한 SVG 구성
| 속성 | 설명 |
|---|---|
role="img" | 이미지 역할 명시 |
<title> 태그 | 스크린리더용 설명 제공 |
aria-labelledby | 접근성 도우미 |
검색엔진은 SVG 안의 텍스트 내용을 일부 인식하므로 구조적 마크업이 SEO에도 도움됨
5. 아이콘 재사용성을 높이는 팁
✅ <symbol>로 정의 후 <use>로 호출
-
여러 페이지에서 같은 아이콘 재사용 가능
-
SVG 스프라이트 제작에 유용
6. 자주 묻는 질문 (Q&A)
Q1. SVG는 이미지 최적화 대상인가요?
A. 네. 불필요한 속성과 코드가 많기 때문에 최적화 작업 필수입니다.
Q2. Figma나 Illustrator에서 바로 저장해도 되나요?
A. 저장은 가능하지만, 반드시 SVGOMG나 SVGO로 추가 정리하는 걸 권장합니다.
Q3. React에서 SVG는 어떻게 쓰나요?
A. inline SVG 방식으로 <svg> 태그 그대로 컴포넌트로 쓰거나, react-icons 등 패키지를 활용할 수 있습니다.
7. 웹 아이콘 SVG 제작 요약
| 항목 | 체크 포인트 |
|---|---|
| 디자인 | 아트보드 정리, 24px 기준, 최소 path |
| 코드 | viewBox 설정, 불필요 속성 제거 |
| 접근성 | title + role 속성 적용 |
| 도구 | SVGOMG, SVGO 추천 |
| 활용 | <use> 태그로 재사용 가능 |