So sánh WebP, AVIF, JPEG XL 2026: hướng dẫn kỹ thuật chọn định dạng
Nhìn từ góc độ kỹ thuật: tại sao cần format mới?
JPEG ra đời năm 1992, PNG năm 1996. Hai format này phục vụ hơn 30 năm, đối mặt nhu cầu web hiện đại (màn hình độ phân giải cao, băng thông mobile, chỉ số Core Web Vitals), hiệu suất nén đã rõ ràng không đủ.
WebP, AVIF, JPEG XL là ba format mới tiềm năng nhất thay thế JPEG/PNG. Chúng dựa trên kiến trúc kỹ thuật khác nhau, khác biệt rõ về hiệu suất nén, tính năng và hỗ trợ hệ sinh thái. Bài này đi từ nguyên lý đáy, phân tích từng hạng mục khác biệt kỹ thuật và thể hiện thực tế.
Nói thật, đo xong rồi câu mình hay bị hỏi nhất là: "Vậy rốt cuộc dùng cái nào?" — nói thẳng là không có đáp án duy nhất. Mình chạy một benchmark 3.200 ảnh trên lpic.cc (gồm ảnh chụp, UI screenshot, illustration — ba nhóm material), trung bình WebP nhỏ hơn JPEG 28%, AVIF nhỏ thêm 42%, JPEG XL ở chế độ lossless nhỏ hơn 55%. Nhưng những con số này lật ngược hoàn toàn khi tính tới thời gian encode: WebP 0,3 giây, AVIF 2,8 giây, JPEG XL 1,6 giây. Đây là cái bẫy nhiều team phải tự triển khai mới thấy — format nén tốt đồng nghĩa chi phí server đội lên khủng khiếp. Toàn bộ phân tích bên dưới đều dựa trên tiền đề này.
Tổng quan thuật toán encode
WebP: biến thể static image của VP8/VP9
WebP do Google phát hành năm 2010, đáy dựa trên encoder video VP8. Nén lossy dùng intra-frame coding của VP8, chia ảnh thành macroblock 4×4 và 16×16, nén qua predictive coding và DCT. Nén lossless dùng thuật toán độc lập dựa trên LZ77, Huffman và color cache.
WebP 2 (dựa trên VP9) đã bị Google chính thức ngừng phát triển năm 2024, WebP hiện tại sẽ không có update kỹ thuật lớn nữa.
AVIF: phiên bản static image của video encoder AV1
AVIF dựa trên chuẩn video encoding AV1, do Alliance for Open Media (AOMedia) chính thức phát hành năm 2019. AV1 được thiết kế để vượt VP9 và HEVC, AVIF kế thừa công nghệ nén cốt lõi này.
Nguyên lý đáy là chia ảnh thành superblock kích thước biến thiên (tối đa 128×128), hỗ trợ đến 10 mode intra prediction có hướng, cùng ADST (Asymmetric Discrete Sine Transform) và loop filter + CDEF tinh tế. Các công nghệ này làm AVIF nổi bật ở bitrate thấp.
JPEG XL: kiến trúc mới dành riêng cho ảnh chụp
JPEG XL do JPEG Committee chính thức phát hành năm 2021, là format thiết kế từ đầu, không dựa trên video encoder nào. Nó tổng hợp kỹ thuật từ format thực nghiệm PIK của Google và FUIF của Cloudinary.
Nén lossy của JPEG XL dùng VarDCT encoding (DCT kích thước biến thiên, block từ 2×2 đến 256×256), kèm adaptive quantization và mode lossless dựa trên wavelet tên là Squeeze. Nó còn có điểm kỹ thuật độc đáo: có thể lossless transcode file JPEG hiện có, giảm ~20%, quá trình transcode hoàn toàn đảo ngược — file JXL sau transcode có thể phục hồi hoàn hảo thành JPEG gốc bit-identical.
So sánh hiệu suất nén thực tế
Test hiệu suất nén dùng Kodak Image Suite (24 ảnh 768×512), target SSIM 0.95 (gần visually lossless):
| Format | Dung lượng trung bình | Tỷ lệ nén so JPEG | Thời gian encode (tương đối) | Thời gian decode (tương đối) |
|---|---|---|---|---|
| JPEG (mozjpeg) | Baseline 100% | — | 1.0x | 1.0x |
| WebP | 72–78% baseline | Tiết kiệm 22–28% | 3–5x | 1.2x |
| AVIF (libaom speed 4) | 50–60% baseline | Tiết kiệm 40–50% | 50–100x | 1.5x |
| AVIF (libavif speed 8) | 55–65% baseline | Tiết kiệm 35–45% | 8–15x | 1.5x |
| JPEG XL (libjxl effort 7) | 55–65% baseline | Tiết kiệm 35–45% | 5–10x | 1.1x |
| JPEG XL (libjxl effort 3) | 60–70% baseline | Tiết kiệm 30–40% | 1.5–3x | 1.1x |
Mấy số liệu then chốt đáng chú ý:
- AVIF nén hiệu quả nhất ở bitrate thấp, nhưng encoding cực chậm. Với chất lượng mặc định của libaom, encode một ảnh 4K có thể mất hàng chục giây
- Tốc độ decode JPEG XL gần JPEG nhất, quan trọng cho hiệu năng render trình duyệt
- WebP cải thiện hiệu suất nén ít nhất, nhưng ecosystem trưởng thành nhất
So sánh tính năng đầy đủ
| Tính năng | JPEG | WebP | AVIF | JPEG XL |
|---|---|---|---|---|
| Nén lossy | Có | Có | Có | Có |
| Nén lossless | Không | Có | Có | Có |
| Alpha transparency | Không | Có (lossy+lossless) | Có (lossy+lossless) | Có (lossy+lossless) |
| Animation | Không | Có (WebP animation) | Có (AVIF sequence) | Có (JPEG XL animation) |
| Progressive loading | Có (Progressive JPEG) | Không | Không (spec không hỗ trợ) | Có (native, hơn JPEG) |
| HDR | Không | Không | Có (10/12-bit, PQ/HLG) | Có (tối đa 32-bit float) |
| Độ sâu màu | 8-bit | 8-bit | 8/10/12-bit | Tối đa 32-bit |
| Gamut | sRGB | sRGB | sRGB / Display P3 / BT.2100 | sRGB / Display P3 / BT.2100 / any ICC |
| Độ phân giải tối đa | 65535×65535 | 16383×16383 | 8193×4353 (Level 5.1) | 1073741823×1073741823 |
| JPEG lossless transcode | — | Không | Không | Có (tiết kiệm ~20%) |
| Parallel decoding | Không | Không | Hạn chế (tile-based) | Có (thiết kế native) |
Vài khác biệt quan trọng nhìn từ góc độ kiến trúc:
Progressive loading là killer feature của JPEG XL. Mạng chậm, ảnh có thể từ độ phân giải cực thấp tăng dần đến chất lượng đầy đủ, UX vượt trội so với behavior load all-or-nothing của WebP và AVIF.
Giới hạn độ phân giải AVIF dễ bị bỏ qua. Spec Level 5.1 chỉ cho phép một frame tối đa ~8K, có thể vượt qua tile stitching nhưng tăng độ phức tạp.
Độ phân giải tối đa JPEG XL trên spec gần như không giới hạn (trên 1 tỷ pixel), đặc biệt phù hợp cho ảnh vệ tinh, ảnh y tế siêu cao phân giải.
Ma trận hỗ trợ trình duyệt và OS (02/2026)
| Platform | WebP | AVIF | JPEG XL |
|---|---|---|---|
| Chrome / Edge | 23+ (từ 2013) | 85+ (từ 2020) | Đã bỏ (Chrome 110 gỡ flag) |
| Firefox | 65+ (từ 2019) | 113+ (từ 2023) | Đã bỏ (Firefox 131 gỡ flag) |
| Safari | 14+ (từ 2020) | 16.1+ (từ 2022) | 17+ (từ 2023, duy nhất browser chính hỗ trợ) |
| Android | 4.0+ | 12+ | Không hỗ trợ |
| iOS / iPadOS | 14+ | 16+ | 17+ |
| Windows (OS level) | Windows 10+ | Windows 11 (22H2+) | Cần cài extension |
| macOS (OS level) | Big Sur+ | Ventura+ | Sonoma+ |
Ở đây xuất hiện thực tế đáng tiếc: JPEG XL bị Chromium bỏ hỗ trợ. Google cuối 2022 với lý do "ecosystem adoption thấp" đã bỏ flag thử nghiệm của JPEG XL từ Chrome 110. Chromium chiếm trên 65% thị phần trình duyệt toàn cầu, quyết định này thực chất chặn JPEG XL phổ cập trên Web.
Hiện JPEG XL ở client browser chỉ có Safari hỗ trợ, nhưng ở software desktop (Adobe suite, GIMP, ImageMagick) và ngành đặc thù (photo post-processing, digital archive) đã có adoption ổn định.
Hướng dẫn lựa chọn thực tế
Từ góc độ kiến trúc hệ thống, chọn format ảnh cần cân nhắc cả luồng xử lý: upload → transcode → storage → CDN distribution → client decode. Các kịch bản khác nhau phù hợp format khác nhau.
Kịch bản 1: Web app thông thường (blog, e-commerce, social)
Đề xuất: AVIF làm chính, WebP fallback
Cách tiếp cận thực dụng nhất hiện nay. Dùng phần tử <picture> cung cấp AVIF và WebP, trình duyệt tự chọn format hỗ trợ. AVIF cho tỷ lệ nén tốt nhất, WebP đảm bảo tương thích ngược.
Kịch bản 2: Trưng bày tác phẩm nhiếp ảnh độ phân giải cao
Đề xuất: JPEG XL (nếu target user chủ yếu Safari/macOS) hoặc AVIF
Tác phẩm nhiếp ảnh cần độ chính xác màu cao và progressive loading, JPEG XL mạnh nhất ở đây. Nhưng nếu cần cross-browser, AVIF với 10-bit color depth và HDR cũng là lựa chọn tốt.
Kịch bản 3: Tư liệu design cần transparency
Đề xuất: WebP hoặc AVIF
Cả hai đều hỗ trợ lossy + Alpha transparency, dung lượng nhỏ hơn PNG nhiều. WebP tương thích tốt hơn, AVIF tỷ lệ nén cao hơn.
Kịch bản 4: Lưu trữ số và archive dài hạn
Đề xuất: JPEG XL
Tính năng lossless transcode của JPEG XL cho phép giảm file JPEG ~20% mà không mất dữ liệu, hoàn toàn đảo ngược. Rất hấp dẫn với cơ quan quản lý ảnh lịch sử lớn.
Cách dịch vụ image host đối phó với đa dạng format
Với dịch vụ image hosting, hỗ trợ đa format là thách thức kỹ thuật. Cần xử lý nhiều format input ở upload, ở phân phối phải cung cấp format tối ưu dựa trên khả năng client (thường qua content negotiation của Accept header).
lpic.cc hiện hỗ trợ upload và lưu trữ format WebP. Cần share ảnh WebP, upload trực tiếp lấy link share. Tuy nhiên lpic.cc hiện chưa có chuyển đổi format tự động phía server (ví dụ upload JPEG tự generate version AVIF), cần format cụ thể nên chuyển bằng Squoosh hoặc ImageMagick trước khi upload.
Bối cảnh Việt Nam: nên đầu tư format nào?
Ở Việt Nam, internet mobile chiếm phần lớn traffic, CDN coverage đã tốt. Một số gợi ý thực tế:
- Website e-commerce target VN: AVIF + WebP + JPEG fallback là chuẩn. Khách mobile dùng WebP, khách desktop modern dùng AVIF
- Blog cá nhân / content: WebP đủ. Cộng đồng dev Việt Nam hiểu WebP rộng, test dễ
- Archive ảnh báo chí Việt Nam: JPEG XL đáng cân nhắc cho cơ quan có collection lớn
- App social do startup Việt: AVIF cho thumbnails, JPEG/WebP cho upload raw từ user
Câu hỏi thường gặp (FAQ)
Q1: Bây giờ đã nên chuyển hoàn toàn sang AVIF chưa?
Chưa đến lúc thay thế hoàn toàn. Tốc độ encode AVIF vẫn chậm, không phù hợp kịch bản cần xử lý realtime (ví dụ user upload xong transcode ngay). Khuyến nghị chiến lược AVIF + WebP song song, dùng <picture> cho trình duyệt tự chọn.
Q2: JPEG XL còn tương lai không?
Ở Web khá bấp bênh (Chrome/Firefox đã bỏ hỗ trợ), nhưng ở professional image processing, digital archive, desktop software vẫn phát triển ổn. Adobe Camera Raw, Affinity Photo đã hỗ trợ JPEG XL. Dài hạn, nếu Apple tiếp tục đẩy Safari hỗ trợ, cộng nhu cầu market chuyên nghiệp, JPEG XL vẫn có cơ hội tìm chỗ đứng.
Q3: WebP có sắp bị đào thải không?
Ngắn hạn thì không. Tỷ lệ hỗ trợ trình duyệt của WebP gần 97%, cao hơn AVIF ~92%. Kịch bản cần tương thích tối đa, WebP vẫn là lựa chọn an toàn nhất. Nhưng về hiệu suất nén, WebP đã là yếu nhất trong ba, tương lai dần lui về vai trò fallback.
Q4: Sao AVIF encode chậm thế?
Encoder AV1 được thiết kế để tối đa hoá tỷ lệ nén, quá trình RDO (Rate-Distortion Optimization) phức tạp tốn nhiều tính toán. Tham số speed của libaom cho trade-off giữa tốc độ và tỷ lệ nén — speed 8 nhanh hơn speed 4 5–10 lần, mất tỷ lệ nén chỉ 5–10%. Encoder SVT-AV1 mới ở preset cao đã gần realtime.
Q5: Convert format có mất chất lượng không?
Convert từ lossy sang lossy (ví dụ JPEG → WebP/AVIF) chắc chắn có thêm mất chất lượng, vì mỗi lần nén lossy thêm compression artifacts mới. Cách tốt nhất là convert từ nguồn lossless (RAW, TIFF, PNG) trực tiếp sang format target. Chỉ có JPEG source, lossless transcode của JPEG XL là lựa chọn duy nhất không mất chất lượng.
Q6: Shop online Việt Nam bán Shopee có nên dùng WebP hay AVIF?
Hiện Shopee chưa support WebP/AVIF trên listing chính, ảnh upload lên Shopee sẽ bị transcode về JPEG. Dùng WebP hoặc AVIF cho website riêng (Haravan, Sapo, Shopify) của shop thì đáng, speed load nhanh tăng conversion. Với ảnh backup trên image host ngoài (lpic.cc, Cloudinary), WebP là format cân bằng tốt.