STL to PLY converter: the surface, as it is
Drop an .stl and get one .ply file, converted in Blender on our server. The trip keeps the geometry and nothing more; nothing the source holds is lost on the way. Free, no account, nothing to install.
How do I convert STL to PLY?
Drop the file on this page, wait while the server converts it, and download one .ply file.
- 1Choose an .stl. Files up to 50 MB.
- 2The converter opens it in Blender on our server and writes PLY. Most files take under a minute; the page shows the result in 3D when it is done.
- 3Download one .ply file. The upload and the result are deleted 3 days later.
- In:
- .stl, ASCII or binary
- Out:
- one .ply file
- Keeps:
- the geometry
- Cost:
- free, no account
What survives the trip
An STL is a list of triangles and nothing else, ASCII or binary. There are no materials, no texture coordinates, no colours and no unit: the numbers are taken as they are. The Z-up of printing is turned so the part stands upright in Y-up formats.
The result is a binary PLY with positions, normals, texture coordinates and, where the source carries a vertex-colour layer, colour per vertex. A model coloured by textures comes out without colour: images are not baked into vertices.
STL and PLY do not hold the same things, and the page says so before you upload: the trip keeps the geometry and nothing more, and nothing the source holds is lost on the way. PLY is what MeshLab, CloudCompare, Open3D and most research code read before anything else.
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.
The numbers come through as they are; no unit is guessed
STL has no unit field. A part modelled as 100 millimetres is written as 100 units, and a program that works in metres reads it as a hundred metres tall. Scale it by 0.001 in the program you open it in.
Colour only where the source has vertex colours
PLY colours vertices, not surfaces. A model painted with textures, which is nearly every game character, arrives as geometry with normals and texture coordinates and no colour. Keep such a model as GLB if it has to look right.
Uploads stop at 50 MB
A larger file is refused before anything is uploaded. Decimate a dense mesh or shrink the textures in your 3D tool first; neither changes the format.
Frequently asked questions
ASCII or binary STL?
Both are read. They hold the same triangles; the ASCII form is several times larger, so it reaches the upload limit with far fewer triangles.
Why would I want a PLY of a textured model?
Geometry processing: measuring, remeshing, sampling points, computing distances. MeshLab, CloudCompare and Open3D read PLY before anything else, and for that work the colour does not matter.
Is anything uploaded, and for how long?
Yes: the file you drop goes to our server in New York, is converted there, and both the upload and the result are deleted 3 days after the conversion. Nothing is shared with anyone.
Can I look at the STL first?
Yes, without uploading anything: the STL viewer draws it in your browser. Open the STL viewer →
Can this become a VTuber avatar?
Not as it is: an avatar needs a skeleton, skin weights and a face that moves, and an .stl has none of them. Rig and texture the model in Blender first, then convert the rigged file to VRM.
The other format pairs
All 50 are free, all run the same pipeline, and all say what they drop.
STL to GLB
STL in, GLB out, free: one file.
STL to FBX
STL in, FBX out, free: one file.
STL to OBJ
STL in, OBJ out, free: zipped with its files.
PLY to GLB
PLY 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 files.
GLB to PLY
GLB in, PLY out, free: one file.
FBX to PLY
FBX in, PLY out, free: one file.
OBJ to PLY
OBJ in, PLY out, free: one file.
STL to DAE
STL in, DAE out, free: zipped with its files.
STL to USDZ
STL in, USDZ out, free: one file.
PLY to STL
PLY in, STL out, free: one file.
PLY to DAE
PLY in, DAE out, free: zipped with its files.
PLY to USDZ
PLY in, USDZ out, free: one file.
DAE to PLY
DAE in, PLY out, free: one file.
USDZ to PLY
USDZ in, PLY out, free: one file.
STL to 3MF
STL in, 3MF out, free: one file.
GLB to STL
GLB in, STL out, free: one file.
FBX to STL
FBX in, STL out, free: one file.
OBJ to STL
OBJ in, STL out, free: one file.
DAE to STL
DAE in, STL out, free: one file.
USDZ to STL
USDZ in, STL out, free: one file.
3MF to STL
3MF in, STL 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?
An .stl is a surface without a skeleton, so no converter can make a VRM avatar out of it directly. Rigged and textured in Blender, the same model converts to VRM on the FBX to VRM converter, with the bones mapped onto the VRM humanoid.
Open the VRM converter