Lossless Option Next-Gen Format Never Saved to Disk

Convert PNG to JXL

Drop PNG files here and get JPEG XL (JXL) files back. By default each file gets one high-quality encode tuned for PNG content, which makes the smallest file; switch Lossless on after uploading and the JXL reproduces your PNG pixel for pixel, usually still smaller than the original. Up to 3 files a month with no signup and 20MB per file, or 25 a month with a free account. Files are processed in memory at api.mochify.app and wiped the moment your download is ready.

How to convert PNG to JXL

1

Drop your PNGs

Drag up to 3 files onto the box, or click it to choose them. No account is needed for your first files.

2

Choose lossless if you need it

The default is a high-quality encode that makes the smallest file and looks the same on screen. Switch Lossless on if the JXL must match the PNG exactly, for archives, masters or graphics you will keep editing; it takes longer on large files. There is nothing else to set.

3

Download

Each JXL comes back in seconds, a little longer for big files in lossless mode.

Lossless or compressed: which should you pick?

Lossless gives you the PNG's pixels back exactly, in a JXL that is typically smaller than the PNG, because JPEG XL's lossless coder handles flat color, sharp edges and text very efficiently. Pick it for logos, icons, design assets, screenshots you will keep editing, and anything you would otherwise archive as PNG. It is the slower path and the difference shows on large files. Sixteen-bit PNGs stay 16-bit.

Compressed (the default) re-encodes the pixels with one high-quality setting chosen for PNG content. The result looks the same on screen and is a good deal smaller again than lossless, which is what you want for screenshots and UI exports you only need to look at, or photos that happen to be saved as PNG. It is not a pixel-exact copy, so keep the PNG if you might need one later.

Transparency is carried through in both modes: a PNG with a transparent background comes back as a JXL with the same alpha channel, so icons and cut-outs keep their edges.

Metadata is stripped by default, GPS included, with nothing to set for it on this page. If you need the file's metadata kept, the Mochify web app has a Strip EXIF switch and the API takes stripExif=false.

Can you use a JXL file on the web today?

Most visitors, from October 2026. Chrome 155 and Firefox 158 decode JPEG XL by default and Safari has since version 17, so a JXL can be the first source on a public page; keep an AVIF or WebP fallback for Edge and for browsers that have not updated yet. Our guide to JPEG XL in Chrome and what changes now has the dated browser table, and the practical JPEG XL guide covers the PNG path and the fallback pattern. JXL is also the right format for image pipelines and tools that read it, internal archives, and anywhere you control the viewer. JPEG remains the format that opens everywhere, including email and chat.

Frequently asked questions

Is this PNG to JXL converter free?

Yes, including lossless mode. Convert up to 3 files a month with no signup, or 25 a month with a free account, at up to 20MB per file. For bigger jobs, a $2 Day Pass covers 100 uploads in 24 hours, and Seller and Pro plans batch 25 files at a time.

Is the conversion lossless?

It can be. The default is a high-quality compressed encode, which makes the smallest file and looks the same on screen but is not pixel-exact. Switch Lossless on after uploading and the JXL reproduces your PNG pixel for pixel, usually still smaller than the PNG. Lossless takes longer on large files.

Which should I choose, lossless or compressed?

Lossless for logos, icons, design assets, screenshots you will keep editing and anything you would archive as PNG. Compressed for screenshots and UI exports you only need to look at, and for photos saved as PNG, where it makes a much smaller file. If in doubt, keep your original PNG and use compressed.

Does the JXL keep my PNG's transparency?

Yes, in both modes. The alpha channel is carried through, so transparent backgrounds and soft edges come back as they were.

What is a JXL file?

A .jxl file is an image in the JPEG XL format, a newer format designed to compress better than JPEG, PNG and WebP. Our guide What is a JXL file? covers how to open one, which apps support it and when converting back to JPEG is the safer choice.

Can I use JXL files on my website?

Yes, with a fallback: Chrome 155, Firefox 158 and Safari 17+ decode JXL, so serve it inside a picture element with an AVIF or WebP alternative for Edge and older installs. Our guide to JPEG XL in Chrome and what changes now has the dated state of support.

Can I convert formats other than PNG here?

This page is tuned for PNG. For JPEGs use the JPG to JXL converter, and for AVIF files the AVIF to JXL converter; each uses a path chosen for its input.

What happens to my files?

They travel over HTTPS to api.mochify.app, are converted in memory and wiped as soon as your download is ready. Nothing is written to disk and no logs contain your image data. Metadata is stripped by default, GPS included; if you need it kept, the Mochify web app has a Strip EXIF switch and the API takes stripExif=false.

PNG, JXL, AVIF or WebP: which one?

FormatTransparencyLossless on MochifyBrowser supportBest for
JXL (this page)YesYes, with the Lossless switch (compressed by default)Chrome 155+, Firefox 158+, Safari (stills)Smaller PNG replacements, lossless masters, first source on the web with a fallback
AVIFYesNoBroadLive web delivery, best compression
WebPYesNoBroadCMSes, email, social, wide compatibility
PNGYesIt is losslessUniversalPixel-exact masters, print, legacy tools

Bulk, batch and automated PNG to JXL

Seller and Pro accounts convert up to 25 files per batch at up to 75MB each, and a Day Pass gives you 100 uploads in 24 hours for $2 with no account. The same conversion runs from the terminal with the Mochify CLI (mochify, sign in once with mochify auth login), from an AI agent through the hosted or local MCP server, and from the REST API:

curl -X POST "https://api.mochify.app/v1/squish?type=jxl" \
  -H "Authorization: Bearer $MOCHIFY_KEY" \
  --data-binary @screenshot.png \
  -o screenshot.jxl

The CLI, MCP and API are clients over the same encoder as this page: files travel over HTTPS to api.mochify.app, are converted in memory and discarded. Full parameter reference in the API documentation. Lossless is available there too: add &lossless=1 to the same request. Coming from a JPEG instead? The JPG to JXL converter is the better starting point; from AVIF, use AVIF to JXL.

Also available