Trình Chuyển Đổi PNG Sang JPG

Chuyển hình ảnh PNG sang định dạng JPG tức thì. Điều chỉnh chất lượng, tùy chỉnh màu nền cho vùng trong suốt và chuyển đổi hàng loạt. Tệp của bạn không bao giờ rời khỏi thiết bị.

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 PNG của bạn tại đây hoặc nhấp để duyệt

Hỗ trợ PNG · đến 50 MB mỗi tệp

"PNG sang JPG" thực sự làm gì với hình ảnh của bạn

PNG và JPEG là hai họ định dạng hình ảnh khác nhau với các công việc khác nhau. PNG (Portable Network Graphics, IETF RFC 2083 năm 1996, W3C Phiên bản thứ 3 năm 2023) sử dụng nén DEFLATE (cùng thuật toán lossless như ZIP và gzip), giữ mọi pixel chính xác từng bit, và hỗ trợ kênh alpha 8-bit cho độ trong suốt. JPEG (ISO/IEC 10918-1 năm 1992) sử dụng nén DCT lossy với chất lượng có thể điều chỉnh, không có kênh alpha, và được điều chỉnh cho các bức ảnh tông màu liên tục. Chuyển đổi PNG sang JPEG có nghĩa là: loại bỏ kênh alpha, chạy dữ liệu pixel qua một bộ mã hóa lossy, và chấp nhận các đánh đổi để đổi lấy các tệp thường nhỏ hơn và khả năng tương thích phổ quát.

Mất độ trong suốt là thay đổi rõ ràng nhất. PNG có thể đánh dấu mỗi pixel là hoàn toàn mờ, hoàn toàn trong suốt, hoặc ở bất kỳ đâu giữa. JPEG không có tương đương: mỗi pixel JPEG hoàn toàn mờ. Công cụ này kết hợp PNG của bạn với màu nền bạn chọn (trắng theo mặc định, đen, hoặc màu tùy chỉnh thông qua bộ chọn màu) trước khi mã hóa, vì vậy các khu vực trong suốt trong nguồn trở thành màu nền đó trong đầu ra. Khi JPEG được viết, kênh alpha bị mất vĩnh viễn; bạn không thể khôi phục nó.

Hướng kích thước tệp không phải là điều mà hầu hết mọi người giả định. Đối với các PNG chụp ảnh (chân dung, phong cảnh, cảnh bận rộn), đầu ra JPEG nhỏ hơn 5-10 lần so với nguồn: đây là chiến thắng dự kiến. Đối với các PNG đồ họa (logo, hình minh họa, ảnh chụp màn hình, bất cứ thứ gì có vùng màu phẳng lớn), đầu ra JPEG thường lớn hơn nguồn PNG. DEFLATE của PNG nén các chuỗi dài của màu giống hệt nhau gần như không có; DCT của JPEG đưa nhiễu vào những vùng mượt mà đó và lượng tử hóa các ranh giới màu tần số cao thành các quầng hào quang có thể nhìn thấy mà bản thân chúng cần các bit để mã hóa. Một logo PNG 50 KB có thể tạo ra một JPEG 200 KB. Nếu hình ảnh của bạn chủ yếu là các màu phẳng và các cạnh sắc nét, JPEG là hướng sai; hãy ở trong PNG hoặc chuyển sang WebP, xử lý cả hai chế độ tốt.

Cách công cụ này hoạt động bên trong

Việc chuyển đổi là HTML5 Canvas 2D API cộng với JSZip (Stuart Knightley, giấy phép kép MIT/GPL) cho các lô đa 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ã PNG một cách tự nhiên. Khi bạn thả một PNG, File API trao các byte cho một HTMLImageElement mới; trình duyệt giải nén luồng bit PNG được mã hóa DEFLATE thành các pixel RGBA thô, bảo tồn kênh alpha.

Một mới trong bộ nhớ được định kích thước theo hình ảnh, sau đó được lấp đầy với màu nền đã chọn qua ctx.fillRect(). PNG được vẽ lên trên với ctx.drawImage(); chế độ tổng hợp mặc định source-over pha trộn alpha của PNG với nền canvas, vì vậy các pixel trong suốt hiển thị màu nền và các cạnh bán trong suốt pha trộn mượt mà. Sau khi tổng hợp đó, canvas.toBlob('image/jpeg', quality/100) gọi bộ mã hóa JPEG tích hợp của trình duyệt. Bộ mã hóa chuyển đổi RGBA sang YCbCr, áp dụng phụ lấy mẫu chroma tùy chọn, chạy DCT 8x8 và lượng tử hóa với các bảng phù hợp với thanh trượt chất lượng của bạn, và phát ra một luồng byte JPEG.

Đối với các tệp đơn, Blob đầu ra trở thành URL đối tượng có thể tải xuống trực tiếp. Đối với các lô đa tệp, JSZip thu thập từng đầu ra JPEG và đóng gói chúng thành một kho lưu trữ ZIP duy nhất mà trình duyệt phục vụ dưới dạng 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à lần tải trang ban đầu và thư viện JSZip (khoảng 95 KB ở lần truy cập đầu tiên, được lưu vào bộ nhớ đệm sau đó). Mở tab Mạng của DevTools trong khi bạn 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 tải xong và bộ chuyển đổi tiếp tục hoạt động trên các PNG cục bộ.

Lịch sử ngắn gọn về PNG và JPEG

Cách hoạt động

  1. Tải lên các tệp PNG của bạn: thả hoặc chọn một hoặc nhiều tệp PNG để chuyển đổi.
  2. Tùy chỉnh: điều chỉnh chất lượng (60-100%) và chọn màu nền cho các vùng trong suốt nếu có.
  3. Chuyển đổi: nhấp « Chuyển sang JPG ». Hình ảnh đơn lẻ sẽ tải xuống trực tiếp; nhiều tệp được gộp thành ZIP.

Tại sao chuyển PNG sang JPG?

JPG là một định dạng hình ảnh có mất mát xuất sắc với hình ảnh nhiếp ảnh phức tạp có nhiều màu sắc. Nó tạo ra các tệp nhỏ hơn PNG, làm cho nó lý tưởng cho web, đính kèm email và chia sẻ nhanh. Hoàn hảo cho ảnh, hình minh họa và hình ảnh không cần thiết phải có độ trong suốt. PNG vẫn được ưa chuộng cho đồ họa cần độ trong suốt hoặc chất lượng không mất mát.

Tính năng

Quy trình PNG-sang-JPG trong thế giới thực

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 PNG-sang-JPG dựa trên đám mây (CloudConvert, Convertio, iLoveIMG, FreeConvert, TinyJPG, và hàng tá dịch vụ "png sang jpg trực tuyến") 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ả lại JPEG dưới dạng tải xuống. Các tệp PNG thường xuyên chứa nội dung mà mọi người sẽ không muốn được sao chép vào ổ cứng của người lạ: ảnh chụp màn hình của các giao diện nội bộ và tài liệu mật, quét thẻ ID và biểu mẫu thuế, hình minh họa theo NDA, mockup thiết kế chưa được phát hành, ảnh gia đình với khuôn mặt rõ ràng. Hầu hết các nhà điều hành công bố các chính sách quyền riêng tư cam kết xóa các tệp 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 có chứng nhận ISO/IEC 27001. Họ có lý do thương mại mạnh mẽ để tôn trọng các chính sách đó. Nhưng "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 hình ảnh nằm trong cơ sở hạ tầng của nhà điều hành, có thể truy cập bởi bất kỳ quy trình hoặc người nào có quyền thích hợp, và hiển thị trong nhật ký 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ộ đường ống (chọn tệp, giải mã PNG qua bộ giải mã tích hợp của trình duyệt, tổng hợp Canvas đối với màu nền, mã hóa JPEG, đó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 bằng JavaScript và HTML5 Canvas API. Không có tải lên, không có yêu cầu mạng nào mang dữ liệu hình ảnh, không có mục nhật ký. Bạn có thể xác minh bằng cách mở các công cụ dành cho nhà phát triển trình duyệt vào tab Mạng trước khi chuyển đổi: không có yêu cầu nào bắn ra với nội dung hình ảnh. Lưu lượng mạng duy nhất là lần tải trang ban đầu và thư viện JSZip nhỏ (~95 KB) được tải một lần khi truy cập lần đầu và được lưu vào bộ nhớ đệm sau đó. Chuyển trình duyệt sang chế độ máy bay sau khi trang tải và bộ chuyển đổi tiếp tục hoạt động trên các PNG cục bộ.

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

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

Điều gì xảy ra với các vùng trong suốt của PNG?

JPG không hỗ trợ độ trong suốt. Bạn có thể chọn màu nền (trắng, đen hoặc tùy chỉnh) để lấp đầy các vùng trong suốt. Màu này sẽ thay thế độ trong suốt khi chuyển đổi.

Nên dùng chất lượng nào?

Đối với hầu hết các mục đích sử dụng, chất lượng 85–90% mang lại kết quả hình ảnh tốt với việc giảm kích thước đáng kể. Sử dụng 90%+ cho ảnh chuyên nghiệp, 75–85% cho sử dụng web nói chung và 60–75% cho thumbnail và xem trước.

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

Có. Tải lên nhiều PNG và áp dụng cùng các thiết lập chất lượng và nền cho tất cả. Tệp đơn lẻ tải xuống trực tiếp; nhiều tệp được tự động gộp thành kho lưu trữ ZIP.

Giới hạn kích thước tệp là bao nhiêu?

Mỗi PNG có thể đến 50 MB. Tổng kích thước phụ thuộc vào bộ nhớ khả dụng của trình duyệt, nhưng bạn thường có thể chuyển đổi vài trăm MB tích lũy.

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

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

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

Tại sao đầu ra JPG của tôi lớn hơn đầu vào PNG?

Bởi vì PNG của bạn là nội dung đồ họa thay vì chụp ảnh. Nén DEFLATE của PNG xử lý các vùng màu phẳng lớn cực kỳ tốt, thường thu nhỏ chúng xuống một phần nhỏ của byte mỗi pixel. Nén DCT của JPEG được điều chỉnh cho các bức ảnh tông màu liên tục; nó đưa nhiễu vào các vùng mượt mà và lượng tử hóa các cạnh màu sắc nét thành các quầng hào quang có thể nhìn thấy mà bản thân chúng tiêu thụ các bit. Một logo PNG 50 KB có thể trở thành một JPEG 200 KB, hoàn chỉnh với các tạo tác hào quang quanh các cạnh logo. Đối với các logo, ảnh chụp màn hình, hình minh họa, sơ đồ hoặc bất kỳ đồ họa màu phẳng nào, hãy ở trong PNG (hoặc chuyển sang WebP qua Image Converter, xử lý cả hai chế độ tốt). JPEG là đích đến đúng chỉ cho nội dung chụp ảnh.

Điều gì xảy ra với kênh alpha?

Nó bị mất vĩnh viễn. JPEG không có kênh alpha trong đặc tả định dạng. Công cụ này kết hợp PNG của bạn với màu nền bạn chọn (trắng theo mặc định, hoặc đen, hoặc bất kỳ màu tùy chỉnh nào qua bộ chọn màu) trước khi mã hóa, vì vậy các pixel trong suốt trở thành màu nền và các cạnh bán trong suốt pha trộn vào nền. Khi JPEG được viết, bạn không thể khôi phục độ trong suốt ban đầu; bạn sẽ phải quay lại PNG nguồn. Nếu bạn cần bảo tồn độ trong suốt, việc chuyển đổi bạn thực sự muốn là PNG sang WebP (lossy hoặc lossless), không phải PNG sang JPEG.

Tôi nên sử dụng màu nền trắng, đen, hay tùy chỉnh?

Khớp với nơi hình ảnh sẽ được hiển thị. Đối với một JPEG sẽ nằm trên một trang trắng (hầu hết các tài liệu, hầu hết các trang web với chủ đề sáng, hầu hết các email), trắng là lựa chọn đúng và là mặc định. Đối với một JPEG sẽ nằm trên nền tối (một trang web chủ đề tối, một slide thuyết trình tối, một khung phim tài liệu đen), đen pha trộn. Đối với mọi thứ khác, sử dụng bộ chọn màu tùy chỉnh và khớp với màu nền chính xác của đích đến. Bất kỳ sự không khớp nào giữa nền đã chọn và đích đến thực tế sẽ tạo ra một viền màu có thể nhìn thấy quanh các cạnh trước đây trong suốt của hình ảnh của bạn.

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

Có. Bộ giải mã PNG và bộ mã hóa JPEG đề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 lô đa tệp thành một kho lưu trữ ZIP, được tìm nạp một lần từ CDN khi tải đầu tiên và được lưu vào bộ nhớ đệm. Các chuyến thăm 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 PNG cục bộ.

Siêu dữ liệu EXIF có được bảo tồn không?

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 (model camera, độ phơi sáng, tọa độ GPS, các thẻ bản quyền) cùng với hồ sơ màu ICC được nhúng. JPEG đầ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 về quyền riêng tư (tọa độ GPS và số sê-ri thiết bị không bị rò rỉ). Đối với các quy trình lưu trữ nơi bạn cần bảo tồn siêu dữ liệu, hãy sử dụng một công cụ máy tính để bàn nhận biết siêu dữ liệu: ImageMagick với các tùy chọn -define, hoặc jpegtran với -copy all, hoặc Export As của Photoshop, tất cả đều có thể bảo tồn EXIF và ICC.

Có tương đương trên máy tính để bàn 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).flatten({background:'#fff'}).jpeg({quality:90}).toBuffer(). ImageMagick trên bất kỳ shell nào: magick input.png -background white -flatten -quality 90 output.jpg. Pillow của Python: Image.open(p).convert('RGB').save(out, 'JPEG', quality=90). Đố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, cũng phía máy khách) là thay thế trình duyệt gần nhất và hỗ trợ nhiều định dạng đầu ra hơn bao gồm AVIF. Photoshop, Affinity Photo và Preview trên macOS xử lý trường hợp GUI máy tính để bàn.

Công cụ liên quan