Chuyển GIF sang PNG
Lấy một ảnh tĩnh sạch sẽ từ file GIF — giữ nền trong suốt, thoát khỏi giới hạn 256 màu, và không lưu trữ gì cả.
- Không bao giờ lưu trữ
- Không xếp hàng, không phải chờ
- Không cần đăng ký, không watermark
Cách hoạt động
Thêm file GIF
Thả bao nhiêu file .gif tùy thích vào trang.
Chuyển đổi
Khung hình đầu tiên của mỗi file trở thành một ảnh PNG lossless.
Tải xuống
Lưu từng file hoặc dưới dạng file ZIP.
Những gì GIF đã mất, và PNG không thể trả lại
Một file GIF chứa tối đa 256 màu, được chọn thành một bảng màu và tham chiếu theo chỉ số. Chuyển sang PNG sẽ nâng giới hạn đó lên — PNG chứa được mười sáu triệu màu — nhưng chẳng có gì để lấp vào khoảng trống, vì các màu đã bị loại bỏ khi GIF được tạo ra. Một bức ảnh chụp lưu dạng GIF rồi chuyển sang PNG vẫn là ảnh 256 màu trong một định dạng có thể chứa nhiều hơn. Chuyển đổi không thể khôi phục những gì bảng màu đã vứt bỏ, và công cụ nào tuyên bố làm được là đang tự bịa ra pixel.
Điều tương tự áp dụng cho nền trong suốt, và đây mới là chỗ thực sự gây phiền. Độ trong suốt của GIF chỉ có một bit: mỗi pixel hoặc trong suốt hoàn toàn, hoặc đục hoàn toàn, không có mức ở giữa. Vì vậy một logo tròn trong GIF có viền cứng, răng cưa như bậc thang, thường kèm một quầng màu của nền mà nó từng được đặt lên. PNG hỗ trợ 256 mức trong suốt và file sau chuyển đổi sẽ dùng đúng một mức, vì GIF chỉ có chừng đó. Muốn viền mềm hơn thì phải vẽ lại, không phải chuyển đổi.
Hiện tượng dithering giải thích dung lượng file, vốn thường tăng lên. Để giả lập các màu nằm ngoài bảng màu, GIF rải các pixel màu lân cận thành một mẫu bàn cờ nhỏ — và với bộ nén, mẫu đó chính là nhiễu. PNG nén bằng cách dự đoán mỗi pixel từ các pixel xung quanh, cách này rất hiệu quả trên vùng màu phẳng và thất bại với dithering, nên một GIF có dithering có thể cho ra file PNG nặng gấp nhiều lần với cùng các pixel y hệt. Còn đồ họa màu phẳng thì chuyển thành PNG nhẹ hơn, đúng như mong đợi.
Chuyển động không được giữ lại: GIF động được chuyển thành khung hình đầu tiên, vì PNG là định dạng ảnh tĩnh. Đó chính là lý do thực sự khiến GIF vẫn tồn tại đến năm 2026, dù đã ba mươi tám tuổi và kém hơn ở mọi mặt khác.
Khi bạn cần công cụ khác
Nếu GIF là ảnh động thì đây hoàn toàn là phép chuyển đổi sai. Với một đoạn hoạt ảnh ngắn trên trang web, ffmpeg -i in.gif -c:v libvpx-vp9 out.webm hoặc WebP động nhẹ hơn và mượt hơn GIF rất nhiều, và mọi trình duyệt hiện nay đều phát được cả hai. gifsicle --optimize=3 là lựa chọn đúng khi file bắt buộc phải là GIF.
Với một khung hình tĩnh, nên tự hỏi bức ảnh đó là gì. Nếu là ảnh chụp, PNG đang giữ một bản xấp xỉ 256 màu với dung lượng đầy đủ, trong khi JPG sẽ nhẹ hơn mà không mất thêm gì đáng kể. Nếu là đồ họa, pngquant hoặc oxipng -o 4 sẽ thu nhỏ PNG đáng kể, còn lệnh magick in.gif -coalesce out-%d.png của ImageMagick xuất ra mọi khung hình chứ không chỉ khung đầu tiên.
Câu hỏi thường gặp
Tôi nhận được khung hình nào?
Khung đầu tiên. Với GIF ảnh tĩnh (rất phổ biến ở logo và sơ đồ lưu từ những năm 2000), đó là toàn bộ bức ảnh.
Nền trong suốt có được giữ không?
Có — kiểu trong suốt một màu của GIF được chuyển sang PNG trọn vẹn.
Tại sao nên chuyển ảnh GIF tĩnh sang PNG?
GIF bị giới hạn 256 màu và dùng cách nén rất cũ. Với đồ họa, PNG nhẹ hơn, giữ đủ màu, và mọi công cụ thiết kế đều ưu tiên nó.
Tôi có thể trích xuất TẤT CẢ khung hình của ảnh động không?
Hiện chưa làm được ở đây — công cụ này tạo ra một ảnh tĩnh sạch cho mỗi file.
File của tôi có bị lưu lại ở đâu không?
Không — không lưu trữ gì cả, ở bất kỳ bước nào.
Nên biết: GIF động chỉ được chuyển khung hình đầu tiên.
Đặt công cụ này lên website của bạn
Miễn phí cho mọi blog, trang lớp học hay bài viết hướng dẫn. Chỉ cần dán một đoạn mã là khách truy cập có thể dùng ngay trên trang của bạn.
Công cụ ảnh khác
Chuyển JPG sang PNG
PNG lossless từ mọi ảnh JPG, chuyển hàng loạt
Chuyển BMP sang PNG
Ảnh bitmap cũ thành PNG hiện đại, nhẹ
Chuyển PNG sang WEBP
WebP tối ưu cho web, giữ nền trong suốt
Chuyển TIFF sang JPG
Ảnh scan và ảnh studio, dễ chia sẻ
Chuyển SVG sang PNG
Từ vector sang pixel, ở mọi kích thước
Chuyển PNG sang JPG
Thu nhỏ PNG thành JPG, tự chọn màu nền