A flat picture has no depth data, so something has to add it. Here is exactly what this tool adds, and what it cannot.
Convert an image to STLYes, a 2d image to 3d model conversion is possible, but only because software adds depth that the picture never had. A photograph is a grid of colour values on a flat plane. There is no depth channel, no camera position and no scale baked into those pixels. Something has to invent the third dimension. Two methods do that: an AI model that predicts depth from learned shapes, and a heightmap that treats brightness as elevation. This site uses the second method.
Brightness to height is a direct mapping. Light pixels become peaks, dark pixels become valleys, or the reverse if you invert. A logo on a white background turns into a raised emblem on a flat plate. A portrait becomes a relief carving. It is predictable, it is fast, and it never invents a nose that is not there. The trade-off is that it knows nothing about perspective. A photo of a person will not produce a bust of that person; it produces a sheet whose surface follows the photo's shading.
AI depth inference is the other route, and it is better for objects. Feed it a photo of a shoe or a chair and a model trained on millions of images can guess which parts sit nearer. The results are plausible, not measurable, and thin structures and reflective surfaces confuse it. If you need a specific object at a specific size, AI depth will not get you there. If you need a surface that faithfully reproduces a drawing, a map or a texture, heightmap conversion wins every time.
You upload a JPG, PNG, GIF, BMP, TIFF, WebP, SVG or HEIC file up to 20MB. It is decoded to a pixel grid in the browser, on your own machine, and the tool reads a brightness value for every pixel. Nothing is sent to a render farm and nothing sits in a queue. The grid is then resampled to the resolution you choose, because a 4000 pixel wide photo would produce a mesh with millions of triangles that most slicers will choke on.
Each pixel becomes a vertex. Its X and Y position comes from its place in the grid, scaled to the physical width you set in millimetres; its Z position comes from the brightness times the height you choose. Adjacent vertices are joined into triangles, and the whole surface is closed with a flat base so the result is watertight. Greyscale images give the cleanest result because one channel maps to one height value without any colour weighting to argue about.
The mesh is written out as STL, which stores triangles and nothing else. No colour, no texture, no units inside the file. Your slicer assumes millimetres, so set the width and relief height deliberately before you download. A 100mm wide plaque with a 4mm relief prints well on a 0.4mm nozzle. Push the relief past about 8mm on a small model and the vertical walls start to need supports.
Two honest strengths and two honest limits, before you spend time on a file.
High contrast artwork is where brightness-to-height shines. A black logo on white becomes a raised emblem at whatever relief height you set, with edges that follow the original outlines. SVG input works particularly well because the rendered edges are already sharp before any pixels get sampled.
Greyscale height data is what this method was built for. Elevation maps, embossed patterns, coin faces and lithophane-style panels all convert predictably. What comes out is a plate whose surface rises and falls with the tones in the image.
A single photograph carries no depth measurement, so the tool cannot reconstruct the volume of a shoe, a face or a building. You get a flat relief that follows the shading, not a solid object you can rotate and inspect. That job needs photogrammetry from many angles or a depth-predicting AI model.
STL stores triangles only. No colour, no embedded image, no material assignment travels inside the file. If your print needs to be coloured, you will be painting it or swapping filament afterwards, and the model itself will be plain geometry.
Heightmap conversion pays off in specific situations, and wastes your afternoon in others.
Set a real world width in millimetres, pick a relief height, and the browser builds the mesh and hands you a file your slicer can open. No account is needed for a basic conversion.
Yes, as long as you accept what kind of 3D you get. A flat image has no depth information, so the tool has to supply it. This site maps brightness to height, which produces reliefs and embossed surfaces. It does not produce a solid object with a back, a base and hidden internal volume.
The pages that answer the next question after this one.
Skip the complex modeling software. Upload your image now and get a print-ready STL file instantly.
Start Converting Free