PLY Viewer
Open and inspect PLY meshes and point clouds directly in your browser. Explore surfaces, explicit edges and points, with vertex colors and normals, without uploading your file.
Your PLY stays on this device. MeshWrench reads and renders it locally in your browser.
Up to 150 MB. ASCII, and little- or big-endian binary PLY are all supported.
Processed locally — nothing was uploaded.
- File size
- Encoding
- Vertices
- Source faces
- Rendered triangles
- Explicit edges
- Rendered points
- Vertex properties
- Face properties
- Comment lines
- obj_info lines
- Unknown elements
- Unknown properties
- Source normals
- Vertex colors
- Alpha channel
- Texture coordinates
- Width
- Height
- Depth
PLY does not define a universal measurement unit. Dimensions are shown in model units, unscaled from the file's own coordinate values.
Texture coordinates are metadata only — this viewer has no texture image to sample them against.
Geometry
How to view a PLY file
- Select a PLY file using the picker above.
- MeshWrench resolves it locally, in a background worker — nothing leaves your device.
- Once resolution finishes, drag to rotate, scroll to zoom, and use the panel below the viewport to fit the view, toggle wireframe, switch shading or color mode, or show and hide the surface, edges and points independently.
What the PLY Viewer displays
After a file loads, the panel below the viewport shows file size, encoding (ASCII, little-endian binary or
big-endian binary), vertex count, source face count, rendered triangle count, explicit edge count, rendered
point count, vertex/face property counts, comment and obj_info line counts, unknown element and
property counts, and whether source normals, vertex colors, an alpha channel and texture-coordinate metadata
are present. A geometry panel lists which of surface, explicit edges and points your file actually contains,
each with its own visibility toggle.
Meshes, point clouds and explicit edges
A PLY file has no fixed scene graph the way OBJ, 3MF or GLB do — it's a flat list of elements, most commonly a
vertex element and an optional face element. This viewer treats every one of the
three possible render categories as first-class: a polygon surface from a
face element, explicit edges from a conventional edge element (only
the standard vertex1/vertex2 integer layout is recognized — anything else is skipped
with a warning, never guessed at), and points — every vertex is always renderable as a point,
regardless of whether it's also used by a face or edge. A file with only a vertex element and no faces at all
is a valid point cloud, not an error.
Vertex colors, normals and UVs
Conventional vertex properties are read directly: red/green/blue/
alpha (or their r/g/b/a aliases) become vertex
colors, normalized from their declared scalar type — an 8-bit channel divides by 255, a 16-bit channel divides
by 65535, and a float channel is used as-is. nx/ny/nz become source
normals, used per-vertex where they're valid and falling back to a computed, averaged normal only for the
vertices that need it. A u/v, s/t or
texture_u/texture_v pair is read as texture-coordinate metadata — PLY has no texture
image, so this viewer never samples it against anything.
How dimensions are shown
PLY does not define a universal measurement unit. Dimensions are shown in model units, unscaled from the file's own coordinate values — this viewer never assumes millimeters, meters or any other real-world scale.
PLY versus STL
PLY can describe polygon faces, explicit edges, a standalone point cloud, per-vertex colors, normals and texture-coordinate metadata, all in one file. STL stores only raw triangle geometry with no metadata at all. This viewer can show PLY's richer structure — point clouds, explicit edges, vertex colors — that MeshWrench's PLY to STL converter's flat triangle output can't carry over.
Why a PLY may not open
- The header is missing a required field, or declares a property type MeshWrench doesn't recognize.
- A face or edge element references a vertex index that doesn't exist.
- The file has neither a face nor an edge element, and its vertex element has zero rows to show as points.
- A vertex coordinate is missing, non-finite, or the binary body ends before the header's declared counts are satisfied.
- The file is more complex (vertices, faces, edges or points) than this tool's safety limits currently allow.
Is the PLY uploaded?
No. There is no server-side file-processing route in MeshWrench at all. Your browser reads the file with the standard File API, hands its bytes to a Web Worker running on your device, and renders the result with WebGL — also on your device. You can verify this yourself: open your browser's developer tools, watch the network tab, and load a file. No request containing your file, or any value found inside it, will appear.
Frequently asked questions
Is my PLY file uploaded?
No. The file is read and resolved entirely in your browser, inside a background Web Worker. It's never sent to a server — check your browser's network tab while a file loads to confirm this yourself.
Can this viewer open a point cloud with no faces?
Yes. A point-cloud-only PLY file — a vertex element with no face element at all — is a valid, first-class input here, unlike MeshWrench's PLY to STL converter, which requires a face element since STL can't represent points.
Does it render explicit edges?
Yes, when the file declares a conventional edge element with vertex1/vertex2 integer properties. An edge element in any other, unrecognized layout is skipped with a warning rather than guessed at.
What units are the dimensions shown in?
PLY doesn't define a measurement unit at all, so dimensions are always shown in model units, unscaled from the file's own coordinate values.
Does this tool use the same parser as the PLY to STL converter?
Yes. Header parsing, ASCII/binary body reading and face triangulation all reuse the exact same underlying code as MeshWrench's PLY to STL converter. This viewer only adds a second, additive pass for vertex colors, normals, UV metadata and edges — things the converter intentionally discards.
Which browsers are supported?
Any recent version of Chrome, Firefox, Safari or Edge with WebGL and Web Worker support.
Explore free tools