What is a .ply file? Mesh, point cloud or splat, and opening it on a Mac
PLY is a simple format for 3D data that Greg Turk wrote at Stanford in 1994 for data from 3D scanners. Scanners, photogrammetry and iPhone LiDAR apps still save it today. But three different things hide behind the same extension: a coloured mesh, a point cloud and a Gaussian splat. The header tells you which one you have.
At a glance
- Extension
- .ply
- Type
- Triangle mesh
- Created by
- Greg Turk, Stanford
- Since
- 1994
- Standard
- Not a formal standard
- Specification
- PLY (Paul Bourke)
- macOS without an app
- Opens it and shows previews
Facts checked November 4, 2026
The header tells you what's inside
Every PLY starts with the letters ply and a text header describing what follows. This is a cylinder exported from Blender:
ply
format binary_little_endian 1.0
comment Created in Blender version 5.1.0
element vertex 576
property float x
property float y
property float z
element face 1152
property list uchar uint vertex_indices
end_headerThe format line says whether the data is text (ascii) or binary. element vertex 576 is 576 vertices, each with x, y and z coordinates. element face 1152 is 1152 faces, each a list of vertex numbers. After end_header comes the data.
You can read the header in Terminal, even in a binary file:
head -c 600 model.plyThree things under one extension
A mesh has element face in its header. It's a surface like STL, just often with vertex colours: red green blue follow x y z. Scanning apps and photogrammetry save meshes like this because the colour sits right in the vertices and needs no texture.
A point cloud has no element face – only vertices, usually with colour. It's what a LiDAR or laser scanner produces: millions of points without a surface. A point cloud can't be measured as a solid, checked for holes or printed. It has to become a mesh first, for example in MeshLab or CloudCompare.
A Gaussian splat is a newer use of the old extension. Each "point" is a small coloured, translucent ellipsoid, and instead of red green blue the header has properties like f_dc_0, opacity, scale_0 and rot_0. The colour is stored as spherical-harmonic coefficients. Only a viewer that understands splats shows it properly; an ordinary 3D viewer sees, at best, points without colour.
I tried all three with Apple's Model I/O framework. A coloured mesh loads with its vertex colours, and a point cloud as points with colours. Of a Gaussian splat, only the point positions remain – no colour, opacity or shape.
A simple format with free hands
Greg Turk designed PLY to be simple to implement and still general. A writer can attach any properties to vertices and faces, and the header describes them. A reader, though, understands only the ones it knows, so texture coordinates, materials or custom data often get lost between programs.
Also: PLY has no units, one file is one object with no hierarchy, and binary data can be little- or big-endian. Nobody has developed the format since 1994; the Library of Congress found no edition other than the first.
Stanford's PLY work also gave the world the Stanford Bunny, a ceramic rabbit scanned in 1994 that is still one of the most used test models in computer graphics.
How to open PLY on a Mac, iPad and iPhone
macOS knows PLY by itself. According to the Library of Congress, Preview opens it, and on macOS 27 (checked on 27.0.1) Quick Look and Finder thumbnails show it too. Whether they show colours, point clouds and splats correctly, I haven't checked.
Other options:
- [MeshLab](https://www.meshlab.net/) and [CloudCompare](https://www.cloudcompare.org/) are free and handle meshes and point clouds, including turning a point cloud into a mesh.
- [Blender](https://www.blender.org/) imports PLY. Vertex colours only show once you switch on vertex-colour display.
- Preview3D, my app, opens PLY on Mac, iPad, iPhone and Apple Vision Pro.
Preview3D reads PLY through Model I/O, so the same applies as above: a mesh with its vertex colours, a point cloud as points, and a splat only as points. When a mesh has no normals, the app computes them so it doesn't come out flat or black. For a mesh, Model info shows the dimensions in the file's own units and the triangle count, with a mesh check. On iPad and iPhone it stands the mesh on your desk in AR, fitted to the desk, because PLY has no unit.
Converting PLY to STL
On a Mac, Preview3D converts from File → Export model as… (⌥⌘E) to STL or OBJ, without uploading anything. Converting only makes sense for a mesh. STL carries no colour, so the vertex colours are lost, and check the units in the slicer afterwards. Neither a point cloud nor a splat turns into a printable model.
Common questions
How do I tell whether my PLY is a mesh or a point cloud?
Look at the header. If it has element face, it's a mesh. If it only has vertices, it's a point cloud. The properties f_dc_0, opacity and scale_0 mean a Gaussian splat.
Why can't I see my PLY's colours?
The program either doesn't read them or doesn't have them switched on. In Blender, turn on vertex-colour display. For a Gaussian splat, only a splat viewer shows the colours.
Can I 3D print a PLY?
A mesh, yes, after converting it to STL or 3MF. A point cloud or a splat, no – it has to become a mesh first.
Is the colour kept when converting PLY to STL?
No. STL carries no colour. To keep it for colour printing, you need a format that carries it, such as 3MF.
Does a Mac open PLY without another app?
Yes, Preview and Quick Look handle it on macOS 27.
What's the difference between ASCII and binary PLY?
Only how the data after the header is written. Binary is smaller and loads faster; ASCII can be read in a text editor.
Related pages
- The .stl file – the printing format PLY is converted to
- The .obj file – another mesh format, with materials in an .mtl file
- The .3mf file – a mesh with colours for colour printing
Sources
- Library of Congress: PLY – history, properties, Preview support
- Paul Bourke: the PLY format – Turk's specification
- Georgia Tech: PLY
- Open3D: Gaussian splatting – splat properties in PLY
- Blender: vertex colours from PLY
- Apple: Model I/O)
Do you have a PLY from an iPhone scan that showed something different on your Mac than you expected? Write to me at apps@xfanta.com with the app it came from.
Open it in Preview3D
STEP, 3MF, STL, G-code, BGCODE and more on Mac, iPad, iPhone and Vision Pro. One purchase, no account, no network.
Preview3D on the App Store