Drop in a picture, get a file your 3D printer can print.
Hold it up to a light and the photo appears. Free, runs in your browser, nothing is uploaded.
▶ Try it now — no sign-up, no install
A lithophane is a thin plate printed at varying thickness — thick where the photo is dark, thin where it is bright. Sitting on a shelf it looks like a blank white slab. Put a lamp or a window behind it and the picture appears, in surprising detail.
They make very good gifts, night lights and lamp shades, and they print on any ordinary FDM printer in white PLA. The only hard part is turning the photo into a printable file.
That conversion, in your browser. You give it a JPG, PNG or WEBP; it works out the
thickness map and builds a watertight mesh — surface, base and side walls, not just
a bumpy plane — then hands you a binary .stl your slicer will accept without asking
you to repair it first.
You see the result in 3D before you export, with a backlit preview that shows roughly what it will look like once it is printed and lit. Adjust brightness, contrast and thickness until it looks right, then download.
Flat panel, curved panel, or a full cylinder for a lamp shade.
- Anyone with a 3D printer who wants to make a gift out of a photo and does not want to learn Blender to do it.
- People who would rather not upload family photos to a stranger's website to get an STL back.
- Anyone who tried a free online generator and got a mesh full of holes that the slicer refused, or a paywall at the download step.
The usual lithophane generators upload your photo to a server, ask you to register, cap the resolution, or hand back a broken mesh. This one runs inside the page: your photo never leaves your computer, because there is nowhere for it to go — there is no backend at all. No account, no limit, no watermark, no cost.
- Image to 3D — JPG / PNG / WEBP, drag & drop anywhere, paste with Ctrl+V, or try the built-in sample
- 3 shapes — flat panel, curved panel, cylinder lampshade (curved and cylinder are exported standing up, ready to print)
- Geometry — width, min/max thickness, frame, curvature, detail level
- Image adjustments — brightness, contrast, plus gamma, softness, mirror and invert under Advanced
- Live 3D preview — orbit, zoom, wireframe, and a Backlit view that shows how the print glows
- Export — binary
.stl(closed, outward-facing, print-ready),.obj, and a grayscale light-map PNG - Settings are remembered between visits
The live demo needs nothing. To run it locally (works offline, nothing leaves your machine):
1. Install uv (it installs Python apps for you). Then close and reopen the terminal.
| Windows (PowerShell) | macOS | Linux |
|---|---|---|
winget install astral-sh.uv |
brew install uv |
curl -LsSf https://astral.sh/uv/install.sh | sh |
2. Install Lithophane Studio
uv tool install git+https://github.com/metiutek/lithophane-studioIf the terminal says lithophane is not recognized, run uv tool update-shell, then close
and reopen the terminal.
3. Open it
lithophaneIt opens in your browser at http://127.0.0.1:8770. Press Ctrl+C in the terminal to stop.
Options: --port 9000, --no-browser. Update with uv tool upgrade lithophane-studio.
Just want to try it once, without installing? uvx --from git+https://github.com/metiutek/lithophane-studio lithophane
git clone https://github.com/metiutek/lithophane-studio.git
cd lithophane-studio
python -m lithophane_studioGeometry tests (closed mesh, outward normals, sits on the bed) run with Node, no install:
node test/mesh.test.mjs| Parameter | Recommended |
|---|---|
| Min thickness | 0.6 mm |
| Max thickness | 3 mm |
| Layer height | 0.1 mm |
| Infill | 100 % |
| Supports | No |
Print flat panels standing upright, on the short edge: the layer lines then run across the image instead of along it, and the detail survives.
- Three.js — 3D rendering and preview
- Canvas API — image processing and heightmap extraction
mesh.js— pure, DOM-free mesh generation (surface + base + walls, seamless cylinder) and STL/OBJ exporters- Zero backend, zero dependencies to install, 100 % client-side
MIT — see LICENSE.
made by https://metiu.xyz/
