F
Flip3D

JPEG → 3D · Heightmap

JPEG to STL

Convert a .jpeg into a printable 3D relief or lithophane. Brightness becomes height — drop the JPEG and download an STL. Free, instant, 100% local, no signup.

No image handy?

How to use it

  1. Drop a PNG, JPG or WebP above (high-contrast images give the cleanest result).
  2. Pick Relief (bright = taller emboss) or Lithophane (dark = thicker, glows when backlit).
  3. Set the physical width and thickness, then download a watertight STL.

Converting a .jpeg to STL

This is a free JPEG to STL converter: it reads the brightness of every pixel in your .jpeg and turns it into height, producing a watertight 3D solid you can slice and print. Use relief mode for a raised emboss you print flat, or lithophane mode for a panel that reveals the image when it is backlit.

One thing matters more with JPEG than with any other input: compression. JPEG is lossy, and a heightmap converts brightness differences directly into geometry — so the block artifacts a heavily compressed JPEG contains end up as physical ridges on the print. The fix is simple: start from the best-quality original you have rather than a re-saved or messaged copy.

Everything runs locally in your browser. There is no upload, no account and no watermark, and the exported STL opens in Bambu Studio, PrusaSlicer, Cura, Tinkercad and anything else that reads STL.

Frequently asked questions

Is .jpeg different from .jpg?
No — they are the same format, just two spellings of the same extension. The three-letter .jpg dates from an era when file extensions were capped at three characters; scanners, macOS exports and email attachments often keep the full .jpeg. You do not need to rename anything: drop either one in and it converts identically.
How do I convert a JPEG to STL?
Drop your .jpeg above, pick relief or lithophane, set the physical width and thickness, then download the STL. Each pixel's brightness sets how tall that point is, so a light area rises and a dark area stays low.
Why does my printed relief look grainy or blocky?
That is usually JPEG compression showing through. JPEG throws away detail in 8×8 pixel blocks, and a heightmap turns every one of those brightness steps into real geometry — so compression artifacts become visible ridges and squares on the print. Start from the highest-quality JPEG you have (or a PNG), avoid re-saving it repeatedly, and lower the Detail slider to smooth the worst of it.
What size JPEG should I use?
Around 1000–2000 pixels on the long edge is the sweet spot. Below that the relief loses detail; far above it you mostly add triangles without adding anything the printer can resolve, since a 0.4 mm nozzle cannot reproduce pixel-level detail anyway.
Can I open the result in Tinkercad?
Yes. Tinkercad imports STL, so download the file here and use Import in Tinkercad to bring it in and combine it with other shapes. Keep the model modest in size — Tinkercad rejects very large imports, so lower the Detail slider if the file is too big.
Does it work with PNG, JPG and WebP too?
Yes, the same box accepts all of them. A PNG is worth choosing when you have one, because it is lossless and has no compression artifacts to bake into the relief.
Is the JPEG to STL converter free?
Yes — free, no signup, no watermark, and no file-size paywall. It converts locally in your browser.
Does my JPEG get uploaded anywhere?
No. There is no server and no upload — the JPEG is converted on your device and nothing is stored.