PLY to FBX converter — a scan into an engine

VTubeMe's PLY to FBX converter writes a .ply mesh as a binary FBX for Unity, Unreal, Maya and 3ds Max, with per-vertex colours kept as an FBX colour layer. Free, five a day, up to 50 MB. Point clouds are refused.

Free · 5 conversions a day per accountNeed a VRM avatar instead? →

How do I convert a PLY to FBX?

Drop the .ply on this page and download the .fbx.

  1. 1Drop your .ply into the box above, ASCII or binary, up to 50 MB; sign in when prompted.
  2. 2The file is opened in Blender on our server and written as a binary FBX 7.4, vertex colours included, coordinates unscaled.
  3. 3Download the .fbx and import it. To see the colours, use a material that reads vertex colour — an engine's default material does not.
Accepts:
one .ply with faces, ASCII or binary, up to 50 MB.
Returns:
one binary FBX, a single mesh with a vertex-colour layer if the PLY had colours.
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:
11,125 vertices and 16,867 triangles in, the same out; a coloured cube re-imported with its colour layer.
  • A PLY of points with no faces is refused.
  • The FBX declares metre-sized units and keeps the PLY's numbers, so a millimetre scan needs a 0.001 import scale.

What actually happens to the file

Game engines and animation packages take FBX and, as a rule, do not take PLY. A scan that has to become a prop, a set piece or a reference mesh in Unity, Unreal or Maya goes through this conversion.

The mesh is carried as it is: 11,125 vertices and 16,867 triangles in, the same out, no decimation. Vertex colours become an FBX colour layer — a coloured test cube read back with the layer intact. A PLY has no materials, so the FBX has none either; in an engine, the colours show once you assign a shader that uses vertex colour.

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

Why is my scan grey in Unity or Unreal?

The colours are in the file as a vertex-colour layer, and the default material in both engines ignores vertex colours. Use a material or shader that multiplies base colour by vertex colour. We verified the layer by re-importing the FBX in Blender; we did not open it in either engine.

Is the scan decimated or cleaned?

No. Every vertex and face is written as it came. Scans are heavy for real-time use, so decimating in MeshLab or Blender before converting is usually worth it — and it also gets a large file under the 50 MB limit.

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.

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