AVIF vs WebP khi nào chọn? | So sánh format ảnh web 2026

(Cập nhật: 19 tháng 7, 2026 ) AVIF WebP nén ảnh định dạng ảnh LCP Core Web Vitals picture
Kết luận

AVIF thường nhỏ hơn trên ảnh chụp; WebP thường an toàn hơn cho tốc độ encode, alpha, và A/B trên trình duyệt. Không có format “luôn thắng”. Hero photo nặng → thử AVIF (có fallback). Screenshot UI / chữ → WebP quality cao hoặc lossless trước. Logo → SVG/PNG. Dùng Nén ảnh Kawa để A/B WebP vs JPEG local (tool không xuất AVIF) trước khi gắn pipeline encode AVIF.

Lighthouse báo “Serve images in next-gen formats”. Designer gửi PNG 3MB từ Figma. Dev hỏi: AVIF hay WebP? — và team chọn một format cho mọi asset vì “nghe nói nhỏ hơn”.

Kết quả thường gặp trên landing SME / agency VN: hero đẹp nhưng chữ UI mờ, hoặc CI encode AVIF chậm 10× khiến PR queue tắc. Bài này là so sánh format — khi nào chọn AVIF, khi nào WebP, khi nào giữ JPEG/PNG. Chi tiết slider quality WebP nằm ở WebP quality settings.

Bài viết này giúp bạn

  • Phân biệt AVIF vs WebP theo mục đích (không theo hype)
  • Đọc bảng so sánh: kích thước, hỗ trợ, encode, alpha, animation
  • Quyết định theo 4 class asset: photo / UI / logo / OG
  • Viết <picture> fallback đúng thứ tự
  • Biết giới hạn tool browser và khi nào cần CLI
  • Case study freelance + checklist trước ship

AVIF và WebP khác nhau ở đâu?

Cả hai là next-gen image format: lossy + lossless, hỗ trợ alpha (transparency), mục tiêu thay JPEG/PNG trên web.

Tiêu chíWebPAVIF
Nền tảng codecVP8 / VP8L (Google)AV1 still (AOMedia)
Ảnh chụp @ bitrate thấpTốtThường nhỏ hơn
Screenshot / chữ UIỔn nếu quality caoDễ mềm cạnh nếu nén mạnh
Hỗ trợ trình duyệt (2026)Rất rộngRộng, vẫn cần fallback cho niche
Encode trong browserCanvas/toBlob phổ biếnKhông đồng đều — hay dùng CLI
Tốc độ encodeNhanh hơnChậm hơn (trade-off kích thước)
AnimationCó (thay GIF)Có (AVIF sequence) — toolchain phức tạp hơn

WebP = “đủ tốt, ship nhanh, tooling sẵn”.
AVIF = “ăn thêm vài chục % byte trên photo nếu bạn chịu chi phí encode và fallback”.


Bảng quyết định nhanh

Khi nào chọn format nào
Tình huống Ưu tiên Lý do ngắn
Hero photo / banner lớn AVIF (+ WebP/JPEG fallback) Lợi ích byte rõ trên LCP; đo trước khi ship
Screenshot UI, bảng giá, mock dashboard WebP high-q / lossless Cạnh chữ quan trọng hơn 20KB
Logo, icon flat SVG hoặc PNG/WebP lossless Không lossy nặng — halo dễ lộ
OG / social share card JPEG hoặc PNG Crawler/Facebook/Zalo không luôn thích AVIF
CI chậm / không có sharp-avif WebP Encode nhanh; A/B trên browser được
Audience intranet / WebView cũ WebP + JPEG trong picture Tránh AVIF-only gây ảnh vỡ

Quy tắc một dòng

  1. Photo nặng, LCP → AVIF nếu pipeline sẵn; không thì WebP.
  2. Chữ / UI bitmap → WebP cao hoặc lossless; AVIF chỉ sau khi zoom 100% ổn.
  3. Không đo được → mặc định WebP, đừng nhảy AVIF “vì trend”.

Hỗ trợ trình duyệt và fallback

Năm 2026, Chrome / Edge / Firefox / Safari hiện đại đều decode WebP và hầu hết decode AVIF. Điểm còn lại nằm ở:

  • Android WebView / in-app browser của app bank, chat nội bộ
  • Email HTML và một số CMS upload filter
  • CDN / image proxy cũ không nhận image/avif

Pattern chuẩn:

<picture>
  <source type="image/avif" srcset="hero.avif" />
  <source type="image/webp" srcset="hero.webp" />
  <img src="hero.jpg" alt="Hero landing" width="1200" height="630" />
</picture>

Browser lấy source đầu tiên nó hiểu. Không có AVIF → WebP → JPEG. Đừng chỉ ship .avif và hy vọng.

Với thumb nhỏ (dưới ~30–40KB sau WebP), đôi khi WebP-only + JPEG fallback đủ — chi phí sinh thêm AVIF không đáng.


Encode: điểm team hay bỏ qua

AVIF thắng dung lượng nếu bạn encode được ở quality tương đương cảm nhận. Encode AVIF thường:

  • Chậm hơn WebP rõ rệt trên máy CI shared
  • Cần library (libavif, sharp với plugin, Squoosh CLI…) — không phải lúc nào canvas.toBlob('image/avif') cũng có trên mọi máy designer

WebP:

  • Encode nhanh
  • Nén ảnh Kawa chạy trong trình duyệt, xuất JPEG / WebP / GIF — không upload server, phù hợp screenshot có dữ liệu nhạy cảm của khách
  • Dễ kéo slider quality và so before/after trước khi commit
# Ví dụ tư duy pipeline (CLI — không phải Kawa)
# 1) Resize đúng ~2× CSS width
# 2) WebP q≈80 cho photo → đo KB + mắt
# 3) AVIF cq tương đương → nếu tiết kiệm ≥15–20% và LCP cải thiện → giữ AVIF
# 4) UI shot: ưu tiên WebP q≥88 hoặc lossless trước khi thử AVIF

Không nói dối tooling: Kawa giúp bước (2) cho WebP/JPEG. Bước AVIF thuộc build/CLI của bạn.


Case study 1 — Landing SME (freelance VN)

Bối cảnh: Freelancer nhận landing bất động sản. Hero JPG 2.1MB (4000px). Designer export thêm 8 PNG screenshot UI “tính năng”.

AssetJPEG/PNG gốcWebPAVIF (CLI)Quyết định
Hero photo 1200 CSS px420 KB (đã resize)168 KB @ q80124 KBAVIF + WebP + JPG
Screenshot bảng giá310 KB PNG94 KB @ q9088 KB nhưng chữ hơi mềm @ cq thấpWebP q92
Logo18 KB PNG12 KB losslesskhông cầnSVG (sau)

Bài học: AVIF thắng hero; UI giữ WebP cao. Một format cho tất cả = chữ bảng giá bị ticket từ khách.

Case study 2 — Outsourcing team, CI 12 phút

Team chuyển toàn bộ image sang AVIF trong GitHub Actions. Encode tuần tự trên runner 2-core → job image +7 phút. LCP mobile chỉ cải thiện ~80ms vì hero đã WebP tốt.

Họ rollback: chỉ AVIF cho 3 LCP candidate; còn lại WebP. CI về gần baseline. Format “tốt nhất” không phải format “cho mọi file”.


Lỗi thường gặp

LỗiHệ quảCách tránh
AVIF-only không fallbackẢnh trắng trên niche browserLuôn <picture> + JPEG/PNG
Lossy mạnh trên UIGlyph nhoè, “như cháo”Class riêng: UI ≠ photo
Full-res 4K rồi nénVừa nặng vừa khuyến khích hạ qualityResize ~2× display trước
Re-encode 5 lần qua CDNGeneration lossMaster PNG/JPG → 1 lần encode
Tin “AVIF luôn −50%”Kỳ vọng sai trên UI/logoĐo trên asset dự án

Chi tiết quality slider, lossy vs lossless WebP: WebP quality bao nhiêu?.


Quy trình thực tế với Kawa + pipeline

  1. Mở Nén ảnh — kéo ảnh đã che PII nếu cần
  2. Chọn WebP, chỉnh quality, kéo thanh before/after
  3. So kích thước và cạnh chữ ở viewport thật (không chỉ preview tool)
  4. Nếu photo và WebP vẫn > ngân sách LCP → encode AVIF bằng CLI/build, gắn <picture>
  5. Ghi trong PR: hero → avif+webp+jpg; ui-shot → webp q92

Công cụ Kawa: miễn phí, không đăng ký, xử lý local — phù hợp freelancer gửi bản demo cho khách trước khi gắn CDN production.


Checklist chọn format trước ship

  • Đã phân loại photo / UI / logo / OG
  • Đã resize đúng kích thước hiển thị
  • Photo: so WebP vs AVIF (nếu có CLI); UI: WebP cao trước
  • Có fallback trong <picture> nếu ship AVIF
  • OG card không phụ thuộc AVIF-only
  • CI encode không làm pipeline quá chậm
  • Đã A/B WebP trên image-compress
  • Quyết định format theo class ghi trong repo

Cheat sheet

  • Hero photo nặng → AVIF (+ WebP/JPEG)
  • UI / chữ / mock → WebP high-q hoặc lossless
  • Logo → SVG
  • Social OG → JPEG/PNG
  • Không có pipeline AVIF → WebP là default đúng
  • Cần chỉnh quality nhanh, không uploadKawa image-compress

AVIF không “thay thế WebP hoàn toàn”. Hai format sống cùng trong <picture> — chọn theo asset và constraint team, không theo slogan blog nước ngoài.

Liên kết liên quan