How to add colour to an STL file (and print it in colour)

Updated · 5 min read

You found the perfect model, it is an STL, and you want it in colour. Then you discover the STL has no colour at all, and nowhere to put any. This is one of the most common questions in 3D printing, and the answer depends on what kind of colour printing you have.

This guide explains why STL is colourless, which formats are not, and the four practical ways to get colour onto an STL model, from simple slicer painting to AI texturing.

Try it on your own model

Upload a GLB, OBJ, FBX, STL or PLY file (or pick a sample), describe the look, and let AI paint it from every side.

Open the AI 3D Texturing Studio

Why STL files have no colour

STL is one of the oldest 3D file formats. A standard STL stores only a list of triangles: three corner positions and a direction for each. There is no field for colour, materials, textures or UVs. (Some programs use spare bytes in binary STL for colour, but this is non-standard and most slicers ignore it.)

So you cannot "add colour to an STL" and keep it an STL. You add colour to the model and save it in a format that can hold colour.

Formats that can hold colour

FormatHow colour is storedTypical use
3MFPer-object or per-triangle colours and materials; the 3MF Materials extension also supports texturesModern slicers and multi-filament printing; some full-colour print services
OBJ + MTL + imageMaterial file and texture image, using UVsExchange between 3D programs; some slicers read colour
PLYColour per vertexScans and colour meshes
GLB / glTFTexture images and materials in one file (GLB)Web, games, viewers; some slicers can import it
VRML (WRL)Colours and texturesOlder full-colour printing workflows

First: what kind of colour can your printer do?

Colour on a 3D print comes in two very different kinds, and they need different files:

  • Filament colour regions (FDM with a multi-material unit). Printers with a filament changer (such as an AMS or MMU) print a few solid colours. Each area of the model is assigned to one filament. Smooth gradients and fine detail have to be simplified to a handful of colours.
  • Full colour (photo-like). Some industrial printers and print services can print full texture colour. These usually want a 3MF, OBJ with texture, or VRML file with the texture included.

If you have a single-colour printer, your choices are printing in parts with different filaments and gluing them, pausing to swap filament at certain layer heights (colour bands only), or painting the print by hand.

Method 1: paint colours in your slicer

Most modern slicers for multi-material printers let you load an STL and paint colours directly onto it. PrusaSlicer has a multi-material painting tool, and Bambu Studio and OrcaSlicer have similar colour painting. You pick a filament, then click faces, use a brush, or use a smart fill that follows edges. The result is saved as a 3MF project with the colours inside.

Best for: simple models with a few clear colour areas (a logo, a two-tone figure, eyes on a character). Weak at: detailed patterns, gradients, and anything that would take hours of clicking.

Method 2: split the model into parts

Cut the model into separate pieces in a 3D program (Blender, Fusion, Meshmixer and similar), one piece per colour, and export each as its own STL. Load them together in the slicer as one object made of parts, and assign a filament to each part.

Best for: hard-surface models where colour follows clean boundaries (a helmet visor, the buttons on a controller). Weak at: organic models where colours blend or wander across the surface.

Method 3: texture the model, then convert the texture to colours

This is where AI texturing helps. Instead of painting every area by hand, you give the model a full colour texture, then let the slicer turn that texture into printable colour regions.

  1. Give the STL UVs and a texture. STL has no UVs, so a tool has to create them first. In the AI 3D Texturing Studio, upload the STL; it makes UVs automatically. Describe the look (for example "green dragon with golden scales") and press Auto texture.
  2. Fix spots. Turn the model and repaint any view that needs it, fill grey unpainted areas, use the Select region brush to change one part, or blend a seam with the free Heal brush.
  3. Download the GLB. The GLB carries the mesh, the new UVs and the texture together, as one texture. Skip the PBR maps box here: a slicer only uses the colour.
  4. Import into a slicer that reads textures. Bambu Studio 2.7 (release v02.07.00.55) added Texture-to-Color Painting, which turns a textured model into filament colour regions. Its release notes list OBJ, glTF and GLB textured imports and recommend models with a single texture. For other slicers, check the release notes for which formats they accept, and convert if needed.
  5. Reduce to your filament count. The slicer maps texture colours to the filaments you have loaded. Simple, bold textures with a few distinct colours print far better than subtle gradients.

For filament printing, write prompts with a few flat, distinct colours: "white gamepad with orange buttons" converts more cleanly than "realistic worn plastic with subtle colour variation". Our prompt guide has more examples.

The tutorial texture an STL for 3D printing walks through the studio part step by step.

Give your STL a texture

Upload an STL, describe the colours, and download a textured GLB for your slicer.

Texture an STL

Method 4: send it to a full-colour print service

If you do not own a colour printer, a full-colour print service can print a textured model in one go. You still need a file with colour, typically a 3MF, or an OBJ or VRML with its texture image. Each service lists the formats it accepts; for example, JLC3DP’s guide says its full-colour printing accepts 3MF files.

Texture a model (Method 3), then export or convert to the format the service asks for. Check the texture is included in the file, since a missing texture image is the most common reason a colour model arrives grey.

Common problems

  • Colour disappears on import. You exported to STL somewhere along the way. Keep the model in 3MF, OBJ with its MTL and image, or GLB.
  • Colours look blotchy after conversion to filaments. The texture has too many similar shades. Use bolder, flatter colours, or merge similar colours in the slicer.
  • Lots of wasted filament. Every colour change on a filament-swap printer purges material. Fewer colours and fewer small colour islands mean less waste.
  • Model repaired and lost its colour. Some repair steps rebuild the mesh and drop colour. Repair the STL first (for example with our STL repair tool), then texture it.

Questions

Can an STL file have colour?

A standard STL cannot. Some programs hide colour in spare bytes of binary STL, but this is non-standard and most slicers ignore it. Use 3MF, OBJ, PLY or GLB for colour.

What is the best format for multicolour 3D printing?

3MF is the usual choice for modern multi-filament slicers because it keeps the geometry, colours and print settings in one file.

Do I need UVs to colour an STL?

For slicer face painting, no. For a texture-based workflow, yes: a texture needs UVs. Our studio creates them automatically when you upload an STL.

Ready to texture something?

Upload a GLB, OBJ, FBX, STL or PLY file (or pick a sample), describe the look, and let AI paint it from every side.

Start texturing

Step-by-step tutorials

Keep reading

Sources

Checked 2026-10-17. Other tools change their features and prices often, so check their own pages too.