Image to STL converter, free and fully in your browser
Turn a PNG, JPG, WebP, GIF or SVG image into a binary STL for 3D printing: a raised relief of a logo, or a flat lithophane of a photo. Set the size and depth, check the 3D preview, download. The image never leaves your computer: everything is computed in your browser.
Nothing is uploaded. The image is read and converted on your machine.
Add an image to see the grid and the triangle count before you build.
Add an image to start.
- Grid
- -
- Triangles
- -
- Model size
- -
- STL size
- -
- Build time
- -
Need a curved, cylinder, sphere, moon or heart lithophane, a border or up to 1024 points? The Lithophane Generator (Pro) makes those shapes. A wrap-around cylinder lamp is also in the free 3D relief tool.
How it works
Three steps, no account.
Add an image
Drop a PNG, JPG, WebP, GIF or SVG file on the converter above. It is read in your browser and never uploaded. A transparent background is treated as white.
Set size and depth
Choose Relief or Flat lithophane, type the width in millimetres, the base thickness and the relief height, and pick a resolution. The triangle count updates before anything is built, and the preview follows every change.
Download the STL
You get a closed binary STL in millimetres, ready for Cura, PrusaSlicer, Bambu Studio or OrcaSlicer. The model stands on Z = 0 and is centred on X and Y.
Settings
What goes in, what comes out and what you can set.
| Setting | Range and default | What it does |
|---|---|---|
| Input formats | PNG, JPG, WebP, GIF, SVG | One image at a time. An animated GIF uses its first frame. Transparent areas count as white. Images over 2,048 pixels on the long side are scaled down once. |
| Mode | Relief or flat lithophane, default relief | Relief: light areas are high. Lithophane: dark areas are thick, so the picture shows when light passes through. |
| Width | 5 to 500 mm, default 60 | Model width on X. The depth on Y follows the image proportions. |
| Base thickness | 0.1 to 20 mm, default 0.8 | The flat plate. In lithophane mode it is the thinnest part, where the image is brightest. The default is the FDM minimum wall, 0.8 mm, and the page warns below it. |
| Relief height | 0.1 to 50 mm, default 0.8 | How far the highest areas rise above the base. In lithophane mode it is the extra thickness of the darkest areas. The default is the FDM minimum emboss height, 0.8 mm, and the page warns below it in relief mode. |
| Resolution | 20 to 400 points, default 200 | Grid points along the longer side. A W x H grid makes 4 x (W x H - 1) triangles, so the ceiling of 400 x 400 is 639,996 triangles. |
| Gamma | 0.2 to 5, default 1 | Tone curve applied before the height is set. Above 1 darkens the mid tones, below 1 lightens them. |
| Invert tones | Automatic | Swaps high and low. In relief mode it is on when the image edge is light, so a dark logo rises from a light background. |
| Output | Binary STL, millimetres | 84 byte header, then 50 bytes per triangle. A closed solid: flat bottom on Z = 0, four side walls, every edge shared by exactly two triangles. |
| Upload | None | The page sends no image and no model data anywhere. |
Relief or lithophane
Both modes build the same kind of closed solid. They differ in what the brightness of a point means.
| Relief | Flat lithophane | |
|---|---|---|
| Height follows | Brightness: light is high. Invert tones for a dark subject on a light background. | Darkness: dark is thick, bright is thin. |
| Best for | Logos, icons, signs, badges, keychains, stamps and bas-relief | Photos, portraits, night lights and window hangings |
| How you look at it | In ordinary light, from the textured side | With light shining through it from behind |
| Best image | Few tones, strong contrast, plain background | Many tones, smooth gradients, good exposure |
| Thickness numbers | For FDM, a base of at least 0.8 mm and a relief height of at least 0.8 mm. | The thinnest part follows the 0.8 mm FDM minimum wall. The rules core has no lithophane thickness figure, so none is given: test a range with your own filament. |
| Layer height | At most 0.8 times the nozzle diameter, which is 0.32 mm for a 0.4 mm nozzle. Thinner layers give smoother steps between tones. | |
| Reading direction | The image reads correctly when you look at the textured side. Seen from the flat back it is mirrored. | |
Which image works best
A few habits make the difference between a clean model and a bumpy one.
Strong contrast
A black logo on white gives a clean step between base and relief. Mid grey becomes a mid height slope.
Plain background
Use one flat colour, or a transparent PNG. A busy background turns into bumps across the base.
Strokes wide enough
Embossed lines and text strokes should be at least 1.0 mm wide in the finished size. At 60 mm wide and 200 points, that is about 3 grid points.
PNG or SVG for logos
Sharp edges and no compression noise. JPG and WebP are fine for photos. An SVG is drawn at 1,024 pixels on the long side before it is sampled.
Good exposure for photos
Very dark or very bright photos lose tones. Adjust Gamma before you change the thickness.
Match resolution to detail
More points mean finer detail and a bigger file. The page shows the triangle count before it builds, so you can pick the lowest resolution that keeps your detail.
Measured example
Three test images at the default settings (60 mm wide, 200 points on the long side)
| Sample | Image | Mode | Grid | Triangles | Box, mm | STL size | Time |
|---|---|---|---|---|---|---|---|
| Logo with text | 200 x 120 px | relief | 200 x 120 | 95,996 | 60.000 x 36.000 x 1.600 | 4.58 MB | 215 ms |
| Gradient, portrait | 150 x 200 px | relief | 150 x 200 | 119,996 | 60.000 x 80.000 x 1.600 | 5.72 MB | 200 ms |
| Photo | 200 x 150 px | lithophane | 200 x 150 | 119,996 | 60.000 x 45.000 x 1.600 | 5.72 MB | 180 ms |
The test logo at four resolutions
| Points, long side | Grid | Triangles | STL size | Time |
|---|---|---|---|---|
| 100 | 100 x 60 | 23,996 | 1.14 MB | 94 ms |
| 200 | 200 x 120 | 95,996 | 4.58 MB | 215 ms |
| 300 | 300 x 180 | 215,996 | 10.30 MB | 347 ms |
| 400 | 400 x 240 | 383,996 | 18.31 MB | 553 ms |
Measured on 2026-10-07 in headless Chromium 149.0.7827.55 on an Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz workstation. Time is the page's own work from the moment the settings are applied until the binary STL is ready (resampling the image, the height map, the closed mesh and the STL bytes); drawing the 3D preview is not included. Median of 3 runs per row. The test logo is a 200 x 120 px PNG, the gradient a 150 x 200 px PNG and the photo a 200 x 150 px WebP. Each STL was checked byte by byte: size 84 + 50 x triangles, every edge shared by exactly two triangles, and the heights equal the reference engine on the same pixels. Your times will differ.
Frequently asked questions
How do I convert an image to STL?
Drop the image onto the converter at the top of this page, choose Relief or Flat lithophane, set the width in millimetres, the base thickness and the relief height, check the 3D preview and press Download STL. The page turns the brightness of each point into a height, builds a closed solid with a flat bottom and four side walls, and writes a binary STL in millimetres. There is no sign-up and no queue.
How do I convert a PNG to STL?
Drop the .png file onto the converter and press Download STL. PNG is the best format for logos and icons: the edges stay sharp, and a transparent background is treated as white. A dark logo on a white or transparent background becomes a raised logo on a flat base by default. The 1.8 KB test logo (a 200 x 120 px PNG) gave 95,996 triangles and a 4.58 MB STL at the default settings.
How do I convert a JPG to STL?
Drop the .jpg or .jpeg file onto the converter. JPEG compression adds faint noise around edges, and in a relief that noise shows as small bumps, so for a logo prefer PNG or SVG. For a photo JPG is fine: choose Flat lithophane to make a picture that glows when lit from behind, or Relief for a bas-relief in which bright areas are high.
How do I convert a logo to STL?
Use a logo with strong contrast on a plain background, ideally a dark shape on white, as PNG or SVG. The converter looks at the edge of the image: when the background is light, the logo rises above it, so the logo is raised and the background is the flat base. Keep strokes and text at least 1.0 mm wide in the finished size, which is about 3 grid points at 60 mm wide and 200 points. The defaults, a 0.8 mm base and a 0.8 mm relief, are the FDM minimums from the EduFacturing rules core; raise the relief height for a bolder look. You can drop an SVG too: it is drawn at 1,024 pixels on the long side before it is sampled.
Is the image to STL converter free?
Yes. There is no account, no daily quota and no watermark on the output.
Is my image uploaded to a server?
No. The image is read inside your browser tab, drawn on a canvas and converted by code that runs on your own machine. The page sends no image and no model data anywhere, which matters for client logos and private photos.
How do I make a lithophane from a photo?
Choose Flat lithophane, drop a well exposed photo with a clear subject and set the model width. Dark areas become thick and block light, bright areas stay thin and glow when lit from behind. The thinnest part is the base thickness and the darkest areas are the base plus the extra thickness you set; more extra thickness gives more contrast. The rules core has no thickness figure for lithophanes, so this page does not give one: try a thickness range with your own filament, because light transmission depends on the material, the colour and the layer height. The FDM minimum wall of 0.8 mm still applies to the thinnest part, and the page warns below it. For curved, cylinder and other lithophane shapes, open the Lithophane Generator (Pro).
Can I convert the STL to STEP for CAD?
Yes, with the STL to STEP converter. The STEP file it makes from triangles is free and is created in your browser. If you want an editable CAD model with planes, cylinders and holes recognised, Editable CAD on that page costs 4.90 EUR per file, after a free preview. It works best on parts made of flat walls, cylinders and holes, so check the preview before you pay.
What resolution should I use, and how big will the file be?
Resolution is the number of grid points along the longer side, from 20 to 400; the shorter side follows the picture. A grid of W x H points makes 4 x (W x H - 1) triangles, and a binary STL takes 84 bytes plus 50 bytes per triangle. The test logo made 23,996 triangles (1.14 MB) at 100 points and 383,996 triangles (18.31 MB) at 400 points. At 60 mm wide, 200 points are 0.30 mm apart. The page shows the triangle count and file size before it builds, so you can lower the resolution if the file is larger than you need.
Why is my logo sunk into the base instead of raised?
In relief mode light areas are high. A dark logo on a light background would sink into the plate, so the page switches Invert tones on by itself when the edge of the image is light, and the logo rises. If your logo is light on a dark background, or the result is the wrong way round, tick or untick Invert tones. In lithophane mode dark areas are always the thick ones.
Other tools
Part of the EduFacturing tool set.