Custom PRD build: JPEG XL Conversion Tips and Mistakes
Reviewed by the OnlineFree.app team · Updated
Key points
- Custom PRD build converts one image between JPEG, PNG, WebP and JPEG XL in the browser without uploading the file.
- Its size-compare bars show original bytes, converted bytes and the delta percentage for your exact image.
- Lossless is the default for PNG and JXL input, and the quality slider is ignored while lossless is on.
- Files over 25 MB or 40 megapixels are rejected, so resize panoramas and scans before converting.
- Keep a JPEG or WebP fallback: browser support for .jxl remains uneven as of 2026.
What is Custom PRD build?
Custom PRD build is an in-browser image converter that turns one JPEG, PNG or WebP file into JPEG XL (.jxl) — or a .jxl back into JPEG, PNG or WebP — and shows exactly how many bytes the conversion saved. The file never leaves your machine: encoding and decoding run locally, so nothing is uploaded, queued or stored.
Open Custom PRD build, drop a file, and the result appears beside the original in the same view. The default target format is .jxl when your input is not already .jxl, and JPEG when it is; lossless is switched on automatically for PNG and JXL input and off for JPEG and WebP.
Those defaults matter for privacy-sensitive work. Unreleased product photos, client images under NDA, or a screenshot with credentials in the corner can all be tested without a round trip to someone else's server — the same client-side approach behind the rest of FreeOnline.fyi, from the Live Currency Converter to the small single-purpose utilities.
How to convert an image to JPEG XL
The whole conversion is six decisions: drop the file, confirm the target format, choose lossless or quality, pick encoder effort, decide on metadata, then press Download. Nothing runs until a file is dropped, and changing any control re-runs the conversion immediately so you can compare settings without re-uploading anything.
Lossless is a toggle, not a quality level. While it is on, the 1–100 quality slider is ignored: set it to 100 or to 10 and you get identical bytes. Turn lossless off to use the slider, whose default of 90 follows the JPEG/WebP quality scale rather than describing a percentage of quality retained.
Encoder effort maps to libjxl effort levels — fast is 3, balanced is 5, max is 7. Balanced is the sensible default for a quick size check; max can take 10 seconds or more on a large image and rarely changes the verdict for a casual comparison. Leave metadata on unless you have a reason not to: it preserves EXIF orientation and the ICC profile wherever the target format allows them.
What the size-compare bars tell you
The results panel reports three numbers for your file only: original bytes, converted bytes, and the delta as a percentage, plus a verdict line such as “JXL is 34% smaller at equal quality” when that holds true. Two stacked bars animate to scale, so a 12% win and a 60% win look different at a glance.
Treat the delta as a measurement, not a promise. A large JPEG converted with lossless on is being recompressed rather than re-encoded from scratch — JPEG XL supports lossless transcoding of existing JPEGs, which is why pixels come back identical while the file shrinks, as described in the JPEG XL overview on Wikipedia.
Small PNGs, flat-colour screenshots and already-optimised WebP files can come out larger as .jxl. The bars will say so honestly, and the tool still lets you download the result — but when the delta is negative, keep the original file.
Common mistakes with .jxl conversion
The most frequent confusion is dragging the quality slider while lossless is on. It does nothing in that mode. If you want to trade quality for bytes, switch lossless off first, then move the slider and watch the size bars update.
The second mistake is chasing a big number by converting a JPEG to lossy JXL at quality 90. You are then encoding already-degraded pixels a second time. For archiving and for shrinking an existing photo library, lossless JPEG recompression is the safer path; reach for lossy .jxl when you are producing a fresh derivative for the web.
The third is switching metadata off to save a few bytes and then finding portrait photos rotated 90 degrees, because EXIF orientation was stripped. Watch the hard limits too: anything above 25 MB or 40 megapixels is rejected, so panoramas, large scans and some RAW exports need resizing first. Since the download keeps the original filename with a new extension, check your downloads folder before overwriting something you care about.
Does JPEG XL work in browsers in 2026?
Support is still uneven as of 2026. Chrome removed its JPEG XL decoder in Chrome 109 in early 2023, Safari has decoded JPEG XL since Safari 17 on Apple platforms, and Firefox has kept it behind a flag. Treat .jxl as a progressive enhancement: serve it through a <picture> element with a JPEG or WebP fallback, and confirm current support before making it your only format.
Two practical limits are worth knowing. The tool handles one file at a time with no batch queue, so a command-line encoder is the better choice for hundreds of images. And the bytes you get depend on the libjxl build compiled into the page, so a different encoder version or effort setting can produce slightly different output from the same source. The JPEG committee publishes the format's specification if you want the details.
Finally, don't read one result as universal. Your delta applies to your image at your settings; a different photo, quality value or effort level can flip the conclusion. For anything load-bearing — a CDN build step, a client deliverable — verify the final numbers yourself before shipping.
Frequently asked questions
Is Custom PRD build free, and are my images uploaded?
Custom PRD build is free and does not upload your images. Conversion runs inside your browser, so the file is read locally and the output is generated on your device — there is no upload step and nothing is stored on a server. Once the page and its encoder have loaded, you can even disconnect from the network and still convert.
What file types and size limits does Custom PRD build accept?
It accepts one JPEG, PNG, WebP or JPEG XL file at a time, up to 25 MB and 40 megapixels, and can output .jxl, .jpeg, .png or .webp. Anything larger is rejected, so resize panoramas, large scans or RAW exports before dropping them in. There is no batch mode — each file is converted separately.
Does lossless JPEG XL conversion change the image?
No. With lossless switched on, a JPEG converted to .jxl decodes back to the same pixels: the tool recompresses the existing JPEG data instead of re-encoding it, so the file can shrink without generation loss. Lossy mode at any quality below 100 does change pixels, so compare the side-by-side preview before replacing an original.
Why did my .jxl end up larger than the original?
Small PNGs, flat-colour screenshots and already-optimised WebP files often grow when converted to JPEG XL, because little redundancy is left to remove. The size-compare bars show the delta as a percentage, so read the sign before deciding. If the converted file is bigger, keep the original and skip the conversion.
Can I use .jxl on a website in 2026?
You can, but not as your only format. Support is uneven as of 2026: Chrome removed its decoder in version 109, Safari has decoded JPEG XL since version 17, and Firefox keeps it behind a flag. Serve .jxl through a <picture> element with a JPEG or WebP fallback, and verify current support before shipping.