The PLY Format, Explained
PLY was designed in the mid-1990s at Stanford University by Greg Turk and colleagues, originally to store data from 3D scanners - the famous Stanford Bunny ships as a PLY file. The design goal was a format simple enough to parse in a few lines of code yet flexible enough to attach arbitrary data to geometry.
A PLY file starts with a self-describing plain-text header that declares its elements (vertices, faces) and their properties (x, y, z, red, green, blue, and so on), followed by the data in either ASCII or binary form. That self-describing header is why tools can read PLY files with properties they have never seen before.
The signature feature is per-vertex properties: color, normals, transparency, or confidence values can ride along with each vertex. This is exactly what 3D scanning and photogrammetry pipelines need, which is why MeshLab, CloudCompare, and most scanner software treat PLY as a first-class citizen.
At a glance
- Extension
- .ply
- Since
- 1994
- Geometry
- Vertices + faces
- Variants
- ASCII / Binary
- Color
- Per-vertex
- Units
- Unitless
What PLY Files Can Store
PLY sits between the bare-bones STL and the scene-capable formats: rich per-vertex data on simple geometry. Its one common gotcha is that a PLY can legally contain no faces at all - a raw point cloud - which surface-based tools cannot use directly.
Capability 01
Per-vertex color
Capability 02
Arbitrary vertex properties
Capability 03
Compact binary variant
Limitation
Point clouds need meshing
PLY vs STL vs OBJ
Comparison
PLY vs STL
Comparison
PLY vs OBJ
How to Open a PLY File
Open a PLY file instantly in our free online viewer - drag it into the browser to rotate, zoom, and inspect it, with per-vertex scan colors displayed automatically. You can also convert it to STL for printing. All processing is local; your scan data is never uploaded.