---
title: "Image to STL Converter"
description: "Free online image to STL converter: supports PNG/JPG/WebP/SVG. Outline Extrude for stamps/logos, heightmap for photo reliefs and lithophanes. Processed locally, no upload."
toolId: "image-to-stl"
category: "conversion"
subgroup: "image-to-3d"
subgroupName: "Image to 3D Model"
url: "https://any3d.cc/en-US/tools/image-to-stl"
markdown: "https://any3d.cc/llm/tools/image-to-stl.md"
---

# Image to STL Converter

Convert photos and logos to printable STL instantly: outline-extruded stamps or lithophane reliefs, free online.

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

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

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

## Overview

Convert 2D images to 3D printable STL. Outline Extrude mode extrudes stamps and logos; heightmap mode generates lithophane light panels and photo reliefs. Adjustable resolution and smoothing, outputs monochrome geometry, ready for major slicers. Your image is turned into an STL right in the browser with no upload, so personal photos stay on your device.

## 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:** Image
- **Full Name:** Image File
- **Type:** Image
- **Format:** PNG / JPG / JPEG / SVG / WebP
- **Tools:** [Photoshop](https://www.adobe.com/products/photoshop.html), [GIMP](https://www.gimp.org), [Krita](https://krita.org), [Paint.NET](https://paint.net/), [Inkscape](https://inkscape.org), [Adobe Illustrator](https://www.adobe.com/products/illustrator.html), [Figma](https://www.figma.com), [Affinity Designer](https://www.affinity.studio/graphic-design-software)
- **Open With:** Image Editor, Windows Photos, Preview (Mac), Vector Editor, Web Browser, [Inkscape](https://inkscape.org)
- **Description:** Any supported image format including PNG, JPG, JPEG, SVG, and WebP. The tool automatically detects the format and applies the appropriate conversion settings.
- **Supported Features:**
  - Supports PNG, JPG, JPEG, SVG, and WebP formats
  - Automatic format detection
  - Transparency support for PNG and WebP

### 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. Upload 2D Image

Select a PNG, JPG, or SVG graphic to convert into a 3D relief mesh.

### 2. Adjust Maximum Height

Set the relief extrusion depth and base thickness in millimeters.

### 3. Choose Raise By and Smoothing

In heightmap mode, choose Dark Raised, Light Raised, Vivid Raised or Custom per Color, and adjust smoothing to refine surface detail.

### 4. Download 3D Printable STL

Export watertight STL file ready for lithophane or tactile relief printing.

## FAQ

### What kind of images work best for STL conversion?

For stamps/logos, use transparent backgrounds or high-contrast black-and-white images. For photo reliefs/light panels, use clear, moderately contrasted grayscale or color photos. For complex backgrounds, crop the subject first.

### Does the STL retain the image colors?

No. STL only stores geometry. For colored models, use 'Image to 3MF' instead; you can also paint after printing.

### Why does the conversion fail with a 'no valid contour' error?

No area was recognized as the subject. This usually happens with near-uniform or very low-contrast images. Increase the contrast, adjust Threshold or Extract, or use Remove by Color under Background. You can also switch to heightmap mode.

### Why is the STL file so large?

In heightmap mode the mesh follows the image pixels, so a big photo creates a very dense model. Lower the resolution before converting to get a lighter file.

### Is Any3D completely free?

Yes, Any3D's core features are free to use forever. We provide format conversion, model optimization, and online preview at no cost, with no registration required.

### Are my files uploaded to your servers?

No. Files you select are processed only in your browser on this device, so they never leave your device and are never sent to our servers. We don't store any user files; after processing, related data in browser memory is released.

### Do I need to install software?

No installation required. Any3D is entirely browser-based; just open the webpage to use all features. It works on Windows, Mac, Linux, and other major operating systems.

### Is there a file size limit?

The processing capacity depends on your device performance and the model's vertex count and texture complexity, rather than file size alone. We impose no file size limit, but when a model exceeds what your device can handle, the page may lag or even crash.
