Tối Ưu SVG Online Miễn Phí (SVGO)
Upload file .svg có sẵn — chúng tôi chạy SVGO preset-default + multipass, loại metadata Inkscape, gộp path, làm tròn toạ độ. Preview realtime, copy code hoặc tải file .min.svg.
Thấp hơn = file nhẹ hơn nhưng path có thể lệch vài pixel. 3 là mặc định cân bằng.
Về công cụ SVG Optimizer
File SVG được export từ Illustrator, Figma, Inkscape thường chứa nhiều metadata vô dụng: comment, editor namespace, id tự động, toạ độ thập phân 10 chữ số. SVGO (SVG Optimizer) của tác giả Kir Belevich là công cụ tiêu chuẩn để loại bỏ tất cả những thứ đó, giữ nguyên biểu diễn hình.
Chúng tôi dùng SVGO preset-default với multipass enabled: chạy nhiều lượt tối ưu, mỗi lượt áp dụng 30+ plugin khác nhau. Độ chính xác toạ độ có thể điều chỉnh (0-10 chữ số) để cân bằng giữa dung lượng và độ chính xác path. Giữ nguyên viewBox để SVG responsive.
- SVGO preset-default multipass
- Slider độ chính xác số thập phân (0-10)
- Preview SVG trước và sau tối ưu
- Hiển thị so sánh dung lượng / %
- Copy code hoặc tải .min.svg
- Giữ viewBox để responsive
Cách tối ưu file SVG
- 1
Upload file SVG
Kéo thả file .svg vào khung upload. Chấp nhận đến 25MB (rất lớn với SVG).
- 2
Điều chỉnh precision
3 là mặc định. Giảm xuống 1-2 cho icon, tăng lên 5-6 cho ảnh chi tiết cần chính xác tuyệt đối.
- 3
Bấm Tối ưu
SVGO xử lý phía server, thường < 1s. Không tiêu tài nguyên máy bạn.
- 4
Xem so sánh & tải
Hiển thị kích thước trước/sau và % tiết kiệm. Copy code hoặc tải .min.svg.
Khi nào dùng SVG Optimizer?
SVG trước và sau tối ưu SVGO
Ví dụ thực tế trên icon set Figma export 10 icon — số liệu trung bình sau khi chạy SVGO preset-default + multipass.
| Tiêu chí | SVG gốc (Figma/Illustrator) | SVG sau SVGO |
|---|---|---|
| Dung lượng icon trung bình | 8-15 KB | 1-3 KB (giảm 70-85%) |
| Số ký tự coordinate | M12.34567891 2.98765432 | M12.3 3 (precision 1-3) |
| Metadata Inkscape/Adobe | Có <sodipodi:namedview>... | Đã xoá |
| Auto-generated id | id='Path_1234', id='g_567'... | Xoá (nếu không dùng CSS) |
| <g> lồng nhau thừa | Nhiều nested <g> | Gộp — flat structure |
| Duplicate path | Có | Merged (mergePaths plugin) |
| viewBox preserved | - | ✅ (responsive giữ nguyên) |
| Hiển thị trên browser | Không khác | Không khác (pixel-identical) |
SVGO hoạt động thế nào?
SVGO (SVG Optimizer) là thư viện JavaScript của Kir Belevich — công cụ chuẩn tối ưu SVG, được dùng trong GitHub (icon Octicons), VSCode, Iconify, webpack plugin, và hàng chục CI/CD pipeline. Kiến trúc plugin-based với 50+ plugin, mỗi plugin làm 1 transform độc lập.
Preset-default bao gồm 35 plugin core: removeMetadata (xoá Inkscape/AI namespace), convertPathData (làm tròn toạ độ, chuyển relative), mergePaths (gộp path cùng style), convertTransform (gộp transform), collapseGroups (flatten nested <g>), removeEmptyAttrs, removeUselessDefs... Mỗi plugin giảm vài phần trăm, tổng cộng thường 40-70%.
Multipass mode chạy tối ưu lặp lại cho tới khi không giảm được thêm — hữu ích vì 1 số plugin chỉ phát huy khi plugin khác đã chạy trước. Ví dụ: collapseGroups mở khoá mergePaths trên group vừa được flatten. Chúng tôi enable multipass mặc định, precision=3 (làm tròn 0.1 pixel — mắt không phát hiện).
Câu hỏi về SVG Optimizer
SVGO có làm hỏng animation CSS không?
Có hỗ trợ file SVG có <image> base64?
File output khác với gốc về hình không?
Có tối ưu nhiều file cùng lúc không?
Công cụ liên quan
Color Vectorize (VTracer)
Chuyển ảnh PNG/JPG nhiều màu sang SVG thuần với thuật toán VTracer, giữ nguyên tinh tế gradient và chi tiết.
Mono Vectorize (Potrace)
Vector hoá logo, icon, line-art đen trắng với Potrace — đường cong mượt, path sạch, nhẹ tối đa.
Batch Convert
Upload nhiều ảnh cùng lúc, chọn chung một engine (color hoặc mono), tải về ZIP chứa toàn bộ SVG đã chuyển đổi.