Skip to content
3DToolBench

Convert PLY to STL

PLY files usually come out of a 3D scanner. STL is what a slicer wants. This tool converts between them in your browser, and tells you whether the scan is actually closed enough to print before you send it anywhere.

Drag a 3D file here, or.

This page is set up for PLY files. Other formats we can read work here too.

The file is read on your own computer. It is never uploaded.

Add a file to switch this on.

Your file is read by your own browser and never sent to a server. There is no upload, no account and no copy of your model anywhere but on your computer.

Scanned meshes and holes

A scan almost never comes out watertight. There are places the scanner could not see — underneath the object, inside a recess — and those come through as holes in the mesh. STL will happily store a mesh with holes, and your slicer will then do something unpredictable with it.

So the numbers beside the 3D view include a count of open edges. If it says the shape is closed, the model encloses a real volume and will slice properly. If it reports open edges, the mesh needs filling first, in MeshLab, Meshmixer or Blender.

Colour will not survive

The main reason to use PLY is that it stores a colour for every point, and scanners write a lot of colour. STL stores triangles and nothing else, so all of it is dropped.

If the colour matters, convert to GLB or 3MF instead. Both keep it. STL is a shape-only format and always has been.

Both kinds of PLY are read

PLY comes in an ASCII form and a binary form, and the binary form comes in two byte orders. All of them are read here, along with the extra per-vertex properties that scanning software likes to add.

A PLY holding only points and no faces cannot become an STL, because there are no triangles to write. If you have a point cloud, it needs to be turned into a surface first — that is a reconstruction step, not a conversion.

Scans are enormous, and that is usually the real problem

A handheld scan of a small object routinely arrives with two or three million triangles, because the scanner samples on a fixed grid rather than according to how much detail the surface actually has. A flat table top gets the same density as a carved corner.

That matters because a slicer has to hold the whole mesh in memory and check it, and most of them slow to a crawl somewhere above a million triangles. It also gains you nothing: a 0.4 mm nozzle cannot print detail finer than about 0.2 mm, and a two million triangle scan of a hand-sized object is describing features far smaller than that.

The triangle count is shown beside the 3D view. If it is over a million and the object is smaller than your hand, run the mesh through a decimation step first — Filters, Remeshing, Quadric Edge Collapse Decimation in MeshLab, or the Decimate modifier in Blender. Reducing to two or three hundred thousand triangles usually makes no visible difference to the print and makes everything downstream faster.

What survives, and what does not

Kept in the STL file

  • The exact shape
  • The size, converted to the units you choose

Lost on the way

  • Vertex colours — STL stores none
  • Any extra per-vertex properties the scanner wrote

How to convert PLY to STL

  1. Drop the .ply file in

    ASCII PLY, binary little-endian and binary big-endian are all read, along with the extra per-vertex properties scanning software adds.

  2. Read the open-edge count first

    It is beside the 3D view. A scan with open edges is not a solid, and a slicer given one does something unpredictable. This is the number that decides whether the rest of the process is worth starting.

  3. Check the triangle count

    Above a million on a small object means the scan is denser than a printer can use. Decimate it in MeshLab or Blender before converting and everything afterwards is faster.

  4. Set the units to match the scanner

    Scanners usually write millimetres, but not all of them. The measured width, depth and height shown next to the model are the check — compare them against the real object.

  5. Download the binary STL

    Colour, if the scan had any, is gone at this point: STL has nowhere to put it. If that matters, convert to 3MF or GLB instead.

PLY and STL compared

PLY and STL compared, row by row
PropertyPLY.plySTL.stl
File contentsA text header that declares the properties, then the data as either text or binary.Binary or plain text. Binary is an 80-byte header, a triangle count, then 50 bytes per triangle.
GeometryTriangles and polygons, built from a shared list of points.Triangles only. Curves are approximated when the file is made, and cannot be recovered.
UnitsNone recorded.None. The file stores bare numbers, and every reader has to guess what they mean.
Colour and textureA colour for every point, which is the main reason the format exists.None. There is no place in the format for a colour, a material or a texture.
Separate objectsOne mesh. The header can declare extra per-point properties instead.One body. Several parts written into one STL become one undivided lump of triangles.
Published byStanford University, 1994, for the scanning work that produced the Stanford bunny.3D Systems, 1987, for the first stereolithography machines.
Written byMeshLab, CloudCompare, Open3D and most 3D scanners.Every CAD program and every slicer, as the common denominator.

Questions

My PLY is a point cloud. Can I convert it?
No, and no converter can. A point cloud has no surface, and STL is a list of triangles. You need to reconstruct a surface first, for example with Poisson reconstruction in MeshLab, then convert the result.
The tool says my model has open edges. Can I still print it?
Sometimes. Small holes are often patched automatically by the slicer. Large ones usually are not, and the print goes wrong in ways that are hard to predict. It is worth filling them properly first.
Where did the colours go?
STL cannot store them. Convert to GLB if you want to keep the colour of a scan, or to 3MF if you want colour and printing.
My scan is two million triangles. Should I reduce it first?
Yes, almost always. A 0.4 mm nozzle cannot print detail finer than about 0.2 mm, so most of those triangles describe features the printer cannot reproduce. Decimating to a few hundred thousand makes the file manageable and the print identical.

Having it printed

If the part is larger than your bed, needs a material your printer cannot handle, or you do not have a printer, these will print it and post it to you. Work out what it would cost you first — the cost calculator on this site gives you a figure to compare against.

These are ordinary links, not paid referrals — we earn nothing if you use them. The converter above is the same whether you do or not.

Where to go next