PLY to GLB converter — a scan, with its colours
VTubeMe's PLY to GLB converter writes a scanned or processed .ply mesh as one .glb for three.js, model-viewer and engines. Faces and per-vertex colours are carried over. Free, five a day, up to 50 MB. Point clouds are refused.
How do I convert a PLY to GLB?
Drop the .ply on this page and download the .glb; the vertex colours come with it.
- 1Drop your .ply into the box above, ASCII or binary, up to 50 MB; sign in when prompted.
- 2The file is opened in Blender on our server and written as a binary glTF: faces as triangles, the colour of each vertex as glTF's COLOR_0 attribute, Z-up turned to Y-up.
- 3Download the .glb. Viewers that honour vertex colours — three.js and model-viewer do — show the scan in colour without any texture.
- Accepts:
- one .ply with faces, ASCII or binary, up to 50 MB.
- Returns:
- one .glb; per-vertex colours kept as COLOR_0.
- Costs:
- nothing, and no credits — an account, though: five conversions per account per rolling 24 hours, shared across all the free format pairs. Conversions that fail are not counted.
- Measured:
- a coloured 100-unit cube kept its colours and its size; a 16,867-face mesh came out with 16,867 triangles.
- A PLY that is only points is refused: there is no surface to write.
- glTF reads the numbers as metres, so a scan stored in millimetres arrives a thousand times too big.
- A dense scan grows: a 50 MB PLY of 2.6 million triangles came out as a 210 MB GLB.
What actually happens to the file
PLY is what 3D scanners, photogrammetry tools and research code write: vertices, optionally faces, and optionally a colour on each vertex. GLB is what the web shows. This conversion is how a scan gets onto a page or into an engine.
The colours are the part worth checking, so we did: a cube with a different colour on each corner went in as PLY and the GLB carries those colours as its COLOR_0 attribute — no texture is involved and none is created. A mesh with no colours converts just as well and comes out plain.
Size is the thing to watch. PLY stores a triangle compactly and glTF does not: a 50 MB scan of 2.6 million triangles became a 210 MB GLB. For the web, decimate the scan first — nobody's browser wants 2.6 million triangles.
What this conversion cannot do
Measured on real files, not assumed. Everything below is a property of the formats or of the pipeline, and knowing it beforehand is cheaper than discovering it in your 3D tool.
A point cloud is refused, not converted to nothing
Many scanners write a PLY that holds points and no faces. Every target here stores surfaces, so such a file would convert into a valid, empty model; we tested one and the converter stops with a message instead. Turning points into a surface is reconstruction — Poisson or ball-pivoting in MeshLab or CloudCompare — and it has to happen before conversion. A refused file does not count against your daily five.
The numbers are kept and the unit is not guessed
PLY has no unit field. A 100-unit cube came out as 100 units in the GLB, the FBX and the OBJ. glTF reads its numbers as metres, so a scan stored in millimetres arrives a thousand times too large for a metre-based scene — scale it by 0.001 where you open it. PLY's Z-up is turned so the model stands upright in Y-up formats.
Uploads stop at 50 MB
This pair takes files up to 50 MB — half of what the GLB, FBX and OBJ pairs take among themselves, because dense scans and print files cost the converter far more memory per megabyte than a game character does. For scale: a binary STL of 50 MB is about a million triangles, and we converted one of 999,698. If your file is larger, decimate it first; MeshLab and Blender both do that without changing the format.
Five conversions a day, per account
This pair is free and takes no credits, but one account gets five conversions per rolling 24 hours across all the free format pairs together — the converter is one machine and this is what keeps it answering. Each slot frees itself 24 hours after it was used; nothing expires at midnight. Conversions that fail are not counted.
Frequently asked questions
Are the vertex colours kept?
Yes. They are written as the glTF COLOR_0 attribute; we checked that the attribute is in the file and that it reads back as a colour layer. Whether you see them depends on the viewer: three.js and model-viewer apply vertex colours by default, some engines need a material that uses them.
My PLY is a point cloud. What can I do?
Mesh it first. The converter refuses a file with no faces rather than hand back an empty GLB. MeshLab (Screened Poisson) and CloudCompare both turn points into a surface for free; export that as PLY and it will convert.
ASCII or binary PLY?
Both. The coloured test cube was an ASCII PLY and the 16,867-triangle character was binary little-endian; both converted. A PLY carries no materials and no texture images, so there is nothing to zip with it — upload the one file.
Can I check the PLY before converting it?
Yes. The PLY viewer opens it in your browser without uploading anything, and it will show you at once whether the file has faces or is a bare point cloud. Open the PLY viewer →
The other format pairs
All 30 are free, all run the same pipeline, and all say what they drop.
GLB to FBX
GLB in, FBX out — free, one file.
GLB to OBJ
GLB in, OBJ out — free, zipped with its materials.
FBX to GLB
FBX in, GLB out — free, one file.
OBJ to GLB
OBJ in, GLB out — free, one file.
STL to GLB
STL in, GLB out — free, one file.
PLY to FBX
PLY in, FBX out — free, one file.
PLY to OBJ
PLY in, OBJ out — free, zipped with its materials.
DAE to GLB
DAE in, GLB out — free, one file.
USDZ to GLB
USDZ in, GLB out — free, one file.
GLB to STL
GLB in, STL out — free, one file.
GLB to PLY
GLB in, PLY out — free, one file.
GLB to DAE
GLB in, DAE out — free, zipped with its textures.
GLB to USDZ
GLB in, USDZ out — free, one file.
FBX to PLY
FBX in, PLY out — free, one file.
OBJ to PLY
OBJ in, PLY out — free, one file.
Only want to look at the file? GLB viewer, FBX viewer and OBJ viewer all run on your own device — nothing is uploaded.
Is your model going into VTubing?
A scan, a print file or a CAD part is not an avatar, and no format change makes it one: a VTubing avatar needs a humanoid skeleton and a face that moves. If what you have is a rigged character in FBX or GLB, the VRM converter maps its bones onto the VRM humanoid and carries the materials over, ready for VSeeFace, Warudo and VNyan.
Open the VRM converter