PNG to STL Converter

Convert PNG to STL online for free with our fast and accurate PNG to STL converter. Turn images into 3D printable STL files instantly no signup required.

Start by uploading a file here…

Free on Android

Convert on the go — get our app

100+ tools in your pocket. Faster uploads, batch convert & save files instantly.

5.0
GET IT ON Google Play

PNG to STL Converter

Turn a PNG into an STL you can open in a slicer and 3D print. Upload the image, convert, and download the STL. No account, no watermark, and the upload is deleted after processing.

What you get

The conversion reads the brightness of each pixel as a height — light areas rise, dark areas stay low — and builds a surface that follows those tones. The result is a relief: a raised image on a flat backing, like a coin or a carved plaque, rather than a free-standing model.

Image to STL covers that idea in full, including the difference between a relief and a backlit lithophane and how to prepare a photograph. The rest of this page is about the things that are true of PNG specifically, because they decide whether the result is clean or a mess.

PNG is the right format for this, and here is why

PNG compresses losslessly. Every pixel you get back is the pixel that was saved, exactly.

That matters more here than in ordinary image work. JPEG achieves its small files by approximating, and the approximation leaves faint blocky halos around sharp edges. On screen you barely notice them. In a heightmap they are brightness like any other, so they become geometry, and a print made from a JPEG often shows a rippled or crackled surface around every edge that nobody put there.

PNG has no such artefacts, so what you modelled is what you drew. If your only copy is a JPEG, converting it to PNG first does not help — the damage is already in the pixels. Re-export from the original if you can.

Transparency, and what it does to your outline

This is the PNG-specific question that causes the most confusion, and it is worth understanding before you upload.

A PNG can carry an alpha channel: a per-pixel record of how transparent that pixel is. A logo exported with a transparent background looks like a shape floating on nothing.

But a heightmap needs a brightness for every pixel, including the transparent ones, and there is no single correct answer for what the brightness of "nothing" should be. Different tools resolve it differently. Some treat transparent as black, giving the lowest height — your shape sits on a sunken field. Some treat it as white, giving the highest, so the background rises above your subject and the image reads inverted. Some discard the alpha entirely and use whatever colour lurks underneath, which is often unexpected.

There is no control for this here, so take the decision yourself before uploading. Open the PNG, add a solid background layer in the tone you want the surrounding plate to be, flatten the image, and save. Black for a background that sits low, white for one that sits high, mid-grey for a plate your subject rises out of. Now the file has a definite brightness everywhere and the result is predictable.

Bit depth, and smooth gradients

An ordinary 8-bit greyscale PNG stores 256 brightness levels. On detailed artwork that is plenty. On a large smooth gradient it is not, because 256 levels across a wide slope means 256 flat terraces, and on a shallow relief they can be visible as faint contour lines.

PNG also supports 16 bits per channel — 65,536 levels — which removes the terracing entirely. Photoshop, GIMP and Krita can all export it. It is worth using for anything with large smooth areas; for line art and logos it makes no difference.

Which PNGs work well

Well: high contrast with a clear subject. Logos, silhouettes, monograms, engraved-style artwork, heraldry, line drawings with real fills, and greyscale height data such as terrain maps — which is the one case where the brightness genuinely means height already.

Poorly: screenshots, anything with fine anti-aliased text, busy photographic backgrounds, and flat low-contrast images. If the tones do not separate clearly, neither will the heights.

For crisp lettering or exact geometric shapes, a heightmap is the wrong instrument. SVG to STL extrudes vector outlines to one exact thickness and gives sharp vertical walls instead of soft mounds.

How to convert PNG to STL

  1. Flatten any transparency onto a background tone of your choosing.
  2. Upload the PNG, or drag it onto the upload area.
  3. Convert.
  4. Download the STL.

There is nothing to configure. Depth, size and orientation are set afterwards in your slicer, which is easier to judge there anyway.

Setting size and depth afterwards

STL carries no units; slicers assume millimetres. Open the file in Cura, PrusaSlicer, Bambu Studio or Orca and check the dimensions first.

Scale X and Y together for physical size. To change only how pronounced the relief is, switch off uniform scaling and adjust Z alone — that is the depth control this page does not have, and doing it in the slicer lets you see the result against the plate before committing.

Print orientation is worth a thought. Reliefs usually do well lying flat. Lithophanes do much better standing vertically, because the image detail then runs across layer lines rather than along them.

PNG and STL side by side

PNG (Portable Network Graphics) was published in 1996 as a patent-free replacement for GIF. It compresses without losing data, supports an alpha channel for transparency, and handles 8 or 16 bits per channel.

STL (stereolithography) was created by 3D Systems in 1987. It stores a surface as a list of triangles and nothing else — no colour, no materials, no units — which is why every 3D printing program reads it and why it cannot tell your slicer how large the object should be.

Common problems and what causes them

The background rises above the subject. Transparency was read as white. Flatten onto a dark background and convert again.

The surface is rippled or crackled. The PNG was made from a JPEG and inherited its compression artefacts. Re-export from the original source.

Faint contour lines across smooth areas. Terracing from 8-bit depth. Export 16-bit, or blur the gradient very slightly.

The file is enormous. Every pixel can become geometry. Resize to around a thousand pixels on the long edge before converting; it rarely costs any visible detail.

Fine text came out as soft lumps. Expected from a heightmap. Use SVG to STL for sharp lettering.

FAQs

How is a transparent background handled?
Unpredictably, because a heightmap needs a brightness for every pixel and "transparent" has no obvious brightness. Flatten the image onto a solid background of your choosing first and you decide the outcome rather than guessing it.
Is PNG better than JPEG for this?
Yes, clearly. JPEG compression artefacts become real bumps in the model. PNG is lossless, so there are none.
Can I set the depth before converting?
No. This tool has no settings. Scale the Z axis in your slicer with uniform scaling turned off.
Why does my model have faint stripes across smooth areas?
8-bit depth gives 256 height levels, which shows as terracing on wide gradients. Export the PNG at 16 bits per channel.
Can I make a lithophane from a PNG?
Yes. Invert the image to a negative first, then print it thin and vertical in a light filament and backlight it. Image to STL explains why the inversion is necessary.

My artwork is vector.

Then SVG to STL is the better tool: exact outlines extruded to a uniform thickness, with sharp edges.

What can open the STL?
Any slicer, including Cura, PrusaSlicer, Bambu Studio and Orca, plus Tinkercad, Blender, Meshmixer and Windows 3D Viewer.
Do I need to install anything?
No. It runs in your browser and works the same on Windows, macOS, Linux, Android and iOS.
Is it free, and do I need an account?
Free, and no account. Nothing is added to the file you get back.
What happens to my image after conversion?
It is removed once processing has finished. Nobody else has access to it.