PLY File Viewer

Drop in a .ply file and inspect it in 3D right in your browser. This viewer reads both ASCII and binary PLY meshes and point clouds, keeps vertex colors and normals, and lets you rotate, zoom and switch render modes.

Load a model

Drop a .ply file here

or click to browse. ASCII and binary PLY are both supported.

Or try a sample
Render mode
Background

No model loaded yet

Drop a .ply file above, or load one of the samples, to see it here.

ASCII and binary PLY, rendered locally

Open any PLY mesh or point cloud straight in your browser

Scanner exports, photogrammetry results and research datasets all tend to land in your downloads folder as a .ply file with no easy way to just look at it. This viewer reads the file, whether it is text-based ASCII or one of the two binary byte orders, keeps whatever vertex colors and normals it carries, and puts it on screen with a camera you can orbit, pan and zoom.

WebGL rendering, nothing uploaded

What this PLY viewer handles

Built around how PLY files actually vary in the wild, not just one tidy example.

  • All three PLY formats

    Plain ASCII, binary_little_endian and binary_big_endian are all read automatically. You never need to know which one your file uses before opening it.

  • Meshes and point clouds alike

    A file with a face list renders as a solid, lit surface. A file with vertices only, common from LiDAR and Gaussian splatting exports, renders as points instead, with no faces invented.

  • Vertex color and normals preserved

    Per-vertex red, green and blue values color the model directly, whether stored as bytes or floats. Normals are used when present, and calculated from the surface when they are missing.

  • Polygon faces, not just triangles

    Quads and larger polygon faces are fan-triangulated automatically, so meshes exported with non-triangular faces still display as a solid shape.

  • Three render modes

    Switch between solid shading, a wireframe overlay that shows the underlying mesh topology, and a points-only view, useful for checking point cloud density.

  • Nothing leaves your browser

    Reading the file and rendering it both happen client-side with WebGL. That matters for scans of private spaces or unreleased hardware you are not ready to put on a server.

What the viewer does with each part of a PLY file

A quick reference for how the format maps onto what you see on screen.

What the viewer does with each part of a PLY file
In the PLY fileWhat the viewer doesWhat you see
format ascii / binary_little_endian / binary_big_endianReads the header to pick the right parser automaticallyWorks the same regardless of format
property list ... vertex_indicesFan-triangulates any polygon with more than 3 verticesA solid shaded surface
No face element at allSkips surface rendering entirelyA point cloud
property uchar red/green/blueNormalizes 0-255 values to the 0-1 range a GPU expectsPer-vertex color
property float nx/ny/nzUses the stored normals directly for lightingAccurate shading on curved surfaces
No normal propertiesCalculates normals from the triangle geometry insteadReasonable, if flatter-looking, shading

Custom per-vertex properties beyond position, color and normals, such as confidence scores or labels, are read but not currently displayed.

What this tool does not do

Being upfront about the edges of a browser-based viewer.

  • It does not export or convert files to OBJ, STL, glTF or any other format; it is a viewer, not a converter.
  • Very large files, typically dense scans well over a hundred megabytes, can be slow to parse and render depending on your device.
  • It needs a browser with WebGL support, which almost every modern desktop and mobile browser has, but very old browsers or locked-down environments may not.
  • Vertex properties other than position, color and normals are parsed but not shown, since there is no universal way to display arbitrary custom fields.

How this PLY File Viewer works

This viewer reads a PLY file's text header first, since every PLY file, even a binary one, starts with a plain-text description of its format and the properties each vertex and face carries. From that header it learns whether the data section is ASCII text or raw binary bytes, in little-endian or big-endian order, and exactly which fields, like position, color and normal, to expect and in what sequence.

Parsing then walks the vertex list, pulling out x, y and z for position, red, green and blue for color when present, and nx, ny, nz for normals when present, normalizing 0-255 byte colors down to the 0-1 range a graphics card expects. If a face list follows, each face is fan-triangulated from its first vertex, so a file built from quads or larger polygons still renders as a solid surface. A file with no face list at all is treated as a point cloud instead of forcing a shape onto data that never described one.

The parsed geometry is handed to a WebGL scene for display, with lighting and orbit, pan and zoom controls added on top. None of this touches a server: the file stays in your browser from the moment you drop it in to the moment the model appears on screen.

How to use this PLY File Viewer

1

Choose a file or try a sample

Drag a .ply file onto the viewer, click to browse for one, or load one of the built-in samples to see a mesh and a point cloud right away.

2

Look around the model

Drag to orbit, scroll or pinch to zoom, and right-click drag (or two-finger drag) to pan. The camera frames the model automatically when it loads.

3

Switch how it renders

Toggle between solid shading, a wireframe overlay and points-only, and switch the background between light and dark to see fine detail more clearly.

4

Check the stats

The panel below the viewer shows vertex and face counts, whether the file carries color or normal data, and whether it is a mesh or a plain point cloud.

Example Usage

Dropping a faces-less scan straight into the viewer:

Input
A binary PLY point cloud exported from a photogrammetry scan, 2.1 MB, no face data
Output
Rendered as 180,000 colored points, camera auto-framed, stats panel: vertices 180,000 · faces 0 · type Point cloud · color Yes

Frequently Asked Questions

What is a PLY file, and what is it normally used for?
PLY (the Stanford Polygon File Format) stores a 3D object as a list of vertices and, usually, a list of faces connecting them. It is a common export format from 3D scanners, photogrammetry tools like COLMAP and Meshroom, and software such as MeshLab, Blender and Open3D, because it can carry per-vertex color and normal data alongside the geometry.
Does this viewer support both ASCII and binary PLY files?
Yes. PLY files come in three flavors: plain-text ASCII, and two binary variants (little-endian and big-endian) that store the same data as raw bytes for a much smaller file size. This viewer reads all three automatically; you never need to tell it which one you have.
Will it show the colors from my 3D scan?
Yes, if the file has a red, green and blue property on each vertex, which most scanner and photogrammetry exports do. The viewer reads them, whether stored as 0-255 byte values or 0-1 floating point values, and colors the mesh or point cloud accordingly.
My PLY file has no faces, only points. Will it still work?
Yes. Point clouds from LiDAR scans, structure-from-motion pipelines and Gaussian splatting exports often skip the face list entirely. When the viewer finds no face element, it automatically switches to rendering the vertices as points instead of trying to build a solid surface that isn't there.
Is there a file size limit?
There's no hard limit built into the tool, but very large files, upward of a few hundred megabytes, can be slow to parse and render because your browser has to hold the whole model in memory. Dense scans and splat exports are usually the ones that get that big.
Is my 3D model uploaded to a server?
No. The file is read and rendered entirely in your browser using WebGL. Nothing you drop in or upload is sent anywhere, which matters for scans of real places, unreleased products or anything else you would rather not put on a server you do not control.
Can I convert or export the file to another format, like OBJ or STL?
Not from this tool. It is built to be a fast, reliable way to inspect a PLY file, not a format converter, so exporting to OBJ, STL or glTF is out of scope here for now.
Why does my model look completely black or gray?
That usually means the file has no vertex colors and no normals. Without normals, the viewer calculates them from the surface geometry so lighting still looks reasonable, but a file with genuinely flat, uniform geometry and no color data will still render as a plain gray shape, which is the correct result rather than a bug.
Can I rotate, pan and zoom, or does it just sit there?
You get full camera control: click and drag to orbit around the model, scroll or pinch to zoom in and out, and right-click drag (or a two-finger drag on a trackpad) to pan sideways. A reset button brings the camera back to the framed starting view at any point.
Does it work with PLY files exported from Blender, MeshLab or Open3D?
Yes. Those tools all write standard PLY files, whether ASCII or binary, and the viewer follows the same PLY specification they do. If a file loads in MeshLab or Open3D, it should load here too, though properties beyond position, color and normals, such as custom per-vertex labels, are read but not displayed.

Related Tools

The PLY File Viewer is maintained by CodeItBro. We aim to provide the best free developer tools on the web. If you have feedback or suggestions, please visit our contact page.

As featured on

CodeItBro - Free dev tools + practical guides to help you ship faster | Product HuntCodeItBro - Free Online Developer Tools badgeCodeItBro badge