---
title: "PNG to STL"
description: "Convert PNG to printable STL: use transparent backgrounds for stamps/logos, or heightmaps for reliefs & lithophanes. No upload, processed locally."
toolId: "png-to-stl"
category: "conversion"
subgroup: "image-to-3d"
subgroupName: "Image to 3D Model"
url: "https://any3d.cc/en-US/tools/png-to-stl"
markdown: "https://any3d.cc/llm/tools/png-to-stl.md"
---

# PNG to STL

PNG → Printable STL: contours for stamps, or heightmaps for reliefs & lithophanes. Free online.

**Category:** 3D Format Conversion Tools (`conversion`)
**Subgroup:** Image to 3D Model (`image-to-3d`)

**HTML:** https://any3d.cc/en-US/tools/png-to-stl

> Runs entirely in the browser. Files are not uploaded to Any3D servers.

## Overview

Designed for PNG images, the tool uses transparent channels to extract precise contours, making it ideal for stamps and logos. For regular photos, the heightmap mode converts them into reliefs or lithophanes. You can adjust the resolution before exporting the STL file, and all processing is done locally in your browser.

## About Configuration Options

### Conversion Mode

- **Conversion Mode** (Default: Outline Extrude): Select how the image should be converted into 3D geometry.
  - `contour` — Outline Extrude (Recommended): Generates solid shapes with uniform thickness from image outlines. Ideal for stamps, logos, nameplates, and other uniform-thickness objects.
  - `heightmap` — Heightmap: Creates a relief surface from the image's light and dark areas. By default darker parts are raised; change it under Raise By to lighter, vivid colors, or custom per color. Great for photo reliefs, terrain models, and artistic surfaces.

### Size

- **Width (X)** (Default: 100mm; Range: 10mm – 500mm): Final model width, including the base. With the aspect ratio locked, the length follows the shape's proportions and does not change with Detail.
- **Length (Y)**: Locked to the width by the shape's aspect ratio. Editing it rescales the width.
- **Lock Aspect Ratio** (Default: on): When on, the height follows the width using the shape's proportions. Turn off to set width and height separately (the model is stretched).

### Background

- **Background** (Default: By Brightness): By Brightness: transparent areas of a PNG are the background; opaque images are split by Threshold. Remove by Color: transparent areas plus pixels close to any picked color are removed. Keep Background: nothing is removed.
  - `auto` — By Brightness (Recommended)
  - `color` — Remove by Color
  - `keep` — Keep Background
- **Background Colors** (Default: #ffffff): Pixels close to any of these colors are removed. Add a second color for gray-and-white checkerboards or two-tone backgrounds (up to 4).
- **Tolerance** (Default: 15; Range: 0 – 100): Higher values also remove colors further from the picked ones. Raise it if a colored fringe remains or the background is uneven.
- **Transparent Fill** (Default: White): Fill transparent areas with this color and keep the whole image.
  - `white` — White (Recommended)
  - `black` — Black

### Outline Extrude Settings

- **Threshold** (Default: 128; Range: 0 – 255): Brightness cut-off (0-255) between dark and light. Higher values count more (lighter) pixels as dark; lower values keep only the darkest pixels.
- **Extrude Height** (Default: 10; Range: 1 – 100 · step 0.1): The thickness of the extruded geometry in millimeters. Controls how tall the final 3D model will be.
- **Edge Rounding** (Default: 0.5; Range: 0 – 5 · step 0.1): Rounds the top edge of the outline. The value is the radius; 0 keeps a sharp edge.
- **Rounding Segments** (Default: 3; Range: 1 – 8): The number of segments used to create the bevel curve. More segments produce smoother bevels at the cost of more geometry.
- **Keep Sharp Corners** (Default: 37; Range: 5 – 90): Corners that turn more than this angle stay sharp and are not smoothed. Lower values keep more corners sharp.
- **Detail** (Default: 1; Range: 0.1 – 2 · step 0.1): Controls the resolution of the generated mesh. Higher quality produces smoother surfaces but larger file sizes.
- **Base** (Default: None): Adds a solid base under the shape. Rectangle follows the bounding box; Follow Outline follows the shape's outline.
  - `none` — None (Recommended)
  - `rect` — Rectangle
  - `outline` — Follow Outline
  - `circle` — Circle
- **Base Thickness** (Default: 2mm; Range: 0.5mm – 10mm · step 0.1mm): Thickness of the base under the shape.
- **Base Margin** (Default: 3mm; Range: 0mm – 20mm · step 0.1mm): How far the base extends beyond the shape on each side.
- **Base Segments** (Default: 64; Range: 16 – 256): Smoothness of the circular base and of rounded corners on the outline base. More segments are smoother but make a larger file.
- **Base Color** (Default: #e1e1e1): Only for 3MF export: color of the base part.
- **Extract** (Default: Dark Parts): Choose whether the dark or the light parts of the image become solid. Pick Light Parts when the subject is lighter than the background.
  - `dark` — Dark Parts (Recommended)
  - `light` — Light Parts

### Cleanup

- **Max Colors** (Default: 12; Range: 1 – 16): Maximum number of colors kept after merging similar shades. Each color becomes its own shape, which affects how the model is split (STL too) and the parts of a multi-color 3MF.
- **Ignore Small Specks** (Default: 15; Range: 0 – 200): Spots and holes smaller than this area are ignored. Raise it for noisy scans; lower it to keep tiny details.
- **Outline Simplification** (Default: 0; Range: 0 – 4 · step 0.05): Higher values give simpler edges and fewer triangles; 0 (default) follows the image exactly.

### Heightmap Settings

- **Relief Height** (Default: 5; Range: 0.5 – 20 · step 0.1): The maximum height of the raised areas in millimeters. Controls the overall relief depth.
- **Minimum Base Thickness** (Default: 1; Range: 0 – 5 · step 0.1): Thickness at the lowest point of the relief; thicker is sturdier. In By Brightness mode, transparent areas of a PNG count as background and sit at this thickness.
- **Smoothing** (Default: 2; Range: 0 – 10): Applies smoothing to the heightmap surface to reduce noise and stair-stepping artifacts. Higher values produce smoother surfaces.
- **Detail** (Default: 400; Range: 100 – 400 · step 50): Controls the detail level of the generated mesh. Higher resolution preserves more image detail but increases file size.
- **Cut Out Subject** (Default: on): Background areas are left out: only the subject is printed, with sides following its outline. Turn off to keep the full rectangular base.
- **Raise By** (Default: Dark Raised): Dark Raised suits black-and-white logos and photo reliefs; Light Raised is the opposite; Vivid Raised lifts colorful areas while white, gray and black stay flat; Custom per Color sets a height for each color.
  - `dark` — Dark Raised (Recommended)
  - `light` — Light Raised
  - `saturation` — Vivid Raised
  - `custom` — Custom per Color
- **Color Heights**: Set a height for each main color. Pixels use the closest color.
- **Edge Rounding** (Default: 0.5; Range: 0 – 3 · step 0.1): Rounds the top edge of the subject's sides; 0 keeps a sharp edge. The outline grows outward by about the radius.
- **Bottom Rounding** (Default: 0; Range: 0 – 3 · step 0.1): Rounds the bottom edge of the subject's sides; 0 keeps a sharp edge (default). The footprint stays on the outline; the upper shape grows outward by about the radius.
- **Rounding Segments** (Default: 3; Range: 1 – 10): More segments give a smoother curve.

## Format Information

### Input format

- **Extension:** png
- **Full Name:** Portable Network Graphics
- **Type:** Image
- **Format:** PNG
- **Tools:** [Photoshop](https://www.adobe.com/products/photoshop.html), [GIMP](https://www.gimp.org), [Krita](https://krita.org), [Paint.NET](https://paint.net/)
- **Open With:** Image Editor, Windows Photos, Preview (Mac)
- **Description:** PNG is a lossless raster format with 8-bit alpha transparency, offering sharp edges and no artifacts. It is preferred for converting silhouettes to 3D models, avoiding color banding and producing cleaner meshes than JPEG.

The trade-off: larger file sizes than JPEG, no CMYK support. For 3D conversion: use 16-bit grayscale for height maps; transparent backgrounds are auto-detected, so manual masking is unnecessary.
- **Supported Features:**
  - Lossless compression preserves image quality
  - Alpha channel transparency for precise contour extraction
  - Wide color support (24-bit RGB + 8-bit alpha)
- **Notes:**
  - Transparent backgrounds are automatically detected and handled

### Output format

- **Extension:** stl
- **Full Name:** Stereolithography
- **Type:** 3D Mesh
- **Format:** STL (Binary / ASCII)
- **Tools:** [Cura](https://ultimaker.com/software/ultimaker-cura/), [PrusaSlicer](https://www.prusa3d.com/p/prusaslicer/), [Chitubox](https://www.chitubox.com), [Simplify3D](https://www.simplify3d.com)
- **Open With:** Slicer Software, [MeshLab](https://www.meshlab.net), Windows 3D Viewer, [STL Viewer Online](https://any3d.cc/en-US/tools/stl-viewer)
- **Description:** STL is the de facto standard mesh format in 3D printing, storing only triangular surface data since 1987, without color, texture, or material. Almost all slicers (Cura, PrusaSlicer, Bambu Studio, ChiTuBox) and printers directly support STL, ensuring its enduring popularity.

Two classic pitfalls: STL lacks unit definitions, making millimeters and inches indistinguishable on disk; always verify scale in your slicer. It also has ASCII (readable but 4-6x larger) and binary (compact, default) encodings. For multi-color printing, materials, or parameters, switch to 3MF, which carries richer print information while maintaining slicer compatibility.
- **Supported Features:**
  - Triangle mesh only, simple and universally compatible
  - Binary and ASCII encoding options
  - Directly importable into Cura, PrusaSlicer, Chitubox, etc.
- **Notes:**
  - Does not support colors, textures or materials
  - No unit definition; verify scale in your slicer
  - ASCII format is 4-6× larger than binary

## How to use

### 1. Load PNG with Transparency

Import transparent PNG artwork or grayscale heightmap data.

### 2. Configure Base Thickness

Define solid baseplate thickness and maximum relief elevation values.

### 3. Raise By · Smoothing

Choose whether dark or light parts are raised, and adjust smoothing.

### 4. Export Solid STL

Generate and download watertight STL for resin or FDM 3D printing.

## FAQ

### How are transparent areas handled?

In Outline Extrude mode, transparent areas typically generate no geometry (hollow), leaving only the opaque subject, ideal for stamps and silhouettes. In heightmap mode, brightness determines thickness; transparency is processed as previewed.

### Will PNG colors be preserved in the STL?

No. STL only stores geometry. For colored models, use the 'PNG to 3MF' converter, or paint after printing.

### Why does my PNG contour capture background noise or extra shapes?

Outline Extrude mode extracts regions by brightness, so a busy or colored background, or anti-aliased edges, can produce stray shapes. Crop the subject, use a clean transparent background, and adjust the threshold to ignore faint areas.

### How large will the model be, and what units does the STL use?

The exported file is written in millimeters. The vertical settings (depth, max height, base thickness) are mm, but the horizontal footprint follows the image's pixel grid, so check the size in your slicer and scale the model to the dimensions you need.
