Công cụ chuyển đổi JPG sang PNG miễn phí

Chuyển đổi hình ảnh JPG sang định dạng PNG ngay lập tức với chất lượng không mất dữ liệu. Chuyển đổi hàng loạt và tải về dưới dạng ZIP.

100% phía máy khách · tệp của bạn không bao giờ rời khỏi thiết bị
Thả tệp JPG vào đây hoặc nhấp để duyệt

Hỗ trợ JPG/JPEG · lên đến 50 MB mỗi tệp

"JPG sang PNG" thực sự làm gì (và không làm gì)

JPEG và PNG là đối lập gương trên trục lossless-versus-lossy. JPEG (ISO/IEC 10918-1, 1992) sử dụng nén lossy dựa trên DCT: bộ mã hóa loại bỏ dữ liệu hình ảnh mà mắt người có thể sẽ không nhận thấy để đổi lấy các tệp nhỏ hơn nhiều. PNG (IETF RFC 2083, 1996; W3C Phiên bản 3, 2023) sử dụng nén lossless DEFLATE: mỗi pixel được bảo toàn chính xác bit. Chuyển đổi JPEG sang PNG đi ngược lại với xu hướng kích thước tệp (đầu ra PNG thường lớn hơn 3-5 lần so với nguồn JPEG cho nội dung ảnh) và quan trọng không khôi phục bất kỳ chi tiết nào mà JPEG gốc đã loại bỏ. PNG trung thực bảo tồn các pixel đã lossy của JPEG: mọi tạo tác blocking, chuyển màu chroma và halo cạnh đều được nung vào đầu ra chính xác như xuất hiện trong đầu vào.

Vậy tại sao lại chuyển đổi? Bởi vì việc chuyển đổi đóng băng sự xuống cấp lossy ở mức hiện tại và cung cấp cho bạn một định dạng bảo tồn bất kỳ công việc nào tiếp theo theo cách lossless. Nếu bạn dự định chỉnh sửa ảnh JPEG (cắt, retouch, điều chỉnh màu) và lưu vài lần, mỗi lần lưu JPEG sẽ giới thiệu lỗi lượng tử hóa DCT mới và hình ảnh xuống cấp rõ ràng sau ba hoặc bốn lần. Chuyển đổi một lần sang PNG và các chỉnh sửa tiếp theo sẽ vòng lặp mà không tích lũy mất mát. Các lý do hợp lệ khác: nền tảng đích yêu cầu PNG cụ thể, bạn muốn thêm độ trong suốt sau này (PNG hỗ trợ alpha; đầu ra chuyển đổi hoàn toàn opaque nhưng định dạng sẽ chấp nhận các chỉnh sửa alpha trong tương lai), hoặc bạn muốn một định dạng lưu trữ dài hạn bảo thủ hơn.

Những gì chuyển đổi không làm: nó không "tăng chất lượng", "loại bỏ tạo tác JPEG", hoặc "khôi phục chi tiết đã mất." Lý thuyết thông tin không khoan dung ở đây. Các bit mà bộ mã hóa JPEG đã loại bỏ đã biến mất. PNG không thể tổng hợp chúng trở lại. Nếu JPEG của bạn có blocking hoặc ringing có thể nhìn thấy, PNG sẽ có cùng blocking và ringing, chỉ trong một tệp lớn hơn. Cách duy nhất để thực sự khôi phục chi tiết từ JPEG chất lượng thấp là siêu phân giải AI (Real-ESRGAN, Topaz Gigapixel, Adobe Super Resolution), tạo ảo giác chi tiết hợp lý bằng cách sử dụng mạng nơ-ron; đó là một thao tác khác với chuyển đổi định dạng.

Cách công cụ này hoạt động dưới mui xe

Việc chuyển đổi sử dụng API Canvas 2D của HTML5 và JSZip (Stuart Knightley, giấy phép kép MIT/GPL) để đóng gói nhiều tệp. Không cần bộ giải mã bên ngoài vì mọi trình duyệt đều giải mã JPEG một cách native. Khi bạn thả một JPEG, File API chuyển các byte cho một HTMLImageElement mới; bộ giải mã JPEG tích hợp của trình duyệt thực hiện inverse-DCT tiêu chuẩn, inverse-quantization, chuyển đổi màu YCbCr-sang-RGB, và tạo ra một bộ đệm pixel RGBA thô với alpha được đặt thành hoàn toàn opaque (JPEG không có alpha để điền vào).

Một mới trong bộ nhớ được kích thước theo hình ảnh và các pixel đã được giải mã được vẽ với ctx.drawImage(). Sau đó canvas.toBlob('image/png') gọi bộ mã hóa PNG tích hợp của trình duyệt. Bộ mã hóa chạy DEFLATE (LZ77 + Huffman) trên luồng byte RGBA và viết một tệp PNG tuân thủ tiêu chuẩn. Không có đối số chất lượng: PNG luôn lossless, vì vậy nút duy nhất của bộ mã hóa là mức độ nỗ lực DEFLATE, mà các trình duyệt cố định ở một mặc định hợp lý.

Đối với các tệp đơn, Blob đầu ra trở thành một URL đối tượng có thể tải xuống. Đối với các batch nhiều tệp, JSZip đóng gói mọi đầu ra PNG thành một kho lưu trữ ZIP duy nhất mà trình duyệt phục vụ như một lần tải xuống. Không có gì rời khỏi tab. Lưu lượng mạng duy nhất là tải trang ban đầu và thư viện JSZip (~95 KB trong lần truy cập đầu tiên, được lưu cache sau đó). Mở tab Network của DevTools khi chuyển đổi: không có yêu cầu nào mang dữ liệu hình ảnh. Chuyển trình duyệt sang chế độ máy bay sau khi trang được tải và bộ chuyển đổi vẫn hoạt động trên các JPEG cục bộ.

Lịch sử ngắn của JPEG và PNG

Cách hoạt động

  1. Tải lên JPG: Thả hoặc chọn một hoặc nhiều tệp JPG/JPEG để chuyển đổi.
  2. Chuyển đổi: Nhấp "Chuyển đổi sang PNG" để bắt đầu quá trình chuyển đổi. Việc xử lý diễn ra ngay lập tức trong trình duyệt của bạn.
  3. Tải xuống: Hình ảnh đơn lẻ tải xuống trực tiếp; nhiều tệp được đóng gói thành kho lưu trữ ZIP để tải xuống hàng loạt dễ dàng.

Tại sao chuyển đổi JPG sang PNG?

PNG là định dạng không mất dữ liệu, giữ lại toàn bộ dữ liệu hình ảnh mà không làm mất chất lượng. Không giống JPG, PNG hỗ trợ nền trong suốt và tạo ra hình ảnh sắc nét, chi tiết, lý tưởng cho đồ họa, logo và thiết kế web. Chuyển đổi sang PNG khi bạn cần hỗ trợ nền trong suốt, chất lượng không mất dữ liệu để chỉnh sửa hoặc lưu trữ dài hạn. Lưu ý: Tệp PNG thường lớn hơn JPG, nhưng cung cấp chất lượng và tính linh hoạt tốt hơn.

Tính năng

Quy trình JPG-to-PNG thực tế

Các cạm bẫy phổ biến và ý nghĩa của chúng

Quyền riêng tư: hình ảnh không bao giờ rời khỏi thiết bị của bạn

Mỗi bộ chuyển đổi JPG-sang-PNG dựa trên đám mây (CloudConvert, Convertio, iLoveIMG, FreeConvert, Aspose, và hàng chục dịch vụ "jpg to png online") tải tệp của bạn lên máy chủ của nhà điều hành, chạy chuyển đổi và trả về PNG dưới dạng tải xuống. JPEG từ điện thoại và máy ảnh thường nhúng siêu dữ liệu EXIF: tọa độ GPS nơi ảnh được chụp (thường chính xác đến vài mét), kiểu máy ảnh và ống kính, ngày và giờ chụp, thậm chí cả các bản xem trước thumbnail nhỏ. Tất cả những thứ đó đi đến nhà điều hành. Hầu hết các nhà điều hành đều công bố các chính sách bảo mật cam kết xóa các tải lên trong vòng một hoặc hai giờ và mã hóa khi vận chuyển, và những nhà điều hành lớn hơn giữ chứng nhận ISO/IEC 27001. Họ có lý do thương mại mạnh mẽ để tôn vinh các chính sách đó. Nhưng "bị xóa trong vòng một giờ" không phải là "không bao giờ được nhìn thấy." Trong giờ đó, nội dung ảnh nằm trên cơ sở hạ tầng của nhà điều hành, có thể truy cập đối với bất kỳ quy trình hoặc người nào có quyền thích hợp, và có thể nhìn thấy trong các bản ghi và sao lưu theo bất kỳ chính sách lưu giữ nào áp dụng.

Bộ chuyển đổi này không bao giờ tải lên bất cứ điều gì. Toàn bộ pipeline (chọn tệp, giải mã JPEG qua bộ giải mã tích hợp của trình duyệt, vẽ Canvas, mã hóa PNG, đóng gói ZIP tùy chọn, tải xuống) chạy bên trong tab trình duyệt của bạn sử dụng JavaScript và HTML5 Canvas API. Không có tải lên, không có yêu cầu mạng mang dữ liệu hình ảnh, không có mục nhập bản ghi. Bạn có thể xác minh bằng cách mở các công cụ phát triển của trình duyệt vào tab Network trước khi chuyển đổi: không có yêu cầu nào kích hoạt với nội dung hình ảnh. Lưu lượng mạng duy nhất là lượt tải trang ban đầu và thư viện JSZip nhỏ (~95 KB), được lấy một lần từ CDN trong lần truy cập đầu tiên và được lưu cache. Chuyển trình duyệt sang chế độ máy bay sau khi trang được tải và bộ chuyển đổi vẫn hoạt động trên các JPEG cục bộ.

Khi nào một công cụ khác là sự lựa chọn đúng

Câu hỏi thường gặp

Tệp PNG của tôi có lớn hơn JPG gốc không?

Có thể. PNG sử dụng nén không mất dữ liệu trong khi JPG sử dụng nén mất dữ liệu, điều này thường dẫn đến kích thước tệp nhỏ hơn. Tuy nhiên, PNG cung cấp chất lượng tốt hơn và hỗ trợ nền trong suốt. Chọn PNG khi chất lượng và tính linh hoạt quan trọng hơn kích thước tệp.

Tôi có thể chuyển đổi nhiều tệp cùng lúc không?

Có. Tải lên nhiều tệp JPG và tất cả sẽ được chuyển đổi với cùng các cài đặt. Tệp đơn lẻ tải xuống trực tiếp, nhiều tệp được đóng gói tự động thành kho lưu trữ ZIP.

Giới hạn kích thước tệp là gì?

Mỗi JPG có thể lên đến 50 MB. Tổng kích thước chuyển đổi phụ thuộc vào bộ nhớ có sẵn của trình duyệt, nhưng thông thường bạn có thể chuyển đổi các tệp tổng cộng vài trăm MB.

Hình ảnh của tôi có được gửi đến server không?

Không. Tất cả việc chuyển đổi diễn ra cục bộ trong trình duyệt của bạn với API Canvas. Hình ảnh của bạn không bao giờ rời khỏi thiết bị của bạn, đảm bảo quyền riêng tư và bảo mật.

Tôi có thể chuyển đổi JPG sang PNG trên điện thoại không?

Có. Công cụ này hoạt động trên trình duyệt máy tính, máy tính bảng và điện thoại di động. Chỉ cần nhấn để chọn tệp và chuyển đổi.

Chất lượng JPG so với PNG thế nào?

Chuyển đổi PNG giữ lại chất lượng hình ảnh của JPG gốc. Vì JPG đã là định dạng mất dữ liệu, việc chuyển sang PNG sẽ không khôi phục chi tiết đã mất, nhưng nó ngăn chặn mất chất lượng thêm nếu bạn cần chỉnh sửa hình ảnh.

Các câu hỏi thường gặp khác

Việc chuyển đổi sang PNG có loại bỏ các tạo tác JPEG mà tôi có thể nhìn thấy không?

Không. Các tạo tác JPEG (blocking DCT trong các vùng phẳng, halo và ringing ở các cạnh sắc nét, chuyển màu chroma ở các chuyển tiếp màu) là một phần của dữ liệu pixel sau khi bộ mã hóa JPEG đã hoàn thành công việc của mình. PNG là một định dạng lossless: nó bảo tồn dữ liệu pixel chính xác như hiện có, các tạo tác và tất cả mọi thứ. PNG đầu ra sẽ trông giống hệt JPEG nguồn ở mọi mức thu phóng. Nếu bạn cần làm mềm hoặc loại bỏ các tạo tác JPEG có thể nhìn thấy, các tùy chọn duy nhất là các công cụ AI denoise/siêu phân giải hoặc retouch thủ công cẩn thận; chuyển đổi định dạng không thể làm điều này.

Tại sao PNG lại lớn hơn nhiều?

Vì nén DEFLATE của PNG ít hiệu quả hơn nhiều so với DCT của JPEG cho nội dung ảnh. JPEG có thể nén các gradient mượt và các vùng tone liên tục một cách cực kỳ hiệu quả bằng cách loại bỏ thông tin tần số cao mà mắt sẽ không nhận thấy. PNG phải bảo tồn mọi pixel một cách chính xác, vì vậy nó phải mã hóa mẫu nhiễu đầy đủ của bức ảnh, mà DEFLATE chỉ có thể làm một cách nhẹ nhàng. Đối với các bức ảnh điển hình, PNG lớn hơn 3-5 lần so với JPEG tương đương ở chất lượng 85; đôi khi 10x cho các JPEG bị nén rất nhiều. Đây là hành vi được mong đợi, không phải lỗi trong công cụ.

PNG kết quả có thể có độ trong suốt không?

Không tự động, vì nguồn JPEG không có kênh alpha để điền vào. PNG đầu ra hoàn toàn opaque. Nhưng định dạng PNG hỗ trợ một kênh alpha 8-bit, vì vậy bạn có thể mở PNG trong một bước chỉnh sửa sau đó (Photoshop, GIMP, Photopea, Pixelmator) và thêm độ trong suốt: cắt bỏ một nền, thêm một halo bán trong suốt, tổng hợp lên các đồ họa khác. Chuyển đổi mang lại cho bạn một định dạng chấp nhận các chỉnh sửa tương lai đó mà không cần thay đổi định dạng khác.

Công cụ này có hoạt động ngoại tuyến không?

Có. Bộ giải mã JPEG và bộ mã hóa PNG đều được tích hợp vào mọi trình duyệt; không có thư viện bên ngoài nào được tải xuống cho chúng. Thư viện duy nhất mà công cụ này tải là JSZip (~95 KB) để đóng gói các batch nhiều tệp vào một kho lưu trữ ZIP, được lấy một lần từ CDN trong lần tải đầu tiên và được lưu cache. Các lượt truy cập tiếp theo hoạt động hoàn toàn ngoại tuyến. Bạn có thể xác minh bằng cách bật chế độ máy bay sau khi mở trang một lần và chuyển đổi một tệp JPG cục bộ.

Liệu siêu dữ liệu EXIF của tôi (camera, GPS, ngày) có tồn tại không?

Thường là không. Mã hóa lại dựa trên Canvas loại bỏ các khối siêu dữ liệu EXIF, IPTC và XMP (kiểu camera, cài đặt phơi sáng, tọa độ GPS, thẻ bản quyền) cùng với profile màu ICC được nhúng. PNG đầu ra chỉ mang dữ liệu pixel. Đối với việc chia sẻ màn hình thông thường, đây thường là một chiến thắng riêng tư (tọa độ GPS và số sê-ri của thiết bị sẽ không bị rò rỉ). Đối với các quy trình lưu trữ nơi bạn cần bảo toàn siêu dữ liệu chụp, hãy sử dụng một công cụ desktop nhận biết siêu dữ liệu: ImageMagick với các tùy chọn phù hợp, ExifTool, hoặc Save As của Photoshop, tất cả đều có thể bảo toàn dữ liệu EXIF trong suốt quá trình chuyển đổi.

Có một bộ tương đương desktop hoặc dòng lệnh không?

Một số. Đối với tự động hóa hàng loạt, sharp trong Node.js là thư viện phía máy chủ tiêu chuẩn: sharp(buf).png().toBuffer(). ImageMagick trên bất kỳ shell nào: magick input.jpg output.png. Pillow của Python: Image.open(p).save(out, 'PNG'). Đối với công việc tương tác một lần như công cụ này, Squoosh (Google Chrome Labs, hoàn toàn phía máy khách) là một sự thay thế gần hơn và hỗ trợ nhiều định dạng đầu ra bao gồm AVIF. Photoshop, Affinity Photo và Preview trên macOS xử lý trường hợp GUI desktop và bảo toàn siêu dữ liệu đáng tin cậy hơn chuyển đổi dựa trên trình duyệt.

Công cụ liên quan