STL Mesh

PLY → STL · FREE · NO UPLOAD

PLY to STL Converter — Print 3D Scans

Turn a .ply from a 3D scanner or photogrammetry tool into a printable .stl right here in the browser. Works with Revopoint, Creality, Meshroom and RealityCapture exports. No upload — your scan stays on your device.

What it does: parses a PLY mesh file (binary or ASCII) and writes the triangle geometry as binary STL — 50 bytes per triangle. Vertex colors are dropped because STL cannot store color data.

Why you need it: PLY is the native output of 3D scanners (Revopoint, Creality) and photogrammetry tools (Meshroom, RealityCapture). Slicers (PrusaSlicer, Bambu Studio, Cura, OrcaSlicer) want STL or 3MF.

How it works: the three.js PLYLoader parses the file in this browser tab. No server, no upload — disconnect and it still runs.

Demo model — drop a file to replace it
Conversion runs locally in your browser.

Conversion specs

Input formatPLY (binary or ASCII, with face data)
Output formatBinary STL (50 bytes per triangle)
Vertex colorsDropped (STL cannot store color)
Scanner supportRevopoint, Creality, Meshroom, RealityCapture, Polycam
File size limitDevice RAM only — no server limit
Unit mappingNumbers copied as-is; slicers read STL as mm
Processing100% client-side via three.js PLYLoader
CostFree, unlimited conversions, no account required

From 3D scan to print

PLY — the Polygon File Format, also called the Stanford Triangle Format — is the standard output of 3D scanners. Revopoint and Creality handheld units write it; photogrammetry software such as Meshroom and RealityCapture export it after reconstruction. A PLY can store vertex positions, vertex colors captured from the scan, optional normals, and face indices. STL stores only triangles. Converting PLY to STL drops vertex colors and keeps the triangle geometry — the part a slicer can actually print.

PLYvertex colors,scan dataINPUTExtract mesh trianglesfaces kept, colorsand extras droppedIN THIS TABSTLtriangles only,slicer-readyOUTPUT
What actually happens between the two formats: geometry survives, everything STL cannot store is dropped.
  1. Export a mesh PLY from the scanner software — not a raw point cloud. Revopoint Studio, CrealityScan, Meshroom and RealityCapture all have a mesh or fused-model export. The file must contain face indices, not vertices alone.
  2. Drop the file on the drop zone above. Nothing is uploaded; the mesh is parsed in this tab. Wait for the preview to appear so you can confirm you have the right object and that the scan fused into a surface, not a cloud of unconnected points.
  3. Check scale against the bounds readout under the preview. Scanner exports are often in millimeters already, which matches what slicers assume for STL. If a 50 mm part shows bounds around 0.05 or 5, scale it on the plate (or re-export with a millimeter unit) before you print. Trust the numbers on this page, not a guess.
  4. Download the STL and open it in Bambu Studio, PrusaSlicer, Cura or OrcaSlicer. Treat it like any other mesh you would drop onto a plate: orient it, add supports if the overhangs need them, and slice.
  5. Scan meshes are often not watertight — holes from occlusions, overlapping shells from a multi-pass fuse, or non-manifold edges at the clip plane. If the slicer reports holes or a failed slice, run its built-in repair on import. You can also check the file first on the STL repair page on this site, which reports open edges without sending the mesh anywhere.

That is the whole pipeline: scan, export a mesh PLY, convert here, download STL, open in the slicer. Vertex colors never come along — they cannot — and that is the point of the conversion. The only extra step worth doing every time is reading the bounds so the first print is the size you meant.

From scanner or photogrammetry to a slicer

A handheld scan or a Meshroom reconstruction arrives as PLY. Slicers — PrusaSlicer, Cura, Bambu Studio, OrcaSlicer — want a plain triangle mesh, and their common language is STL. This page is the bridge:

  1. Export a mesh PLY from the scanner or photogrammetry tool (faces, not a point cloud).
  2. Drop it above — the preview shows exactly what will be exported, with triangle count and size.
  3. Click Download STL and open the file in your slicer.
  4. If the size looks off, scale in the slicer — scanner units vary, slicers assume millimeters (details in the FAQ).

Going the other way? The STL to PLY converter writes a PLY from an STL for MeshLab and scanning pipelines. For AR or web embeds, use the STL to GLB converter. Have an OBJ scan instead? That's the OBJ to STL page.

What survives the conversion

In the PLYIn the exported STL
Vertex positions (x, y, z)Kept as triangle vertices
Face indices (triangles / polygons)Triangulated and written as STL facets
Vertex colors (RGB / RGBA)Dropped — STL cannot store them
Vertex / face normalsRecomputed per triangle; PLY normals are not copied
Point cloud with no facesNothing printable — reconstruct a mesh first
ASCII or binary PLY layoutAlways binary STL (50 bytes per triangle)

FAQ

Is my PLY file uploaded anywhere?+

No. The converter parses the PLY with the three.js PLY loader inside this tab and re-encodes the triangles as binary STL, also locally. There is no upload endpoint. Load the page, disconnect from the internet, and the conversion still works.

What is a PLY file?+

PLY is the Polygon File Format, also called the Stanford Triangle Format. It stores vertex positions, optional vertex colors, optional normals, and face indices that connect those vertices into triangles or polygons. ASCII and binary variants exist. Scanners and photogrammetry tools use it because a single file can carry both the mesh and the per-vertex color captured from the scan.

Does the conversion keep vertex colors?+

No. A PLY can store RGB (and sometimes alpha) on every vertex; STL stores only triangles — three vertices and a normal, nothing else. Colors are dropped, not by choice but because the destination format cannot hold them. Geometry survives: face indices are triangulated and written into the STL. If you need color 3D printing, keep the PLY or export 3MF from a tool that can carry vertex color.

Point-cloud PLY vs mesh PLY — which one prints?+

A mesh PLY has face elements that connect vertices into triangles or polygons; that is what this converter (and any slicer) needs. A point-cloud PLY is vertices only — positions, often with color, and no faces. There is nothing to triangulate, so the preview will be empty or a cloud of unconnected points and the STL will have no printable shells. Reconstruct a mesh in your scanner software (Revopoint Studio, CrealityScan, Meshroom, RealityCapture) and export that mesh PLY before converting.

What scanners and software export PLY?+

Most structured-light and photogrammetry pipelines. Handheld scanners from Revopoint (POP, MINI, RANGE) and Creality (CR-Scan), plus EinScan and Artec units, write PLY as a default or optional mesh export. Photogrammetry tools — Meshroom, RealityCapture, Metashape, Polycam — also export PLY after reconstruction. Binary .ply is the usual download; ASCII PLY is accepted too.

How does the STL file size compare to the PLY?+

Binary STL spends 50 bytes per triangle and repeats every vertex, so a dense scan mesh often grows. Indexed PLY stores each vertex once plus face indices, and vertex colors add a few bytes per vertex on top. Expect the STL to be similar or larger than a binary mesh PLY of the same triangle count; ASCII PLY is much larger than either. A point-cloud PLY with millions of colored vertices and no faces is a different animal — convert only after you have a meshed export, or the file will not print.

🧊
Written by Casey Marlin · Last updated
This update: conversion covered by scripts/test-stl.mjs