Nén định dạng SVG
Một tệp SVG được xuất từ Figma, Illustrator hoặc Sketch thường chứa lượng mã định dạng nhiều hơn nhu cầu từ 2 đến 5 lần: không gian tên của trình soạn thảo, chú thích, các nhóm trống, các phép biến đổi dư thừa và tọa độ có đến 6 chữ số thập phân. Công cụ này xử lý tệp SVG thông qua quy trình xử lý theo kiểu SVGO, loại bỏ các yếu tố không cần thiết mà vẫn đảm bảo hình ảnh hiển thị hoàn toàn giống hệt về từng điểm ảnh.
Cách nén tệp SVG
-
1
Dán hoặc tải file SVG của bạn lên
Hãy nhập văn bản XML thô hoặc tệp tin có định dạng .svg.
-
2
Chọn mức tối ưu hóa
An toàn (xóa chú thích và siêu dữ liệu của trình chỉnh sửa), mạnh (gộp nhóm, làm tròn tọa độ, hợp nhất đường dẫn) hoặc tùy chỉnh.
-
3
Xem lại sự khác biệt
So sánh số lượng ký tự trước và sau, đồng thời xem trước kết quả hiển thị để đảm bảo không có sự thay đổi về mặt hình ảnh.
-
4
Sao chép hoặc tải xuống
Dán trực tiếp file SVG đã được tối ưu hóa vào mã nguồn của bạn, hoặc lưu dưới dạng tệp tin.
Những yếu tố làm tăng kích thước file SVG
Mở tệp SVG được xuất từ Figma trong trình soạn thảo văn bản, bạn thường sẽ thấy:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="..."
xmlns:sketch="..." width="24.000000" height="24.000000"
viewBox="0 0 24.000000 24.000000" ...>
<!-- Generator: Figma ... -->
<title>icon</title>
<desc>Created with Figma</desc>
<g id="Page-1" stroke="none" fill="none" fill-rule="evenodd">
<g id="icon" transform="translate(0.000000, 0.000000)">
<path d="M12.000000,2.000000 L..." fill="#000000"/>
</g>
</g>
</svg>
Gần như mọi dòng đều có thể xóa được. Kết quả hiển thị chỉ cần svg, viewBox và path.
Những gì bộ tối ưu hóa loại bỏ
| Mục bị xóa | Vì sao an toàn |
|---|---|
| Chú thích XML | Không bao giờ được hiển thị |
| Không gian tên của trình chỉnh sửa (sketch, figma) | Trình duyệt không dùng đến |
<title> / <desc> (tùy chọn) |
Văn bản phục vụ trợ năng, giữ lại nếu có ý nghĩa |
Nhóm <g> trống |
Không có hiệu ứng hình ảnh |
| Giá trị thuộc tính mặc định | Trình duyệt vốn đã dùng giá trị mặc định |
| Phép biến đổi đồng nhất | translate(0,0) không làm gì cả |
| Số thập phân của tọa độ | 3 chữ số thập phân trông giống hệt nhau trên màn hình |
| ID không dùng đến | Chỉ giữ lại ID được tham chiếu ở nơi khác |
Những điểm cần lưu ý
- Đừng xóa các ID được tham chiếu bởi CSS hoặc
url(#...)trong phần tô màu (fill), mặt nạ và bộ lọc. Chế độ mạnh có thể làm hỏng gradient. - Hãy giữ
viewBox. Nếu không, SVG sẽ không co giãn linh hoạt (responsive) được. - Hãy giữ
<title>nếu bạn dựa vào nó cho trợ năng (trình đọc màn hình sẽ đọc nó). - Tránh gộp (collapse) các thực thể
<use>. Bộ tối ưu hóa có thể nội tuyến chúng và làm mất đi mẫu gốc là nguồn tham chiếu duy nhất.
Khi nào nén thực sự tiết kiệm được byte
SVG là văn bản, nghĩa là gzip trên máy chủ đã loại bỏ phần lớn sự dư thừa. Một tệp SVG giảm từ 4 KB xuống 1 KB khi chưa nén có thể chỉ giảm từ 1,2 KB xuống 0,7 KB khi truyền qua mạng. Dù vậy vẫn rất đáng làm, và tệp nguồn nhỏ hơn cũng dễ đọc hơn.
Câu hỏi thường gặp
Chế độ an toàn thì không. Chế độ mạnh có thể xóa các ID được tham chiếu bởi hoạt ảnh CSS hoặc SMIL; nếu SVG của bạn có hoạt ảnh, hãy dùng chế độ an toàn hoặc tự thêm các ID đó vào danh sách cho phép.
Các tệp xuất từ Figma/Illustrator thường giảm từ 50 đến 80%. SVG viết tay vốn đã gọn nhẹ và thường chỉ giảm khoảng 10-20%.
Theo mặc định là có, các thuộc tính <title>, <desc> và aria-* sẽ được giữ nguyên. Bạn có thể loại bỏ chúng nếu file SVG chỉ mang tính trang trí và phần mã HTML xung quanh đã cung cấp nhãn cần thiết.
Có. Thuộc tính xmlns được giữ lại vì nó bắt buộc phải có khi dán SVG trực tiếp vào HTML. SVG nội tuyến thường là cách phân phối nhanh nhất cho các biểu tượng nhỏ.
Công cụ liên quan
Bộ chọn màu Material Design
Duyệt bảng màu Material Design. Sao chép bất kỳ sắc độ nào (từ 50 đến A700) dưới dạng HEX, RGB hoặc HSL chỉ với một thao tác chạm.
Công cụ tăng độ phân giải ảnh
Phóng to ảnh độ phân giải thấp lên 2×, 3× hoặc 4× bằng siêu phân giải AI hoặc nội suy cổ điển, đồng thời giữ các chi tiết quan trọng.
Trình thay đổi kích thước ảnh hàng loạt
Kéo thả nhiều ảnh, căn vừa hoặc kéo giãn theo kích thước mục tiêu, rồi xuất JPG, PNG hoặc WebP trong một file ZIP. Mọi xử lý ở lại trong trình duyệt.
Trình tạo chữ graffiti
Tạo chữ graffiti theo kiểu tag, bong bóng, khối, stencil, neon và wild. Chỉnh màu rồi xuất PNG hoặc SVG ngay trong trình duyệt.
Trình tạo thẻ tên
Tạo tối đa 60 thẻ tên có thể in từ danh sách Tên | dòng thứ hai. Chọn 8 thẻ hoặc 15 nhãn trên mỗi trang A4 hay US Letter rồi in ngay trên thiết bị của bạn.
Nén GIF
Giảm kích thước GIF động trong trình duyệt bằng cách thu nhỏ kích thước, giữ ít khung hình hơn và chỉnh chất lượng mã hóa. Xem trước vòng lặp trước khi tải xuống.