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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
| Format | Best for | How 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 unit | Per-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-tool | The same segmentation is also written as slic3rpe:mmu_segmentation, so PrusaSlicer shows the paint in its MMU painting gizmo. |
| OBJ with vertex colors | Bambu Studio's color-matching import, Blender, other converters | Per-vertex RGB; Bambu Studio maps the colors to filaments on import. |
| GLB | Previews, web viewers, PrintPal listings | Vertex colors (COLOR_0). |
| STL | Single-color fallback | No color — STL cannot store it. |
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.
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.
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.
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.
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.
No. Loading, painting and building the export files all happen locally in your browser. Nothing leaves your computer.
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.
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