💡 Lithophane 3D Print Maker

Turn a photo into a flat lithophane plate you can 3D print, with a live preview of how it will look lit from behind. Downloads a real binary STL. Free, and your photo never leaves your browser.

High contrast portraits and pet photos work best. A busy landscape turns to mud once it is squeezed into two and a half millimetres of plastic. You get a flat plate and nothing else, no frame box, no curved shade, no hanging hole.

Print size
Thickness
Set this to the layer height you will actually slice at. At 0.2 mm the classic 0.8 mm to 3.2 mm pair is four layers and sixteen layers, both whole numbers. Whole multiples avoid a stray part layer on the face.
Exposure
Printed lithophanes read far darker than a screen. Raise gamma until the preview looks slightly washed out, that is usually right.
Surface
A little blur kills the banding you get from a small number of thickness steps.
A solid rim at full thickness. It gives the plate strength and something to hold.
Detail
Millimetres per sample. Finer means a bigger STL, and past your nozzle width it buys you nothing.
Orientation of the exported model
Standing is what you want. Printed flat, the image is built out of layer steps and the detail disappears.

A simulation of white PLA lit from behind. Real results shift with your filament and your light.

Before you send it to the printer
  • Print it standing up, with a brim. The exported model already stands up unless you switched that off.
  • White or natural PLA. Dark filament will not transmit light.
  • Slice at the same layer height you set above, 100% infill, and slow it down. Speed shows up as ripples in the picture. Finer layers, 0.12 mm or 0.1 mm, look smoother, so if you want those set the field above to match before you export.
  • You need a light behind it. A window, a phone torch, or an LED panel two to three centimetres back.
What this does not make
  • A flat plate only. No frame box, no curved lamp shade, no LED housing, no hanging hole.
  • The backlit view is an estimate of light passing through plastic, not a render of your exact filament.
🎬 Plus mockups, video compression, PDF signing & 250+ more free toolsOpen Castwright

What a lithophane actually is

A lithophane is a thin plate of translucent material whose thickness carries the picture. Where the plate is thick, less light gets through and you see black. Where it is thin, light floods through and you see white. Hold it up to the light and a photograph appears out of what looked like a blank white tile. Porcelain versions date to the 1820s. A 3D printer makes the same thing out of a couple of grams of PLA.

Why the print always comes out too dark

This is the one thing that ruins first attempts. Light falls off exponentially as it passes through plastic, so a thickness scale that looks perfectly even on screen prints as a picture that is almost entirely shadow. The fix is to bend the tone curve before you generate the mesh, which is what the gamma control here does, and why it starts at 2.0 rather than 1.0. The backlit preview on this page applies the same exponential falloff, so what you see is much closer to what comes off the bed than a plain greyscale height map would be.

Choosing the numbers

0.8 mm at the thinnest and 3.2 mm at the thickest is the standard pair and it is a good place to start. Going thinner than 0.8 mm makes the bright areas fragile and prone to gaps. Going thicker than about 3.5 mm buys almost no extra darkness, because by then hardly any light is getting through anyway, and it doubles your print time. Detail is limited by your nozzle, so sampling finer than about 0.2 mm per point adds file size without adding anything you can see.

What this generator does and does not do

Free lithophane makers already exist and some of them are very good, including ones with curved and box modes this page does not have. What this one concentrates on is the part that usually goes wrong: judging the exposure before you commit six hours of printer time. You get a live backlit simulation, auto levels that clamp to the photo's real black and white points, layer height snapping, upright orientation on export, and the triangle count and file size shown before you download rather than after. The mesh is watertight, with a full perimeter wall and a closed back, so slicers do not complain about open edges.

Nothing is uploaded

The photo is read by your browser, sampled to a height map on a canvas, and written out as a binary STL byte by byte in the page itself. There is no server step, no queue and no upload size limit, which matters when the photo is of your family rather than a test pattern. Close the tab and it is gone.