JPG, PNG, WebP hay AVIF
Bốn định dạng này lưu cùng một bức ảnh theo những cách khác nhau, và chính điều đó quyết định dung lượng tệp, độ sắc nét, độ trong suốt cũng như nơi tệp có thể mở được. Hướng dẫn này so sánh chúng, trình bày một phép thử có số đo cụ thể và giải thích kiểu chuyển đổi nào có ích, kiểu nào chỉ làm tệp lớn hơn.
So sánh bốn định dạng
| Đặc điểm | JPG | PNG | WebP | AVIF |
|---|---|---|---|---|
| Nén | Mất dữ liệu | Không mất dữ liệu | Mất dữ liệu hoặc không mất dữ liệu | Mất dữ liệu hoặc không mất dữ liệu |
| Độ trong suốt | Không | Có | Có, ở cả hai chế độ | Có |
| Ảnh động | Không | Chỉ ở dạng APNG | Có | Có |
| Độ sâu màu | Trên thực tế là 8 bit mỗi kênh | 8 hoặc 16 bit mỗi kênh, hoặc bảng màu tối đa 256 màu | 8 bit mỗi kênh | 8, 10 hoặc 12 bit mỗi kênh; có thể lưu HDR |
| Mở được trong | Hầu hết mọi phần mềm | Hầu hết mọi phần mềm | Các trình duyệt hiện hành và nhiều chương trình khác, nhưng không phải tất cả | Các trình duyệt hiện hành; ít được trình chỉnh sửa ảnh, biểu mẫu tải lên và hệ thống cũ hỗ trợ hơn |
Thế mạnh của từng định dạng
JPG lưu chi tiết nhỏ theo từng khối 8 × 8 pixel với độ chính xác giảm bớt, và thường lưu màu ở độ phân giải thấp hơn độ sáng. Ảnh chụp che giấu điều này khá tốt, còn chữ và các cạnh sắc thì bị quầng nhiễu. Mỗi lần chỉnh sửa rồi lưu lại, tệp JPG được mã hóa lại và thường mất thêm một ít chi tiết. Ý nghĩa của thông số chất lượng được giải thích trong Giải thích các thiết lập nén ảnh.
PNG không mất dữ liệu và nén bằng cách tìm những mẫu lặp lại hoặc dễ dự đoán, nên ảnh chụp màn hình, biểu đồ và logo có dung lượng nhỏ, còn ảnh chụp thì không. Một ảnh 12 megapixel chứa 36 triệu byte giá trị màu (4.000 × 3.000 pixel × 3 byte); nhiễu của máy ảnh hầu như không lặp lại, nên bản PNG của ảnh đó thường lớn gấp nhiều lần một bản JPG tốt.
WebP có chế độ mất dữ liệu và chế độ không mất dữ liệu, cả hai đều hỗ trợ độ trong suốt. WebP mất dữ liệu lưu màu ở một nửa chiều rộng và một nửa chiều cao, nên các đường mảnh có màu và chữ màu đỏ có thể trông nhòe. Mỗi chiều của ảnh WebP không được vượt quá 16.383 pixel, vì vậy định dạng này không dùng được cho ảnh chụp màn hình rất dài; định dạng JPG cho phép tới 65.535 pixel.
AVIF bắt nguồn từ codec video AV1. Với ảnh chụp, đây thường là định dạng hiệu quả nhất trong bốn định dạng, nhất là ở mức chất lượng thấp, và nó có thể lưu màu 10 hoặc 12 bit cùng HDR. Việc mã hóa thường chậm hơn, và mức hỗ trợ bên ngoài trình duyệt vẫn còn kém WebP.
Ví dụ có số đo: một ảnh chụp màn hình, sáu tệp
Chúng tôi dùng chương trình vẽ một ảnh chụp màn hình bảng điều khiển (dashboard) kích thước 1280 × 800 (màu phẳng, chữ, một biểu đồ cột) rồi lưu bằng Python Pillow 12.3 (libjpeg-turbo 3.1, libwebp 1.6, libavif 1.4) ở chất lượng 92 với những định dạng có thông số chất lượng, tương ứng với giá trị cố định 0,92 mà công cụ chuyển đổi của LeedyBox truyền cho trình duyệt. Với WebP không mất dữ liệu, chúng tôi dùng thiết lập chậm nhất nhưng nén mạnh nhất. Đây chỉ là một ảnh thử tự tạo: bộ mã hóa của trình duyệt dùng thiết lập khác nên sẽ cho số liệu khác, và ảnh chụp cũng cho kết quả khác. 1 KB = 1.024 byte.
| Lưu dưới dạng | Dung lượng tệp | So với PNG |
|---|---|---|
| PNG (không mất dữ liệu, đã tối ưu) | 53,8 KB | Mốc so sánh |
| JPG, chất lượng 92 | 122,6 KB | Lớn gấp 2,3 lần |
| WebP mất dữ liệu, chất lượng 92 | 51,8 KB | Nhỏ hơn khoảng 4% |
| WebP không mất dữ liệu | 19,9 KB | Nhỏ hơn khoảng 63% |
| AVIF, chất lượng 92 | 30,8 KB | Nhỏ hơn khoảng 43% |
| Tệp JPG ở trên, chuyển ngược lại sang PNG | 242,5 KB | Lớn gấp 4,5 lần |
Với đồ họa màu phẳng này, JPG là lựa chọn tệ nhất: tệp lớn hơn gấp đôi và các pixel không còn chính xác. WebP không mất dữ liệu giữ nguyên từng pixel và cho tệp nhỏ nhất, trong khi WebP mất dữ liệu gần như không giảm được gì. Chuyển tệp JPG ngược lại sang PNG không khôi phục được gì: PNG phải lưu chính xác cả các vết nén của JPG và phình to gấp 4,5 lần tệp PNG ban đầu.
Với một logo 512 × 512 trên nền trong suốt, kết quả là: PNG 31,6 KB; WebP mất dữ liệu 18,4 KB và vẫn giữ độ trong suốt; AVIF 16,6 KB; WebP không mất dữ liệu 12,7 KB; còn JPG 25,2 KB nhưng có một ô vuông trắng thay cho vùng trong suốt. Một lần nữa, WebP không mất dữ liệu cho tệp nhỏ nhất và giữ nguyên từng pixel.
Chuyển đổi làm được gì và không làm được gì
- Chuyển đổi không khôi phục chi tiết. Một tệp JPG lưu thành PNG vẫn giữ nguyên các vết nén của nó.
- Từ mất dữ liệu sang mất dữ liệu sẽ mất thêm. Chuyển JPG sang WebP hoặc AVIF nghĩa là mã hóa lại cả những vết nén cũ, vì vậy hãy bắt đầu từ bản gốc tốt nhất mà bạn có.
- Độ trong suốt cần một định dạng lưu được nó. JPG không có kênh alpha, nên trình chuyển đổi LeedyBox tô trắng các vùng trong suốt khi lưu sang JPG hoặc BMP, và các viền mềm được trộn với màu trắng đó. Hãy giữ logo và ảnh tách nền ở PNG hoặc WebP.
- Kích thước pixel thường quan trọng hơn. Một ảnh 4.000 × 3.000 hiển thị ở 1.200 × 900 mang 12 triệu pixel trong khi chỉ cần 1,08 triệu, nhiều gấp khoảng 11 lần. Ngay cả màn hình có mật độ điểm ảnh gấp đôi cũng chỉ dùng 2.400 × 1.800, tức 4,32 triệu pixel. Xem Hướng dẫn đổi kích thước ảnh.
Chuyển đổi bằng công cụ chuyển đổi ảnh của LeedyBox
- Mở công cụ Chuyển đổi ảnh và nhấp vào “Chọn tệp hoặc kéo & thả vào đây”, hoặc thả ảnh vào khung đó. Công cụ nhận PNG, JPG, WebP, BMP, GIF và AVIF, miễn là trình duyệt của bạn mở được tệp.
- Mỗi tệp được liệt kê kèm kích thước pixel và một menu định dạng, ban đầu được đặt là JPG và còn có PNG, WebP, BMP, AVIF và ICO. Hãy đổi định dạng cho từng tệp, hoặc dùng menu “Đặt tất cả định dạng thành...” bên cạnh “Tùy chọn hàng loạt:” để đổi cho mọi tệp cùng lúc. Với ảnh có vùng trong suốt, hãy chọn PNG, WebP hoặc AVIF.
- Nhấp “Chuyển đổi & Tải xuống”. Nếu chỉ có một ảnh, tệp tải về mang tên gốc kèm “_converted”, chẳng hạn holiday_converted.webp; nếu có nhiều ảnh, chúng được gộp trong leedybox_converted_images.zip.
Công cụ giữ nguyên kích thước pixel, trừ ICO: ảnh được thu nhỏ cho vừa trong khung 256 × 256 pixel. Với JPG, WebP và AVIF, công cụ yêu cầu trình duyệt dùng chất lượng 0,92 (trên thang từ 0 đến 1), và không có thiết lập chất lượng. Chrome và Edge tạo WebP mất dữ liệu ở giá trị này; bộ mã hóa của các trình duyệt khác có thể hoạt động khác. JPG và BMP được thêm nền trắng; BMP được lưu không nén ở 24 bit mỗi pixel, nên một ảnh 6.000 × 4.000 sẽ thành 72.000.054 byte. Nhiều trình duyệt không tạo được AVIF; công cụ chuyển đổi kiểm tra điều này ngay khi trang mở ra và, nếu trình duyệt không tạo được, sẽ tắt tùy chọn đó và ghi nhãn “AVIF (trình duyệt không hỗ trợ)”.
Việc chuyển đổi diễn ra trong trình duyệt của bạn, và ảnh không được gửi đến LeedyBox để xử lý. Mỗi ảnh được vẽ lại, nên dữ liệu EXIF, vị trí GPS và các siêu dữ liệu khác không được sao chép sang tệp mới. Để tự chọn mức chất lượng và xem so sánh trước và sau, hãy dùng công cụ Nén ảnh (JPG, WebP hoặc PNG, với thanh trượt chất lượng bắt đầu ở 75 hoặc dung lượng mục tiêu); để giảm kích thước pixel, hãy dùng công cụ Đổi kích thước ảnh.
Chọn định dạng theo mục đích
| Mục đích | Nên chọn | Lý do |
|---|---|---|
| Ảnh chụp trên website của riêng bạn | WebP, hoặc AVIF nếu được hỗ trợ; JPG làm bản dự phòng | Thường nhỏ hơn ở chất lượng tương tự |
| Ảnh chụp để gửi email, in hoặc nộp qua biểu mẫu tải lên | JPG | Được chấp nhận gần như ở mọi nơi |
| Ảnh chụp màn hình, biểu đồ hoặc đồ họa nhiều chữ | PNG | Pixel chính xác, chữ sắc nét |
| Logo hoặc ảnh đã tách nền có độ trong suốt | PNG, hoặc WebP cho trang web | JPG không có độ trong suốt |
| Bản làm việc bạn sẽ còn chỉnh sửa tiếp | PNG hoặc bản gốc | Mỗi lần lưu mất dữ liệu lại cộng dồn thêm sai lệch |
Với ảnh trên trang web, xem thêm Chọn định dạng ảnh phù hợp cho web.
Các lỗi thường gặp và cách khắc phục
- Nền trong suốt bị chuyển thành màu trắng. Tệp đầu ra là JPG (định dạng được chọn sẵn) hoặc BMP. Hãy chuyển đổi lại sang PNG, WebP hoặc AVIF.
- Tệp bị lớn hơn. Điều này thường gặp với ảnh chụp hoặc tệp JPG lưu thành PNG, và với BMP vì định dạng này không nén. Hãy dùng JPG hoặc WebP cho ảnh chụp, hoặc giữ tệp gốc.
- Không chọn được AVIF. Trình duyệt của bạn không tạo được AVIF. Hãy chọn WebP hoặc thử trình duyệt khác.
- Tệp ZIP có ít tệp hơn số ảnh bạn đã thêm. Khi chuyển sang WebP, logo.png và logo.jpg đều thành logo_converted.webp, và tệp sau ghi đè tệp trước. Hãy đổi tên một trong hai tệp trước.
- Không có tệp nào được tải xuống. Một tệp sẽ chuyển đổi thất bại khi trình duyệt không tạo được định dạng đã chọn: một số trình duyệt không tạo được WebP, và định dạng WebP không cho phép ảnh rộng hoặc cao hơn 16.383 pixel. Ảnh rất lớn cũng có thể vượt quá kích thước canvas mà trình duyệt xử lý được. Khi chuyển đổi hàng loạt, chỉ cần một tệp thất bại là công cụ dừng lại trước khi tạo tệp ZIP. Hãy đổi định dạng của tệp đó hoặc xóa tệp khỏi danh sách.
- Ảnh động trở thành ảnh tĩnh. Chỉ một khung hình, thường là khung hình đầu tiên, được giữ lại.
Cần kiểm tra gì sau khi chuyển đổi
- Xem kết quả ở kích thước thực: chữ, các cạnh, khuôn mặt và vùng chuyển màu.
- So sánh dung lượng tệp; giữ lại tệp gốc nếu tệp mới không nhỏ hơn.
- Kiểm tra ảnh trong suốt trên cả nền sáng lẫn nền tối.
- Thử tệp ở nơi bạn sẽ dùng: một số chương trình email và biểu mẫu tải lên từ chối WebP hoặc AVIF.
Câu hỏi thường gặp
AVIF có tốt hơn WebP không?
Với ảnh chụp, AVIF thường cho tệp nhỏ hơn ở chất lượng nhìn thấy tương tự, nhưng không phải trường hợp nào cũng vậy. Với đồ họa màu phẳng, AVIF có thể thua: trong phép thử ảnh chụp màn hình ở trên, WebP không mất dữ liệu nhỏ hơn AVIF chất lượng 92 mà vẫn giữ nguyên từng pixel. AVIF cũng mã hóa chậm hơn và mở được trong ít chương trình hơn, vì vậy hãy so sánh cả hai tệp khi có thể.
Có nên chuyển ảnh JPG sang WebP không?
Trên website do bạn quản lý, việc này có thể giảm được dung lượng, nhưng đó là một lượt nén mất dữ liệu thứ hai và mức giảm khác nhau tùy ảnh. Hãy chuyển đổi từ bản gốc tốt nhất, so sánh dung lượng và giữ lại các tệp JPG. Với tệp gửi cho người khác, JPG là lựa chọn an toàn hơn.
Chuyển PNG sang WebP bằng LeedyBox có làm giảm chất lượng không?
Thường là có, nhưng chỉ một chút. Công cụ chuyển đổi yêu cầu trình duyệt tạo WebP ở chất lượng 0,92, và Chrome cùng Edge mã hóa yêu cầu này thành WebP mất dữ liệu, nên các cạnh mảnh và chữ màu có thể hơi nhòe đi. Độ trong suốt được giữ lại. Nếu cần một bản sao chính xác của ảnh chụp màn hình hoặc của bản logo gốc, hãy giữ tệp PNG.
Tôi có thể chuyển đổi ảnh HEIC từ iPhone không?
Công cụ chuyển đổi không nhận tệp HEIC mà chỉ nhận PNG, JPG, WebP, BMP, GIF và AVIF. Trên iPhone, khi bạn chọn ảnh từ thư viện Ảnh, Safari thường chuyển cho trang web một bản sao JPG, và bản sao đó có thể chuyển đổi được. Nếu không, hãy xuất ảnh sang JPG trước. iPhone cũng có thể lưu ảnh mới dưới dạng JPG: Cài đặt > Camera > Định dạng > Tương thích nhất.
Tôi có thể lưu ảnh thành GIF không?
Không. Bạn có thể thêm tệp GIF, nhưng menu định dạng đầu ra chỉ có JPG, PNG, WebP, BMP, AVIF và ICO, và ảnh GIF động chỉ giữ lại một khung hình. Với đồ họa tĩnh, PNG là lựa chọn thay thế thường dùng: định dạng này không mất dữ liệu giống GIF và không bị giới hạn trong bảng 256 màu như GIF.