Low Poly Palette Texture: One Material, One PNG
Drop a low-poly model. Every face gets its colour from a cell in one small palette PNG (16 to 256 px), all parts share one material, and the whole model can draw in a single call. Click or lasso faces to paint them from the palette, swap the palette later without touching the UVs, and download a GLB, the PNG or an OBJ zip. Nothing is uploaded.
How to make a low-poly palette texture
- 1
Drop the low-poly model
A .glb/.gltf, .obj (with its .mtl), .fbx, .stl or .ply. The colours it has today, from materials, vertex colours or a texture, are read face by face.
- 2
Pick a palette
Keep the model's own colours (merged to the number you choose), pick a preset, paste hex codes, or take the colours of an image. Turn on gradient cells for a soft top-to-bottom shade.
- 3
Paint faces
Choose a colour, then click a part, a flat face set, a material, all faces of one colour, or single faces. Drag a lasso to paint everything inside it. Undo is one click.
- 4
Download one material
Get a GLB with one material and the palette PNG (nearest filtering, no mipmaps), the PNG on its own, an OBJ + MTL + PNG zip, or a .gpl palette for your paint app.
What the download does
Every face keeps its shape and gets its colour from one cell of the palette PNG. All parts share one material, so engines can batch them:
| Draw calls | One material and, with "Join into one mesh", one mesh: the model draws in 1 call instead of one per material. The page shows before and after for your file. |
|---|---|
| Texture | One PNG of colour cells in a power-of-two grid (2x2 up to 8x8 cells, so up to 64 colours), 16 to 256 px. Small enough for the web, mobile and game jams. |
| UVs | Each face's UVs sit in the centre of its colour cell, so the exact colour shows with nearest filtering. Gradient cells shift each vertex down the cell by its height. |
| Palette swaps | Changing a cell's colour only changes the PNG. A new PNG drops onto the model you already exported, which is how day/night or team colour variants are made. |
| Filtering | Flat cells: Nearest (point) filtering and no mipmaps are written into the GLB. In your engine keep it on point / closest. Gradient cells use linear filtering. |
The limit, plainly: a palette holds flat colours (or a soft vertical shade with gradient cells). Photo textures, painted details, normal maps and decals do not fit in a palette; keep those models on their own textures.
Need a low-poly model first?
Make a low-poly 3D model from a text prompt or a photo with AI, then bring it here for one material and one palette PNG. The AI generator uses credits; this tool does not.
More free 3D tools
Low poly palette texture FAQ
Palettes are made and checked in your browser. Downloads are free for personal and commercial use, no attribution needed. Blender, Unity, Unreal Engine, Godot, GIMP, Krita and Aseprite are named only to describe compatibility; The3DAI is not affiliated with or endorsed by them.