3D Model Painter
Tools AI Generator
Loading 3D engine...
1. Model
Drop a 3D model here, or click to browse
STL, OBJ, 3MF, GLB, GLTF, PLY · painted Bambu Studio 3MFs open with their colors
Size
Paint triangles
Paint detailMedium
Higher detail subdivides big flat triangles so brush edges stay crisp. The exported geometry is unchanged.
2. Filaments
Filament 1 is the base color — the whole model starts with it. Click a swatch to change the color, click a row to paint with it, or press 19 while painting.
3. Paint
Brush size3.0 mm
Drag on the model to paint. Shift+drag erases back to filament 1. Alt+wheel resizes the brush. [ ] also resize.
Edge angle30°
Hover to preview: the fill spreads until it meets a fold sharper than the edge angle — one click paints a whole face, fin, ear or letter. Ctrl+wheel changes the angle.
Repaints every connected triangle that already has the same color as the one you click. Perfect for recoloring a whole region in one go.
Band height5.0 mm
Paints a horizontal band starting at the point you click and going up by the band height — stripes, color changes at a layer, or two-tone bases.
Paints exactly one triangle of the original mesh. Useful on low-poly models.
Click the model to make the color under the cursor the active filament.
Left-drag rotates, right-drag pans, wheel zooms. Tip: you can also hold Space with any tool, or drag on the empty background.
4. Quick actions
Speck size1.0 mm²
Specks are tiny islands of a different color left behind by brushing. Anything smaller than the speck size takes the color that surrounds it, so the slicer doesn't schedule pointless filament changes.
5. Export
The 3MF opens in Bambu Studio and OrcaSlicer with every painted region already assigned to a filament slot, colors included — map the slots to your AMS and slice. Nothing is uploaded; the file is built in your browser.

3D Model Painter — Paint STL & 3MF Files for Multi-Color AMS 3D Printing, Free and Online

The PrintPal 3D Model Painter is a free, browser-based multi-color 3D print painting tool. Load any STL, OBJ, 3MF, GLB, GLTF or PLY, paint parts of the model with the filament colors you own, and download a 3MF for Bambu Studio, OrcaSlicer and PrusaSlicer with every region already assigned to a filament slot. Brush, smart fill, bucket fill, height range and speck cleanup give you full control over which filament prints where — and it runs on any device with a browser, needs no install, and never uploads your file. Perfect for Bambu Lab AMS, AMS Lite, AMS 2 Pro, AMS HT, Prusa MMU3 and any other multi-material printer.

Also searched as: paint 3D model for AMS, multicolor STL painter, color STL for 3D printing, 3MF color painting online, online model painting for Bambu Studio and OrcaSlicer, how to color a 3D model for multi-material printing, AMS color assignment, add colors to STL, paint faces of a 3D model, multi color 3D print without CAD.

Slicer-grade paint tools

Brush with adjustable size and a thin-wall-safe mode, Smart fill that stops at sharp edges, Bucket fill for recoloring whole regions, Height range for layer bands and stripes, Triangle for low-poly meshes, and an eyedropper. Live preview of what a click will paint, unlimited undo, keyboard shortcuts.

Sub-triangle precision

Big flat triangles are subdivided on the fly so a brush stroke has clean round edges even on a 4-triangle plate. Long thin CAD triangles are bisected first and every stroke automatically refines the triangles its edge crosses; pick Low to Ultra paint detail for the baseline. The exported geometry is never changed.

One-click multi-part coloring

Models made of several shells — a rocket with fins, a sign with letters, a badge with an inlay — get a different filament per part with one click. Merge specks cleans up stray triangles that would otherwise cost you extra filament changes.

Native slicer 3MF export

Colors are written as the per-triangle paint_color segmentation Bambu Studio and OrcaSlicer read natively, plus PrusaSlicer's mmu_segmentation, with your filament colors embedded in the project settings. Open the file and every color is already on a filament slot. OBJ and GLB with vertex colors are also available.

How to Paint a 3D Model for Multi-Color 3D Printing

  1. Load your model. Drag an STL, OBJ, 3MF, GLB, GLTF or PLY onto the page (or try the sample rocket). A 3MF that was already painted in Bambu Studio, OrcaSlicer or PrusaSlicer opens with its colors and its filament palette.
  2. Set up your filaments. Filament 1 is the base color. Add up to 16 slots and pick colors from the Bambu Lab PLA palette, a preset, or any hex code — match the spools in your AMS so the preview looks like the print.
  3. Paint. Hover with Smart fill to see which face, fin or letter a click will color, then click. Use the Brush for freehand areas, Bucket to recolor a region, Height range for stripes. Shift erases, 19 switch filaments, Ctrl/Cmd+Z undoes.
  4. Clean up. Click Merge specks to absorb tiny islands that would only cause extra filament changes.
  5. Export. Download the 3MF, open it in Bambu Studio or OrcaSlicer, map each filament slot to an AMS slot when prompted, and slice. That's it — no manual painting in the slicer.

Why Paint Outside the Slicer?

Desktop slicers can paint too, but only on a computer that has the slicer installed, and every change lives inside one project file. Painting in the browser means you can color a model on a laptop, tablet or Chromebook, keep the painted 3MF as a reusable asset, sell or share a pre-colored multi-color model that customers can print without touching the paint tools, and prepare files for people who print on OrcaSlicer, PrusaSlicer or a Creality/Anycubic multi-color system. Because the output is a standard 3MF with segmentation data, you keep full freedom to fine-tune in the slicer afterwards.

What Each Tool Does

Brush (B)

A round brush measured in millimeters. By default it only paints faces that are turned toward the camera, so a stroke on a thin wall, a fin or a sign does not bleed onto the back side. Turn on Paint through thin walls when you do want both sides painted at once. Strokes are interpolated so fast mouse moves never leave gaps, and Alt+wheel resizes the brush without leaving the canvas.

Smart fill (F)

The fastest way to color a model. The fill flood-spreads from the triangle under the cursor across neighbors until the angle between two faces exceeds the edge angle (30° by default). Flat faces, embossed text, fins and lugs light up as one piece before you click. Lower the angle if the fill jumps to a neighboring part; raise it to follow soft, rounded shapes. Stop at existing color edges fences the fill with what you already painted.

Bucket fill (G)

Recolors every connected triangle that currently has the same filament as the one you click. Switch a whole region from red to blue in one click, or tick Also stop at sharp edges to keep the bucket inside a single face.

Height range (H)

Paints a horizontal band starting at the height you click and extending upward by the band height. Use it for two-tone bases, layer-change color swaps, or stripes — no need to split the model.

Triangle (T), Pick color (I), Move view (V)

Triangle paints exactly one triangle of the original mesh (great on low-poly models). Pick color makes the filament under the cursor active. Move view turns off painting on touch screens; on desktop you can simply drag the background or hold Space.

Merge specks (gap fill)

Finds every island of color smaller than the chosen area and gives it the color of whatever surrounds it. This removes the isolated triangles that cause needless filament swaps and purge waste in the sliced print.

Export Formats for Multi-Color Printing

FormatBest forHow colors are stored
3MF (Bambu Studio / OrcaSlicer)Bambu Lab X1C, P1S, P1P, A1, A1 mini, H2D with AMS, AMS Lite, AMS 2 Pro, AMS HT; any OrcaSlicer printer with a multi-material unitPer-triangle paint_color MMU segmentation (including the triangle split tree for sub-triangle detail) plus project_settings.config with your filament colors. Opens without the "not from Bambu Lab" warning.
3MF (PrusaSlicer)Prusa MMU3, Prusa XL multi-toolThe same segmentation is also written as slic3rpe:mmu_segmentation, so PrusaSlicer shows the paint in its MMU painting gizmo.
OBJ with vertex colorsBambu Studio's color-matching import, Blender, other convertersPer-vertex RGB; Bambu Studio maps the colors to filaments on import.
GLBPreviews, web viewers, PrintPal listingsVertex colors (COLOR_0).
STLSingle-color fallbackNo color — STL cannot store it.

Tips for Clean Multi-Color AMS Prints

Frequently Asked Questions

Can I paint a model for Bambu Studio without opening Bambu Studio?

Yes. Painting is completely free and runs in your browser. Paint with the brush, smart fill, bucket fill and height range tools, tidy up with Merge specks, and export a 3MF that Bambu Studio and OrcaSlicer open with the paint already applied — so you can skip the painting step in the slicer or use the file as a starting point.

Which slicers can open the painted 3MF?

Bambu Studio, OrcaSlicer, FlashStudio and other Bambu-derived slicers read the paint_color attribute. PrusaSlicer reads the mmu_segmentation attribute, which is included by default. Cura, Lychee and other slicers without multi-material painting will open the geometry as a single color.

Does it work with AMS Lite on the A1 and A1 mini?

Yes. The 3MF is printer-agnostic: on import Bambu Studio asks you to map the file's filament slots to your AMS or AMS Lite slots. Up to 16 colors are supported, so it covers a single AMS, multiple AMS units and AMS HT setups.

Can I open a model I already painted in Bambu Studio or OrcaSlicer?

Yes. Load the exported 3MF and the painter decodes the color segmentation, including split triangles, and picks up the project's filament colors as your palette. Paint some more, then export again.

Why are my brush edges jagged?

Every brush and height-range stroke automatically refines the triangles its edge crosses, so boundaries are normally crisp. If a huge low-poly model still shows steps, raise the Paint detail setting: large flat triangles get subdivided into smaller paint triangles and the brush boundary becomes smooth. Your exported mesh geometry stays exactly as it was — only the color segmentation carries the extra detail.

Is my model uploaded to a server?

No. Loading, painting and building the export files all happen locally in your browser. Nothing leaves your computer.

Can I paint a multi-part STL automatically?

If your file contains several separate shells (for example a body plus fins, or a plate plus raised letters), click Color each separate part and every shell gets its own filament, largest part first. Then adjust individual parts with Bucket fill.

How is this different from the Filament Painter (HueForge-style) tool?

The Filament Painter turns a flat image into a layered lithophane-style print with filament swaps by height. The 3D Model Painter colors the surface of an existing 3D model by region for AMS-style multi-material printing.

Need a model to paint? Generate one with AI, then bring it here.

Try the AI 3D Model Generator