🪜 Layered Keychain Image to STL

Colors stack at increasing heights — print with a filament swap at each layer

📁 Image:
or drag & drop an image anywhere on the left panel
Original
Color Preview
📐 Detail

Detail is how sharp the print is — more pixels means finer detail, like DPI on a photo. It does not set the physical size (you'll set that under Export as Print size). Layered models are built from per-pixel blocks, so files grow fast with Detail — 250–350px is plenty for a keychain. Raise it only if edges look blocky.

Detail 300 px
— × — px
🪄 Background Removal

For transparent PNGs, the alpha channel is used automatically — no tolerance needed. For solid backgrounds, flood-fills from all 4 corners. Raise tolerance if fringe remains around edges.

Tolerance 30
Ready — click Remove Background to start.
✂ Cut Interior Regions

For enclosed gaps the outer Background Removal can't reach. Turn on the cut tool, then click a gap on the Original image (top panel) to punch it through as a real hole. Click a cut again to restore it. Results show in the Color Preview.

Cut tolerance 50
🎨 Color Detection

Detects the main colors in your image using k-means clustering. Each color becomes a separate flat STL piece. Click a swatch to adjust a detected color. Uncheck a color to exclude it from export.

Colors 4
Upload an image and click Detect Colors.
Stack order — top of list = tallestarea
🔑 Keyring / Mounting

Add a mounting point: a hole punched through the print, or a ring loop on the edge.

📦 Export Settings

Builds one solid model where each color sits at its own height (stacked in the order below). Exports a single STL plus a list of heights to swap filament at — load one color, print, and swap when prompted.

Base thickness 1.2 mm
Layer height 0.6 mm
Min detail 0.8 mm
Min line width 0 mm
Slicer layer 0.2 mm
Print size 50 mm
Longest side of the finished print.

⚠ This is your final size — import into your slicer and print at 100%. Resizing in the slicer will also resize the keyring hole.