Design Assets Next-Gen Format Never Saved to Disk

Convert SVG to JPEG XL

Rasterize SVG files to JPEG XL, lossy or lossless, with transparency intact.

Chrome 155, Firefox 158 and Safari decode JPEG XL; keep an AVIF or WebP fallback for Edge and older installs. Our guide to JPEG XL in Chrome and what changes now has the dated state.

Long edge

Drop SVG files here and get JPEG XL files back, with transparent areas still transparent. Keep the size your SVG declares or pick a long edge up to 4096 pixels; the vector is drawn at that size, so edges stay sharp. The conversion runs in memory at api.mochify.app and nothing is saved to disk.

How to convert SVG to JPEG XL

  1. Pick a size. Original keeps the width and height your SVG declares (or its viewBox when those are missing). Or choose a long edge of 512, 1024, 1200, 2048 or 4096 pixels.
  2. Drop your SVGs. Up to 3 at a time on the free plan, 25 on a paid plan.
  3. Switch on Lossless for a pixel-exact file, then download your JXL files.

Lossy or lossless

By default this page makes a high-quality lossy JPEG XL, the smallest file, which is not pixel-exact. Switch on Lossless for a pixel-exact JXL of the rendered SVG; for flat-color graphics a lossless JXL is usually still smaller than the same image as a PNG (see JPEG XL vs PNG for screenshots).

What the converter keeps and drops

  • Kept: transparency; shapes, paths and text; images embedded in the file. Edges stay sharp at every size, because the vector is drawn at the size you pick.
  • Dropped: web fonts loaded by URL (outline lettering first), images linked from a URL (left out without warning) and animation (the un-animated state is what you get).
  • Size: the long edge you pick, or with Original the SVG's width and height, else its viewBox; a file with none of them has no size to work from, so add one first.

When JPEG XL makes sense for SVG artwork

JPEG XL suits a raster master you keep alongside the SVG: an archive copy at 4096 pixels, a handoff to a team whose tools read JXL, or an asset pipeline that already supports it. For a live web page, JXL can now be the first source, with AVIF or WebP as the fallback. Converting images to JPEG XL covers where JXL opens and how to serve it with a fallback; What is a JXL file? covers opening one.

Converting SVG to JPEG XL without a converter

Neither Inkscape's Export dialog nor Figma's export panel offers JPEG XL. Export a PNG at the size you need, then encode it with libjxl's command-line tool: cjxl logo.png logo.jxl -d 0 for lossless, or -d 1 for a high-quality lossy file.

Limits, bulk and automation

Without an account you can convert 3 images a month; a free account gives you 25 a month, up to 3 at a time, 20MB each. Paid plans (Seller, Pro and Growth) take batches of 25 and files up to 75MB, and a $2 Day Pass gives 100 uploads over 24 hours with no account. The pricing page has the plans.

Through the REST API, on every plan, Free included; full reference in the API documentation:

curl -X POST "https://api.mochify.app/v1/squish?type=jxl&width=4096&lossless=1" \
  -H "Content-Type: image/svg+xml" \
  -H "Authorization: Bearer $MOCHIFY_API_KEY" \
  --data-binary @logo.svg \
  --output logo.jxl

width sets the output width in pixels and the vector is drawn at that width; lossless=1 makes the file pixel-exact. Leave either out for the defaults.

Frequently asked questions

Is this SVG to JPEG XL converter free?

Yes. Without an account you can convert 3 images a month, and a free account gives you 25 a month, up to 3 at a time. A paid plan or a $2 Day Pass takes batches of 25; the pricing page has the details.

Is the JXL lossless?

Only if you switch on Lossless. The default is a high-quality lossy JPEG XL, the smallest file; Lossless gives a pixel-exact JXL of the rendered SVG.

Does JPEG XL keep my SVG's transparency?

Yes. JPEG XL has a full alpha channel, so transparent areas stay transparent.

Can I use JXL files on my website?

With a fallback. Chrome 155, Firefox 158 and Safari decode JXL; serve it inside a <picture> element with an AVIF or WebP alternative for Edge and older installs, or use AVIF or WebP on their own.

What size will my JXL be?

With Original, the size your SVG declares: a 300 x 150 SVG becomes a 300 x 150 JXL. Pick 512, 1024, 1200, 2048 or 4096 and that becomes the long edge, with the other side in proportion.

Will a large size look blurry?

No. The vector is drawn at the size you pick, so a 4096-pixel JXL has edges as clean as a small one. Nothing is stretched from a smaller image.

Why does the text look different?

Web fonts that the SVG loads by URL are not fetched, so text falls back to a default font. Convert the text to outlines before exporting (Inkscape: Path > Object to Path; Illustrator: Type > Create Outlines).

What happens to linked images and animation?

Images linked by URL are left out, so embed them in the SVG first. Animation is ignored: the JXL is a still image of the SVG before anything moves.

What happens to my files?

Your SVG is sent to api.mochify.app, rendered and encoded in memory, and discarded once the JXL is returned. Nothing is written to disk, no logs contain your file data, and your files are never used to train AI.

Also available