← Custom PRD build

Custom PRD build: Convert Images to JPEG XL In-Browser

Reviewed by the OnlineFree.app team · Updated

Key points

  • Custom PRD build converts JPEG, PNG, WebP and .jxl files entirely in the browser, with nothing uploaded to a server.
  • It handles one image per run, up to 25 MB and 40 megapixels, and rejects anything larger.
  • The size-compare bars report exact original and converted byte counts plus a percentage delta for that file only.
  • Lossless is on by default for PNG and .jxl input, and off for JPEG and WebP input.
  • As of 2026, native JPEG XL browser support is uneven, so ship .jxl with WebP or JPEG fallbacks.

What Custom PRD build actually does

Custom PRD build is a no-upload JPEG XL converter that re-encodes one image between JPEG, PNG, WebP and .jxl entirely inside your browser tab. You drop a single file, it shows original bytes versus converted bytes side by side, and you download the result — the image itself is never sent to a server.

The tool accepts image/jpeg, image/png, image/webp and image/jxl, and rejects anything above 25 MB or 40 megapixels. That ceiling is deliberate: it covers ordinary photos, screenshots and site assets, not giant scans. The layout is split, with the drop zone and controls on the left and the live preview plus the two animated byte-bars on the right, so the number and the pixels are visible at the same time.

Defaults are opinionated. If you feed in a .jxl, the target switches to .jpeg; for every other input the target is .jxl. Lossless is on for PNG and JXL input and off for JPEG and WebP, quality sits at 90, and encoder effort is set to balanced. It is the same drop-in, nothing-uploaded pattern you will find across FreeOnline.fyi.

How do you convert an image to JPEG XL step by step?

Open Custom PRD build and drop your file onto the left panel, or use browse. Conversion fires immediately on drop, so the size compare and preview appear without a separate Convert button. From there you have five decisions to make.

First, confirm the target format. Second, decide the lossless toggle: when it is on, the quality slider is disabled because quality has no meaning in a lossless encode. Third, if lossless is off, set quality on the 1–100 JPEG/WebP scale, where the default is 90. Fourth, pick encoder effort — fast, balanced or max, which map to libjxl effort levels 3, 5 and 7 respectively; max warns that it may take 10 seconds or more per image.

Fifth, read the result rather than guessing. The size table lists original bytes, converted bytes and the delta percentage, and the preview compare renders both images at the same zoom. When the numbers look right, hit Download: the output keeps your original base filename with the new extension.

One practical note on speed. Because the encode runs locally, a typical 12-megapixel photo finishes in about a second or two on balanced effort on a modern laptop, but that varies with your CPU, the image dimensions and the effort level you selected.

Reading the size-compare bars honestly

The delta percentage uses a simple formula: (original bytes − converted bytes) ÷ original bytes × 100. If a 3,200,000-byte photo comes back at 2,112,000 bytes, the bar reads 34% smaller — that is arithmetic on your exact file, not an estimate or an average.

The catch is that two percentages only compare fairly when the settings are comparable. A lossless .jxl next to a quality-90 JPEG is a different claim than a quality-90 .jxl next to a quality-90 JPEG. The verdict line summarises the comparison under the settings you chose, so read it together with the toggles, not on its own.

Numbers alone also will not tell you whether an image still looks acceptable. Push the preview to 100% and check the places compression shows first: gradients in skies, thin text on screenshots, hair and foliage, hard edges against flat backgrounds, and skin tones. Flat-colour UI screenshots rarely show damage; busy photography often does.

Lossless or lossy — which should you choose?

The tool already makes a sensible first guess: lossless on for PNG and .jxl input, off for JPEG and WebP input. That matches how the formats behave. PNG screenshots and diagrams are the classic lossless JPEG XL win, because lossless JXL usually beats PNG's own compression on the same pixels while keeping every value identical.

For photographic JPEG input, turning lossless on is usually the wrong move — you are asking the encoder to preserve JPEG's existing artefacts perfectly, and the file often gets larger instead of smaller. Leave lossless off, set quality around 90, and compare against the original JPEG bytes.

WebP sits in the middle. If your source is already a lossy WebP, expect a smaller gain than from a comparable JPEG, because you are re-encoding something that was compressed with a modern codec. If it is lossless WebP, a lossless .jxl is a fairer fight.

Either way, never re-encode the same photo lossy-to-lossy several times to chase a smaller number. Each lossy pass discards detail permanently, and the byte saving will not be worth what you lose.

Limits, edge cases and common mistakes

Custom PRD build handles one image per conversion. There is no batch mode, so a folder of 200 assets means 200 drops. Files over 25 MB or images beyond 40 megapixels are rejected outright, and you will need a desktop encoder such as libjxl for those.

Metadata is the most common surprise. Keep metadata on and EXIF orientation plus the ICC profile travel with the file where the target format supports them. Turn it off and a phone photo shot in portrait can land sideways, while a wide-gamut image can shift colour when the profile is dropped. Leave it on unless you specifically want a stripped file.

Format limits matter too. JPEG has no alpha channel, so transparent PNG or WebP content cannot stay transparent if you target .jpeg — check the preview before you download. Also remember that max effort is a real time cost, not a quality guarantee: it can take 10 seconds or more, and on smaller images the byte difference versus balanced is often marginal.

Finally, treat every reported saving as specific to that one file. The same settings can produce very different results on the next image, so verify important numbers yourself rather than extrapolating from a single conversion.

Should you ship .jxl to users yet?

JPEG XL is a genuine standard — ISO/IEC 18181, maintained by the JPEG committee — and the Wikipedia entry on JPEG XL is a reasonable starting point for its history and features. Standardisation is not the same thing as browser support, though.

As of 2026, native JPEG XL rendering in mainstream browsers is still uneven, so a .jxl served directly to visitors may simply fail to display for some of them. If you ship it, wrap it in a picture element with WebP and JPEG fallbacks, and keep those fallbacks as the default rather than an afterthought.

Use Custom PRD build for what it is good at: a fast, private answer to "is JXL smaller for this specific image?" before you commit to re-encoding an asset pipeline. Keep the original files, test the actual saving on real content, and check the rest of FreeOnline.fyi's free online tools if you want other browser-side utilities that work the same way.

Frequently asked questions

Is Custom PRD build free, and do I need to install libjxl or any software?

Yes, Custom PRD build is free and needs no installation, no account and no command-line tooling. The conversion runs inside your browser tab, so you never set up libjxl or an encoder locally. You open the page, drop an image, and download the result. The only requirement is a reasonably modern browser and a file under the 25 MB and 40-megapixel limits.

Does Custom PRD build upload my image to a server?

No. Custom PRD build processes the image entirely in your browser, and the image data itself is never uploaded. The page may need to fetch its own code or encoder files when it loads, but your file stays on your machine. That makes it usable for client work, unreleased screenshots or personal photos you would rather not send anywhere.

What file size and dimensions can Custom PRD build convert?

Custom PRD build accepts one image at a time and rejects anything larger than 25 MB or 40 megapixels, in JPEG, PNG, WebP or .jxl form. If your file is bigger, resize or crop it first, or use a desktop encoder. There is no batch mode, so converting many files means dropping them one after another.

What is the difference between lossless and lossy in Custom PRD build?

Lossless mode re-encodes every pixel exactly, and Custom PRD build turns it on by default for PNG and .jxl input while disabling the quality slider. Lossy mode uses the 1–100 quality scale, default 90, and produces smaller files with some discarded detail. For photos, lossy is usually the smaller option; for screenshots and diagrams, lossless often wins anyway.

How accurate is the byte saving Custom PRD build reports?

The byte counts and delta percentage are exact for the specific conversion you just ran, since they compare the original file size against the newly encoded file. They are not a prediction for other images, and a lossless .jxl beside a lossy JPEG is not an equal-quality comparison. Re-run the tool on each asset and verify before changing production files.

References

Try Custom PRD build free — no sign-up, works in your browser
Open the tool →

More free tools

Step-by-step guides in our blog & guides.

Universal Online Converter Hub Image Compressor Target Size Kb UAE Gratuity Calculator Video Thumbnail Generator Online Free Prozentrechner Online Kostenlos Mit Rechenweg التحويل من Mp4 الى Mp3 حاسبة تكلفة البناء في السعودية Tarot Card Reading Product Mockup Ai Generator Calcul Consommation Essence Trajet