Point cloud converter
Drop a PCD or PLY file and it is parsed right in your browser: you get the point count, bounding box and a top-down projection, then export to XYZ or CSV. Nothing is uploaded and there is no sign-up.
Drop a point cloud file here
Or click to choose a file. Supports .pcd (ascii / binary) and .ply (ascii / binary, either endianness).
What is supported
| Format | Read | Notes |
|---|---|---|
| PCD ascii | ✅ | Character-by-character number scanner, so millions of points do not blow up memory |
| PCD binary | ✅ | Reads fields by offset; supports COUNT > 1 |
| PCD binary_compressed | ❌ | Needs LZF decompression, and I cannot cross-check it against real PCL output — refused rather than guessed |
| PLY ascii | ✅ | Face elements after the vertex list are ignored |
| PLY binary (LE/BE) | ✅ | Reads properties by offset, including integer fields such as uchar colours |
Why "no upload" matters here: point clouds often carry customer site coordinates or unpublished scene data — sometimes enough to infer where equipment is installed. That is not something to hand to someone else’s server.
Which export format
- XYZ: one
x y zper line, the most portable form. CloudCompare, MeshLab, MATLAB andnp.loadtxtall read it. - CSV: header plus every scalar field (intensity, colour, normals…), good for Excel or pandas.
Things worth knowing
- Export precision defaults to 3 decimals (millimetres); raise it if your coordinates are large, e.g. UTM.
- PCD
binary_compressedis not supported — re-save withpcl_convert_pcd_ascii_binaryor CloudCompare. - For files above ~80MB the parse blocks the main thread for a few seconds; the page will look frozen, which is expected.
- The projection exists to sanity-check the data, not to replace a real viewer — use CloudCompare for detail.
Next up: cropping, voxel downsampling and coordinate transforms with a 4×4 matrix. All of those need reliable read/write first, which is why this layer comes first.