PNG mang tiếng xấu là khổng lồ, và điều đó xứng đáng — một biểu tượng đơn lẻ không hiểu sao có thể nặng hơn cả một bức ảnh đầy đủ. Tin tốt là phần lớn cái phình đó là lãng phí, và bạn có thể lột bỏ nó trong khi giữ các cạnh sắc nét và cái nền trong suốt mà ngay từ đầu bạn cần PNG.
Vì sao PNG lại lớn đến vậy

PNG là một định dạng không mất mát. Không như JPEG, nó không vứt bỏ gì cả — nó lưu mỗi pixel chính xác. Điều đó hoàn hảo cho logo sắc, biểu tượng, và ảnh chụp giao diện, nhưng nó nghĩa là file phải mô tả rất nhiều dữ liệu một cách trung thực.
Kẻ giết người thật sự là độ sâu màu. Một PNG tiêu chuẩn có thể lưu tới 16 triệu màu (24-bit), cộng một kênh trong suốt đầy đủ. Nhưng logo của bạn có lẽ dùng một chục màu. Bộ biểu tượng của bạn, có lẽ năm mươi. Toàn bộ dung lượng màu không dùng đến đó vẫn tốn byte để giữ sẵn. Bạn đang trả tiền cho một khung vẽ 16 triệu màu để vẽ một bức tranh cần hai mươi.
Có một cái bẫy thứ hai: người ta lưu ảnh chụp dưới dạng PNG. Một bức ảnh thực sự dùng hàng triệu màu và các gradient tinh tế, nên PNG không thể nén nó tốt — file rốt cuộc lớn gấp năm đến mười lần cùng bức ảnh đó dưới dạng JPEG hay WebP. Nếu "vấn đề PNG" của bạn thực chất là một bức ảnh, cách chữa là chuyển đổi nó, không phải nén nó.
Lượng tử hóa: cách chữa mà vẫn giữ độ trong suốt

Với PNG thật — màu phẳng, cạnh sắc, độ trong suốt — nước đi thắng lợi là lượng tử hóa màu. Thay vì lưu hàng triệu màu khả dĩ, ảnh được giảm xuống một bảng màu 256 màu được chọn cẩn thận. Vì ảnh của bạn dù sao cũng chưa bao giờ dùng hơn một phần nhỏ của con số đó, kết quả trông y hệt trong khi file giảm 60–80%.
Phần người ta lo lắng: điều này có phá hủy nền trong suốt không? Không. Lượng tử hóa giảm bảng màu, nhưng kênh trong suốt (alpha) được giữ nguyên. Logo của bạn vẫn rơi gọn xuống bất kỳ nền nào — không ô trắng, không viền xám. Đây chính là kỹ thuật mà các trình tối ưu PNG kiểu "tinify" nổi tiếng dùng, và đó là lý do chúng có thể thu nhỏ PNG trong suốt mạnh đến vậy.
Công cụ Nén ảnh của IMG.DIY áp dụng lượng tử hóa 256 màu cho PNG một cách tự động. Bạn không chọn một con số chất lượng — không có thanh chất lượng cho một định dạng không mất mát — bạn chỉ thả file vào và nhận một PNG nhỏ hơn nhiều với độ trong suốt nguyên vẹn.
Danh sách kiểm tra nhanh cho PNG trong suốt
- Xác nhận đó thực sự là đồ họa, không phải ảnh chụp. Logo, biểu tượng, minh họa, và ảnh chụp giao diện → nén dưới dạng PNG. Ảnh chụp → chuyển sang WebP (cũng hỗ trợ độ trong suốt) hoặc JPEG (thì không).
- Cắt bớt kích thước quá khổ. Một biểu tượng 2000px hiển thị ở 200px là gấp 100 lần số pixel nó cần. Giới hạn chiều rộng trước — công cụ nén có một tùy chọn giới hạn chiều rộng.
- Lượng tử hóa. Để việc giảm còn 256 màu gánh phần nặng. Độ trong suốt sống sót.
- Kiểm tra các cạnh. Mở ở 100% và kiểm tra các cạnh alpha trên một nền rối để xác nhận chúng sạch.
Xử lý theo lô, giữ nó riêng tư
Nếu bạn có cả một bộ biểu tượng hay một thư mục đồ họa đã xuất, bạn không phải làm từng cái một. Công cụ nén xử lý các lô và trả về một ZIP, và nó không bao giờ xuất ra một file lớn hơn bản gốc — nên một thư mục các PNG vốn đã gọn sẽ không vô tình phình lên.
Mọi thứ chạy hoàn toàn trong trình duyệt của bạn với Canvas và WebAssembly. PNG của bạn không bao giờ được tải lên đâu cả, và sau lần truy cập đầu tiên công cụ được lưu cache và hoạt động offline. Nén tài sản thương hiệu của một khách hàng trên một chuyến tàu không sóng và không gì rời khỏi laptop của bạn.
Điều rút ra: PNG lớn vì chúng tích trữ dung lượng màu bạn không dùng. Lượng tử hóa xuống 256 màu, giữ độ trong suốt, và ngắm file thu nhỏ mà không thay đổi nhìn thấy được.
