Free · runs in your browser · files stay on your device

Vertex Color to Texture

Drop a PLY, GLB or OBJ whose colour is stored in its vertices. The tool makes UVs when the model has none, bakes the colours into a 1K, 2K or 4K base colour texture with padded seams, and gives you a textured GLB, the PNG and an OBJ zip. Nothing is uploaded.

Loading the vertex colour baker...

How to bake vertex colours to a texture

  1. 1

    Drop the coloured model

    A .ply (ascii or binary), .glb/.gltf with COLOR_0, or an .obj with "v x y z r g b" lines: a 3D scan, a photogrammetry mesh, an AI 3D model or a vertex-painted sculpt.

  2. 2

    UVs are made for you

    If the model has no UV map, or its UVs overlap, it is unwrapped into charts automatically. Tick "Make new UVs" to replace a UV map you do not trust.

  3. 3

    Pick size and padding

    Choose 1K, 2K or 4K and how many pixels of padding go around each island (8 is a safe default). The bake runs in your browser in a few seconds.

  4. 4

    Compare and download

    Flip between Before (vertex colours) and After (texture) in 3D, then download the textured GLB, the PNG, or an OBJ + MTL + PNG zip.

Colour space: sRGB and linear

Vertex colours and textures do not always use the same colour space. Here is how each input is read and what the texture holds, so the baked model matches the original.

PLY coloursStored as sRGB bytes (0-255). Read as sRGB, blended in linear light, written back as sRGB: a flat colour comes out as the same byte value.
glTF / GLB COLOR_0Linear by the glTF 2.0 specification, and multiplied by the material base colour, the way a glTF viewer shows it. Converted to sRGB for the PNG.
OBJ "v x y z r g b"Treated as sRGB 0-1 values (0-255 values are detected and handled), the same as PLY.
The PNGAn sRGB base colour (albedo) texture, the colour space glTF, Blender, Unity, Unreal Engine and Godot expect for a colour map. Keep it as sRGB / Color when you import it.
BlendingBetween two vertices the colour is mixed in linear light, the way a GPU shades vertex colours, so the texture matches what you saw before the bake.

Want a new look, not just the old colours?

Describe a style and AI paints the whole model from every side, with PBR maps for roughness, metal and normals. The AI tools use credits; this baker does not.

More free 3D tools

Vertex color to texture FAQ

Drop the model onto the tool at the top of this page. It makes a UV map if the model has none, paints every triangle of that UV map with the blend of its three vertex colours, pads the seams and gives you a base colour PNG and a textured GLB. No install, no signup.
Many game engines, stores and AR viewers ignore vertex colours or need a texture, and a texture lets you edit the colour in any image editor, add PBR maps and decimate the mesh without losing the colour detail. Scans, photogrammetry and many AI 3D models store colour only in the vertices, so baking is the usual step before using them elsewhere.
No. If there is no UV map, or the UVs overlap or tile, the tool unwraps the model into charts first (the same unwrap as our free UV unwrap tool). If your model has a clean UV map it is kept, so the texture fits the UVs you already use.
2K suits most models. Use 4K for dense scans with fine colour detail, 1K for small props or the web. Padding extends the colour of each island by a few pixels so filtering and mipmaps never pull in the background at the seams; 8 pixels is a safe default, 16 for 4K maps that will be downscaled.
Yes, within rounding. The colours are blended in linear light like a GPU does and stored as sRGB, so flat colours come back to within one byte. Detail finer than one texel is averaged, so very dense meshes need a bigger texture to keep every vertex colour sharp.
In Blender: add a UV map, add an Image Texture node with a new image to the material, connect a Color Attribute node to the base colour, then in Cycles bake Diffuse with only Color (or Emit) and set a margin. In MeshLab: make a parametrization, then run Transfer: Vertex Attributes to Texture. This page does the same steps in one go in the browser.
No. The file is read, unwrapped and baked by JavaScript in your browser, and the downloads are made on your device. Only if you press Repaint it with AI is the baked model handed to our AI texturing studio, and that step is optional.
PLY (ascii and binary, colours per vertex or per face), GLB and single-file glTF with COLOR_0 (Draco and meshopt compressed too) and OBJ with vertex colours, up to 250 MB and 2 million triangles. Models without UVs can be unwrapped up to 600,000 triangles; decimate bigger ones first. Point clouds need a surface first.

Blender, MeshLab, Simplygon, Unity, Unreal Engine and Godot are named only to describe compatibility; The3DAI is not affiliated with or endorsed by them.