PNG vs JPG vs WebP — nên dùng định dạng ảnh nào?
Hầu như mọi hình ảnh trên web đều thuộc một trong ba định dạng, và mỗi định dạng đánh đổi một thứ khác nhau để đạt được điều đó. JPG nén ảnh chụp một cách mạnh mẽ bằng cách loại bỏ những chi tiết mà mắt bạn khó có thể nhận ra là thiếu, PNG giữ lại từng pixel y nguyên như ban đầu và bổ sung thêm độ trong suốt, còn WebP là định dạng mới hơn của Google cố gắng làm cả hai việc — nén có mất dữ liệu và không mất dữ liệu, cùng với độ trong suốt — trong một file nhỏ hơn so với những gì hai định dạng cũ thường tạo ra. Chọn sai định dạng hiếm khi gây hậu quả nghiêm trọng, nhưng nó đồng nghĩa với việc trang tải chậm cồng kềnh hoặc ảnh bị mờ, vỡ hạt rõ rệt. Bài viết này sẽ phân tích rõ mỗi định dạng thực chất hoạt động ra sao bên trong, HEIC (định dạng mà iPhone dùng để lưu ảnh) nằm ở đâu trong bức tranh này, và cách chuyển đổi hoặc nén bất kỳ định dạng nào trong số đó mà không cần upload file lên bất cứ đâu.
JPG là gì và khi nào nên dùng nó?
JPG (cũng được viết là JPEG) sử dụng nén có mất dữ liệu (lossy): nó phân tích ảnh theo từng khối, loại bỏ những chi tiết nhỏ và biến thiên màu sắc mà mắt người khó nhận ra, rồi tái tạo lại một phiên bản gần đúng khi giải mã. Chính sự đánh đổi đó là lý do JPG có dung lượng nhỏ — một tấm ảnh chụp nếu không nén có thể nặng vài megabyte thường được nén xuống chỉ còn vài trăm kilobyte ở mức chất lượng mà hầu hết mọi người không thể phân biệt được với bản gốc. JPG không có kênh trong suốt, nên nó luôn hiển thị trên một nền đặc, và không phù hợp với ảnh chụp màn hình, tranh nét (line art), hay văn bản, những nơi hiện tượng mờ nhẹ quanh các cạnh sắc nét trở nên rõ ràng. Hãy dùng JPG cho ảnh chụp và các ảnh tương tự ảnh chụp — ảnh sản phẩm, chân dung, phong cảnh — nơi dung lượng file quan trọng và việc có nền là điều bình thường.
PNG là gì và khi nào nên dùng nó?
PNG sử dụng nén không mất dữ liệu (lossless): mỗi pixel bạn lưu chính là pixel bạn nhận lại nguyên vẹn, không có sự xấp xỉ nào. Điều đó khiến PNG trở thành lựa chọn đúng đắn cho ảnh chụp màn hình, bản mẫu giao diện (UI mockup), logo, sơ đồ, và bất kỳ hình ảnh nào chứa văn bản sắc nét hay cạnh cứng, những nơi mà nhiễu do nén mất dữ liệu sẽ hiện rõ ngay lập tức thành vệt mờ hoặc vỡ hạt quanh các cạnh. PNG cũng hỗ trợ đầy đủ kênh alpha (trong suốt), nên một logo hay icon có thể có nền trong suốt thực sự thay vì một khối trắng hay có màu bao quanh. Cái giá phải trả là dung lượng: vì PNG không thể loại bỏ chi tiết, một tấm ảnh chụp lưu dưới dạng PNG thường lớn hơn gấp nhiều lần so với cùng tấm ảnh đó lưu dưới dạng JPG, mà không mang lại lợi ích chất lượng nào nhìn thấy được đối với một chủ thể ảnh chụp.
WebP là gì và nó khác JPG cùng PNG ra sao?
WebP là một định dạng mới hơn được xây dựng để thay thế cả hai định dạng cũ cùng một lúc. Nó hỗ trợ cả nén có mất dữ liệu lẫn không mất dữ liệu trong cùng một định dạng file, cộng thêm một kênh trong suốt đầy đủ giống như PNG — nên một định dạng duy nhất có thể xử lý một ảnh chụp đã nén, một ảnh chụp màn hình không mất dữ liệu, và một logo trong suốt. Trên thực tế, file WebP thường nhỏ hơn 25-35% so với một file JPG có chất lượng tương đương, và WebP không mất dữ liệu thường cũng nhỏ hơn cùng bức ảnh đó lưu dưới dạng PNG. Khả năng hỗ trợ trên trình duyệt đã gần như phổ biến hoàn toàn kể từ đầu những năm 2020 (mọi trình duyệt lớn đều hiển thị nó trực tiếp), điều này đã xóa bỏ trở ngại lịch sử chính khi sử dụng nó. Vướng mắc còn lại là khả năng tương thích bên ngoài trình duyệt: một số phần mềm chỉnh sửa ảnh cũ, plugin CMS lỗi thời, và quy trình in ấn hay thiết kế vẫn không mở trực tiếp được WebP, nên bạn nên kiểm tra bộ công cụ cụ thể của mình trước khi chuẩn hóa sử dụng nó ở khắp mọi nơi.
HEIC nằm ở đâu trong bức tranh này, và có nên chuyển đổi nó không?
HEIC là định dạng mà iPhone dùng mặc định cho ảnh chụp kể từ iOS 11 — nó nén hiệu quả hơn JPG ở mức chất lượng tương tự, đó là lý do nó chiếm ít dung lượng hơn trên điện thoại của bạn. Vấn đề nằm ở khả năng tương thích, chứ không phải chất lượng: rất nhiều phần mềm Windows, ứng dụng Android đời cũ, biểu mẫu web, và ứng dụng email hoặc không thể mở file .heic chút nào hoặc xử lý nó một cách vụng về. Nếu bạn chia sẻ một tấm ảnh ở nơi có thể không hỗ trợ HEIC — upload lên một website, gửi email cho ai đó dùng thiết bị không rõ loại, đăng lên phần mềm cũ — hãy chuyển sang JPG trước để có khả năng tương thích rộng nhất, hoặc chuyển sang PNG chỉ khi bạn thực sự cần chất lượng không mất dữ liệu hoặc độ trong suốt (hiếm khi cần với một tấm ảnh chụp bằng camera). Công cụ chuyển HEIC sang JPG của LocalMedia xử lý việc chuyển đổi này hoàn toàn ngay trên trình duyệt của bạn, nên ảnh được đọc từ thiết bị của bạn, chuyển đổi, rồi lưu trở lại mà không hề bị upload lên bất cứ đâu.
Thực sự nên chọn định dạng nào, theo từng trường hợp sử dụng?
Quyết định thường phụ thuộc vào nội dung của hình ảnh và nơi nó sẽ được sử dụng. Với một ảnh chụp hoặc hình ảnh chân thực như ảnh chụp dành cho web, hãy dùng WebP nếu nền tảng của bạn chấp nhận, hoặc dùng JPG nếu không. Với một ảnh chụp màn hình, tài liệu scan, sơ đồ, hoặc bất cứ thứ gì có văn bản, hãy dùng PNG (hoặc WebP không mất dữ liệu) để các cạnh luôn sắc nét. Với một logo, icon, hoặc hình đồ họa cần nền trong suốt, hãy dùng PNG hoặc WebP — không bao giờ dùng JPG, vì nó hoàn toàn không thể thể hiện độ trong suốt. Để có khả năng tương thích tối đa với phần mềm cũ, ứng dụng email, hoặc quy trình in ấn, JPG và PNG vẫn là lựa chọn phổ biến an toàn nhất, vì khả năng hỗ trợ WebP bên ngoài các trình duyệt hiện đại vẫn còn thiếu nhất quán.
Vì sao lưu lại một file JPG nhiều lần khiến nó tệ hơn?
Vì việc nén của JPG là có mất dữ liệu, mỗi lần bạn mở một file JPG, chỉnh sửa nó, rồi lưu lại thành JPG, định dạng này lại phân tích và loại bỏ thêm chi tiết chồng lên những gì đã bị loại bỏ từ lần đầu tiên. Chỉnh sửa và lưu lại vài lần, phần mất mát tích lũy sẽ trở nên rõ ràng dưới dạng vệt mờ, dải màu (banding), hoặc nhiễu vỡ hạt quanh các cạnh — một vấn đề thường được gọi là mất mát qua các thế hệ (generation loss). Điều này không xảy ra với PNG, vì nén không mất dữ liệu không bao giờ loại bỏ chi tiết bất kể bạn lưu lại bao nhiêu lần. Nếu bạn cần chỉnh sửa một tấm ảnh nhiều lần, hãy giữ một bản gốc PNG hoặc định dạng không mất dữ liệu khác trong suốt quá trình chỉnh sửa và chỉ xuất ra JPG một lần, ở bước cuối cùng, để giao file thành phẩm.
Làm sao để chuyển đổi hoặc nén ảnh mà không cần upload chúng?
Việc chuyển đổi giữa JPG, PNG, WebP, và HEIC, hay thu nhỏ một file quá lớn, hoàn toàn không đòi hỏi phải gửi hình ảnh lên máy chủ nào cả — một trình duyệt có thể tự giải mã và mã hóa lại phần lớn các định dạng ảnh phổ biến. Công cụ chuyển đổi định dạng ảnh của LocalMedia chuyển đổi giữa JPG, PNG, và WebP ngay trong tab trình duyệt của bạn, còn công cụ nén ảnh giảm dung lượng file bằng cách điều chỉnh chất lượng hoặc kích thước, cả hai đều không để file rời khỏi thiết bị của bạn dù chỉ một lần. Bạn có thể tự kiểm chứng điều này: mở DevTools của trình duyệt (F12), vào tab Network, và theo dõi xem có request upload nào không trong lúc bạn chuyển đổi hay nén một file — một công cụ thực sự cục bộ sẽ không gửi đi bất cứ thứ gì.
Công cụ liên quan
Câu hỏi thường gặp
- PNG hay JPG tốt hơn?
- Không có định dạng nào tốt hơn một cách tuyệt đối — chúng được xây dựng cho các loại nội dung khác nhau. Nén có mất dữ liệu của JPG khiến nó nhỏ hơn nhiều đối với ảnh chụp, trong khi nén không mất dữ liệu của PNG giữ cho ảnh chụp màn hình, văn bản, và hình đồ họa không bị mờ, đồng thời bổ sung khả năng hỗ trợ trong suốt mà JPG hoàn toàn không có. Hãy dùng JPG cho ảnh chụp, PNG cho bất cứ thứ gì có cạnh sắc nét, văn bản, hoặc nền trong suốt.
- WebP có tốt hơn JPG không?
- Về dung lượng file và chất lượng, nhìn chung là có: WebP thường tạo ra file nhỏ hơn 25-35% so với một JPG có chất lượng tương đương, và nó còn hỗ trợ độ trong suốt và nén không mất dữ liệu, những điều mà JPG hoàn toàn không làm được. Lý do duy nhất để vẫn chọn JPG thay vì WebP là khả năng tương thích với phần mềm cũ hoặc quy trình làm việc không mở được file WebP.
- WebP có hỗ trợ trong suốt không?
- Có. WebP có đầy đủ kênh trong suốt alpha ở cả hai chế độ nén có mất dữ liệu và không mất dữ liệu, nên nó có thể thay thế PNG cho logo và icon trong suốt trong khi thường tạo ra file nhỏ hơn.
- Nên chuyển HEIC sang JPG hay PNG?
- Hãy chuyển sang JPG trong hầu hết mọi trường hợp — nó nhỏ hơn và tương thích phổ biến, đúng với những gì một tấm ảnh chụp bằng camera cần. Chỉ chuyển sang PNG nếu bạn thực sự cần chất lượng không mất dữ liệu hoặc nền trong suốt, điều này hiếm khi cần thiết với một tấm ảnh chụp thông thường.
- Định dạng nào tạo ra file nhỏ nhất?
- Với ảnh chụp, WebP nén có mất dữ liệu thường nhỏ nhất, tiếp theo là JPG, còn PNG thì lớn hơn hẳn. Với ảnh chụp màn hình, văn bản, hay tranh nét, WebP không mất dữ liệu thường nhỏ nhất, tiếp theo là PNG, vì nén có mất dữ liệu của JPG không phù hợp với các cạnh sắc nét bất kể dung lượng file.
- Tôi có thể chuyển đổi giữa PNG, JPG, và WebP mà không mất chất lượng không?
- Chuyển đổi từ một định dạng không mất dữ liệu (PNG) sang một chế độ không mất dữ liệu khác sẽ giữ nguyên chất lượng chính xác. Chuyển đổi sang hoặc giữa các định dạng có mất dữ liệu (JPG, WebP có mất dữ liệu) luôn nén lại hình ảnh, nên một phần chất lượng sẽ mất đi ở mỗi lần chuyển đổi — hãy giữ một bản gốc không mất dữ liệu nếu bạn dự định chuyển đổi hoặc chỉnh sửa một hình ảnh nhiều hơn một lần.