AVIF là gì? Định dạng ảnh hiện đại mà bạn nên biết
AVIF thực sự là gì
AVIF là viết tắt của AV1 Image File Format. Đây là một định dạng chứa (container) hiện đại dành cho ảnh tĩnh, bắt nguồn từ codec video AV1 do Alliance for Open Media phát triển—một liên minh hùng mạnh bao gồm Google, Apple, Mozilla, Netflix và Amazon. Đặc tả ổn định đầu tiên ra mắt vào năm 2019, và sự hỗ trợ từ các trình duyệt đã không ngừng tăng lên kể từ đó. Để thực sự hiểu về AVIF, bạn phải nhìn vào nguồn gốc của nó. Cha đẻ của nó, AV1, được tạo ra như một codec video miễn phí bản quyền để thách thức HEVC (H.265) vốn bị vướng bận bởi bằng sáng chế, đây cũng là công nghệ đằng sau định dạng ảnh HEIF của Apple. Vì AV1 là mã nguồn mở và miễn phí sử dụng, bất kỳ nhà phát triển nào cũng có thể triển khai nó mà không phải trả phí bản quyền. Đây là một lợi thế cực lớn cho việc áp dụng rộng rãi. Đó là lý do tại sao Chrome, Firefox và Edge đều hỗ trợ AVIF nguyên bản, trong khi việc hỗ trợ HEIF/HEIC trên web vẫn còn là một mớ hỗn độn. AVIF hoạt động bằng cách sử dụng các công cụ mã hóa nội khung (intra-frame) từ AV1, về cơ bản là xem một bức ảnh như một khung hình của video. Đây không phải là một giải pháp tạm bợ rẻ tiền. Chính điều này đã cho phép AVIF tiếp cận các kỹ thuật nén tinh vi tương tự đã làm cho video AV1 trở nên hiệu quả: các khối biến đổi có kích thước đa dạng lên tới 64×64 pixel, tổng hợp nhiễu hạt phim (film grain synthesis), bộ lọc vòng lặp (loop filters), và nhiều hơn nữa. Kết quả là một định dạng cạnh tranh trực tiếp với JPEG XL và WebP 2 cho danh hiệu định dạng ảnh hiệu quả nhất hiện nay. Ngoài khả năng nén, AVIF còn là một định dạng giàu tính năng. Nó hỗ trợ độ sâu màu 8-bit, 10-bit, và thậm chí 12-bit, cùng với HDR và các dải màu rộng như Rec. 2020 và Display P3. Nó cũng xử lý được độ trong suốt alpha và cả các ảnh động ngắn. Sự linh hoạt này cho phép nó hoạt động tốt trên cả nội dung nhiếp ảnh và đồ họa, mặc dù như chúng ta sẽ thấy, nó có những điểm mạnh và điểm yếu riêng.
So sánh khả năng nén của AVIF với JPEG, WebP và PNG
Những con số nói lên câu chuyện rõ hơn bất kỳ tính từ nào. Một nghiên cứu năm 2021 của Netflix—và họ là người hiểu rõ nhất, vì là một trong những nhà phát triển chính của AV1—cho thấy file AVIF nhỏ hơn khoảng 50% so với file JPEG ở chất lượng hình ảnh tương đương. WebP của Google thường tiết kiệm được 25–34% so với JPEG. Đây không phải là một cải tiến nhỏ, tăng dần. Đó là một bước nhảy vọt về hiệu quả qua nhiều thế hệ. Hãy xem một ví dụ cụ thể. Một bức ảnh sản phẩm chất lượng cao 180 KB được lưu dưới dạng JPEG (chất lượng 85) sẽ còn khoảng 130 KB dưới dạng WebP. Với định dạng AVIF có hệ số tỷ lệ không đổi (crf) là 30, cùng một hình ảnh đó có thể chỉ nặng 90–100 KB mà không có sự suy giảm chất lượng có thể nhận thấy trên một màn hình tốt. Nếu bạn có thể chấp nhận chất lượng thấp hơn một chút cho những thứ như ảnh thumbnail, crf là 40 có thể đẩy kích thước file xuống dưới 60 KB. Còn đồ họa thì sao? Đối với logo, hình minh họa và ảnh chụp màn hình giao diện người dùng có màu phẳng, PNG đã là vua không mất dữ liệu. AVIF có chế độ không mất dữ liệu, nhưng đừng cho rằng nó tốt hơn. Theo kinh nghiệm của tôi, đây là một lựa chọn tồi cho công việc này. Các file AVIF không mất dữ liệu thường lớn hơn 10–20% so với file PNG tương đương. Mặt khác, chế độ không mất dữ liệu của WebP luôn đánh bại PNG khoảng 26% và cũng vượt trội hơn AVIF không mất dữ liệu. Kết luận rất rõ ràng: thế mạnh thực sự của AVIF nằm ở việc nén mất dữ liệu cho ảnh chụp, không phải đồ họa không mất dữ liệu. Độ trong suốt alpha là nơi AVIF thực sự tỏa sáng. JPEG hoàn toàn không thể làm được độ trong suốt. WebP có thể, nhưng AVIF thường làm tốt hơn và cho ra file nhỏ hơn. Một bức ảnh sản phẩm với nền trong suốt—thứ không thể thiếu trong thương mại điện tử—có thể được lưu dưới dạng AVIF nhỏ hơn 60–70% so với bản PNG tương đương, trong khi vẫn giữ được các cạnh sắc nét, sạch sẽ xung quanh các chi tiết khó như tóc hoặc lông thú.
Hỗ trợ trên trình duyệt và nền tảng vào năm 2025
AVIF không còn là một thử nghiệm nữa. Tính đến giữa năm 2025, theo caniuse.com, mức độ hỗ trợ của các trình duyệt toàn cầu đã hơn 93%. Chrome đã hỗ trợ từ phiên bản 85 vào tháng 8 năm 2020. Firefox tham gia với phiên bản 93 vào tháng 10 năm 2021. Quan trọng hơn cả, Safari trên macOS Ventura và iOS 16 trở lên có thể giải mã AVIF. Edge, dựa trên Chromium, đã hỗ trợ từ cuối năm 2020. Điều này có ý nghĩa gì với bạn: nếu bạn cung cấp ảnh AVIF trên trang web của mình, gần như mọi người sẽ thấy chúng. Khoảng 7% người dùng còn lại trên các trình duyệt cũ hơn chỉ cần một giải pháp dự phòng. Giải pháp thanh lịch và chuẩn mực là thẻ HTML `<picture>`: <picture> <source srcset="image.avif" type="image/avif"> <source srcset="image.webp" type="image/webp"> <img src="image.jpg" alt="Product photo"> </picture> Giải pháp dự phòng ba lớp đơn giản này bao phủ mọi trình duyệt quan trọng. Một trình duyệt không hiểu AVIF sẽ thử WebP; nếu thất bại, nó sẽ quay về với JPEG phổ thông. Nó cứ thế hoạt động thôi. Không cần JavaScript. Trên máy tính để bàn, câu chuyện phức tạp hơn một chút, nhưng hầu hết là tích cực. Windows 11 có thể hiển thị file AVIF trong ứng dụng Photos sau khi cài đặt miễn phí AV1 Video Extension từ Microsoft Store. macOS có hỗ trợ nguyên bản trong Preview từ macOS Monterey. Adobe Photoshop đã tích hợp hỗ trợ AVIF trong phiên bản 23.2 (tháng 2 năm 2022), vì vậy bạn có thể mở và lưu chúng trực tiếp. GIMP đã hỗ trợ từ phiên bản 2.10.22. Ngay cả Figma cũng có thể mở file AVIF, mặc dù chưa thể xuất ra định dạng này. Đối với bất kỳ ai xây dựng quy trình tự động, các công cụ phía máy chủ đã rất trưởng thành. Các thư viện chính như libavif (bản triển khai tham chiếu), Sharp cho Node.js, Pillow cho Python 3.10+, và ImageMagick 7.1+ đều cung cấp khả năng mã hóa và giải mã AVIF vững chắc.
Khi nào nên dùng AVIF — và khi nào không
Vậy bạn thực sự nên sử dụng AVIF ở đâu? Mục tiêu chính là bất kỳ hình ảnh nhiếp ảnh nào trên web mà kích thước file ảnh hưởng đến hiệu suất. Hãy nghĩ đến các bộ sưu tập sản phẩm thương mại điện tử, ảnh đại diện (hero image) của các bài báo, và các trang portfolio. Nếu trang web của bạn phục vụ hàng nghìn hình ảnh mỗi ngày, việc chuyển sang AVIF có thể cắt giảm 30–50% chi phí băng thông CDN của bạn. Đó là một khoản tiền đáng kể ở quy mô lớn. Nhiếp ảnh HDR là một trường hợp sử dụng đắt giá khác. Với sự hỗ trợ độ sâu màu 10-bit và 12-bit cùng các dải màu rộng như Rec. 2020, AVIF có thể hiển thị nội dung HDR mà không cần phải ép nó xuống SDR trước. JPEG hoàn toàn không thể làm điều này, và WebP bị mắc kẹt ở 8-bit. Đối với các nhiếp ảnh gia hoặc các trang web bất động sản muốn khoe những hình ảnh cao cấp cho người dùng có màn hình HDR, AVIF là định dạng web duy nhất được hỗ trợ rộng rãi có thể khai thác hết tiềm năng của phần cứng đó. Nhưng nó không phải là giải pháp toàn năng. Hạn chế lớn nhất là việc mã hóa AVIF rất chậm. Thực sự chậm. Mã hóa một bức ảnh độ phân giải cao ở cài đặt chất lượng cao có thể khiến quạt CPU của bạn quay tít lên và mất vài giây, trong khi JPEG chỉ mất vài mili giây. Độ trễ này làm cho AVIF trở thành một lựa chọn tồi cho các ứng dụng cần tạo ảnh theo thời gian thực, như một trình chỉnh sửa ảnh lưu thường xuyên. Mặc dù hỗ trợ mã hóa bằng phần cứng đang được cải thiện, việc mã hóa chỉ bằng phần mềm vẫn là một nút thắt cổ chai đáng kể. Đối với các tác vụ khác, bạn nên sử dụng đúng công cụ cho đúng việc. Đồ họa vector và sơ đồ vẫn thuộc về SVG. Đối với ảnh chụp màn hình mã nguồn hoặc văn bản giao diện người dùng nơi bạn cần độ sắc nét hoàn hảo đến từng pixel, hãy gắn bó với PNG hoặc WebP không mất dữ liệu. Và đối với bất cứ thứ gì liên quan đến in ấn, AVIF hoàn toàn không liên quan; TIFF và PDF vẫn là những tiêu chuẩn không thể tranh cãi. Còn ảnh động thì sao? AVIF hỗ trợ chúng (dưới dạng chuỗi AVIS), nhưng việc mã hóa còn chậm hơn cả ảnh tĩnh, và hỗ trợ trên trình duyệt cũng kém tin cậy hơn. Thành thật mà nói, bạn nên dùng ảnh động WebP hoặc, tốt hơn nữa, là một file video MP4 hoặc WebM ngắn được đặt để tự động phát.
Cách chuyển đổi ảnh sang AVIF
Được rồi, vậy làm thế nào để bạn thực sự tạo ra những file này? Bạn có một vài lựa chọn, tùy thuộc vào nhu cầu của bạn. Đối với các nhà phát triển và những người yêu thích dòng lệnh, `avifenc` (từ bộ công cụ libavif) là bộ mã hóa tham chiếu. Một lệnh điển hình có thể là: `avifenc --min 20 --max 40 --speed 6 input.jpg output.avif`. Các cờ `--min` và `--max` đặt phạm vi chất lượng (số càng thấp càng tốt, trên thang điểm 0-63), và `--speed` kiểm soát sự đánh đổi giữa thời gian mã hóa và kích thước file (0 là chậm nhất và hiệu quả nhất, 10 là nhanh nhất). Tốc độ 6 là một điểm khởi đầu tuyệt vời cho việc xử lý hàng loạt. Nếu bạn muốn thấy trực quan những gì mình đang làm, Squoosh của Google (squoosh.app) là một công cụ tuyệt vời dựa trên trình duyệt. Nó cho phép bạn tinh chỉnh cài đặt AVIF bằng thanh trượt chất lượng trực quan và so sánh song song ngay lập tức. Nó hoàn hảo cho những lần chuyển đổi đơn lẻ và để làm quen với cách các cài đặt chất lượng ảnh hưởng đến hình ảnh cụ thể của bạn. Để chuyển đổi hàng loạt mà không cần đụng đến dòng lệnh, CocoConvert cung cấp AVIF làm định dạng đầu ra cho các nguồn như JPEG, PNG, WebP và HEIC. Bạn chỉ cần tải file của mình lên, chọn AVIF và download kết quả. Bộ mã hóa được cấu hình sẵn để đạt được sự cân bằng tốt giữa kích thước và chất lượng cho việc sử dụng trên web. Một lưu ý chân thành: CocoConvert không cung cấp các điều khiển thủ công cho hệ số tỷ lệ không đổi (crf) hoặc lấy mẫu màu phụ (chroma subsampling). Nếu bạn cần mức độ kiểm soát chi tiết đó—ví dụ, để đảm bảo màu 4:4:4 cho một bức ảnh chuyên nghiệp—một công cụ dòng lệnh hoặc hộp thoại xuất của Photoshop sẽ cho bạn sự chính xác đó. Trong Photoshop (CC 2022 trở lên), chỉ cần vào File > Export > Export As và chọn AVIF từ danh sách định dạng. Tuy nhiên, Lightroom Classic vẫn chưa xuất ra AVIF nguyên bản, yêu cầu các plugin của bên thứ ba để lấp đầy khoảng trống.
AVIF và JPEG XL: Đối thủ còn lại
Bất kỳ cuộc thảo luận trung thực nào về AVIF cũng phải thừa nhận đối thủ chính của nó: JPEG XL (JXL). Đây là một định dạng tuyệt vời cung cấp một số thứ mà AVIF không thể, như nén lại JPEG không mất dữ liệu thực sự (bạn có thể chuyển đổi một file JPEG sang JXL và ngược lại mà không mất chất lượng) và tốc độ mã hóa nhanh hơn ở các mức chất lượng tương đương. Nó cũng thường làm tốt hơn với các hình ảnh chứa các đường nét và văn bản sắc sảo. Trong các cuộc đối đầu trực tiếp về khả năng nén, không có định dạng nào là người chiến thắng rõ ràng trên mọi phương diện. AVIF thường vượt lên đối với các bức ảnh chi tiết ở bitrate rất thấp, trong khi JPEG XL có xu hướng tốt hơn cho đồ họa, hình ảnh nhiều văn bản và bất kỳ quy trình làm việc nào mà tốc độ mã hóa là một yếu tố quan trọng. Nhưng các thông số kỹ thuật không nói lên toàn bộ câu chuyện. Sự khác biệt quan trọng là hỗ trợ của trình duyệt. Vào năm 2023, các nhà phát triển của Chrome đã loại bỏ hỗ trợ thử nghiệm cho JPEG XL, với lý do thiếu sự quan tâm từ hệ sinh thái, và quyết định đó đã đóng băng thị trường một cách hiệu quả. Tính đến giữa năm 2025, chỉ có Safari (17+) hỗ trợ JXL nguyên bản, còn hỗ trợ trên Firefox bị ẩn sau một cờ hiệu (flag). Điều này có nghĩa là bạn không thể cung cấp JXL một cách đáng tin cậy trên web ngày nay mà không cần một polyfill JavaScript. Đối với các nhà phát triển web, điều này đã quyết định thay cho chúng ta, ít nhất là ở thời điểm hiện tại. AVIF, với hơn 93% hỗ trợ nguyên bản, là lựa chọn thực tế duy nhất để triển khai hình ảnh hiện đại. Tình hình này có thể thay đổi. Cộng đồng JPEG XL rất nhiệt huyết và năng động, và các nhà cung cấp trình duyệt có thể xem xét lại. Nhưng đối với bất kỳ ai đang xây dựng trang web ngay bây giờ, AVIF có lợi thế khổng lồ, không thể chối cãi là thực sự được hỗ trợ ở những nơi cần thiết.
Bạn có nên chuyển đổi kho ảnh hiện có của mình sang AVIF không?
Vậy, bạn có nên chuyển đổi toàn bộ thư viện ảnh của mình không? Tin tốt là việc di chuyển không nhất thiết phải là một thử thách kiểu được ăn cả, ngã về không. Chiến lược tốt nhất cho hầu hết mọi người là chỉ cần thêm các phiên bản AVIF bên cạnh các file JPEG và PNG hiện có, sử dụng thẻ `<picture>` để cho phép trình duyệt chọn định dạng tốt nhất. Điều này có nghĩa là bạn không phải xóa các file cũ của mình; bạn chỉ cần bổ sung chúng. Đối với một trang web có thư viện lớn, chuyển đổi hàng loạt là con đường hợp lý duy nhất. Hãy thiết lập một script sử dụng công cụ như Sharp cho Node.js hoặc ImageMagick trong một vòng lặp shell, hoặc sử dụng một plugin bước xây dựng cho Vite hoặc webpack. Cứ để nó chạy qua đêm. Việc mã hóa chậm là chi phí một lần, nhưng việc tiết kiệm băng thông sẽ mang lại lợi ích lâu dài trên mỗi lần tải trang. Đối với tất cả các hình ảnh mới trong tương lai, quy trình thậm chí còn đơn giản hơn. Hãy biến nó thành quy trình chuẩn để mã hóa một phiên bản AVIF cho việc phân phối trên web. Giữ lại file nguồn gốc có độ phân giải cao của bạn—dù đó là RAW, TIFF, hay JPEG chất lượng cao—và tạo ra file AVIF được tối ưu hóa cho web như một phần của quy trình xuất bản của bạn. Còn về lưu trữ thì sao? Đúng vậy, việc giữ nhiều phiên bản của mỗi hình ảnh sẽ tạm thời làm tăng dung lượng lưu trữ của bạn. Các file AVIF nhỏ hơn, nhưng bạn đang thêm chúng vào thư viện hiện có. Tuy nhiên, đối với hầu hết các trang web, khoản tiết kiệm đáng kể về băng thông đầu ra của CDN sẽ dễ dàng bù đắp cho sự gia tăng nhỏ về chi phí lưu trữ gốc. Một lời cảnh báo cuối cùng: việc lưu trữ lâu dài. Bất kỳ ai đã từng cố gắng mở một định dạng file độc quyền 15 năm tuổi đều biết nỗi đau của sự xuống cấp dữ liệu (bit rot) và sự lỗi thời. AVIF vẫn còn non trẻ. JPEG đã hơn 30 năm tuổi và sẽ có thể được đọc bởi những phần mềm thậm chí còn chưa được phát minh. Để lưu trữ lâu dài, vĩnh viễn những hình ảnh quan trọng nhất của bạn, lựa chọn an toàn là lựa chọn đúng đắn. Hãy gắn bó với JPEG hoặc TIFF chất lượng cao. Sử dụng AVIF để phân phối, nhưng luôn giữ bản gốc của bạn ở một định dạng có lịch sử đã được chứng minh.