uDocumentViewer
Geospatial.las

LAS viewer

ready
About LAS

LIDAR point cloud.

LAS is the ASPRS uncompressed LIDAR exchange format. We parse the Public Header Block by hand (version, point format, scales/offsets, min/max XYZ, point count — including the LAS 1.4 uint64 count) and iterate the point records directly, applying the header's scale and offset to each int32 X/Y/Z. Point formats 2/3/5/7/8 carry per-point 16-bit RGB, which we surface as a color attribute; intensity (0..65535) and classification (ASPRS codes 0..31) are extracted for every format. Files over two million points are uniformly subsampled so three.js can keep the cloud interactive — the toolbar shows both the raw count and the displayed count so you know what you're looking at. Some files in the wild use a .las extension but actually carry LAZ-compressed point data; we detect that via the high bit of the point format byte and route through laz-perf transparently.

FAQ
Which LAS versions are supported?
All of them — 1.0, 1.1, 1.2, 1.3, and 1.4. The viewer reads the Public Header Block directly, including the LAS 1.4 64-bit point count, so files with billions of returns parse correctly (we subsample for display).
What does color-by classification show?
ASPRS classification codes (0..31) — ground, low vegetation, building, water, etc. Each code gets a stable hue so you can spot patterns at a glance. Code 0 (unclassified) is rendered as a neutral grey.
Does this work for huge LIDAR tiles?
Yes. Files above ~2M points are uniformly subsampled (every Nth point) so the GPU has a fighting chance. The toolbar shows the original and displayed counts, e.g. "LAS 1.4 · 12.3M pts (showing 2.0M)".
Where does the RGB come from?
Point data formats 2, 3, 5, 7, and 8 store a 16-bit RGB triplet per return. We divide by 65535 to get a 0..1 colour and switch to RGB mode by default when those bytes are present.
Is my file uploaded?
No. Decoding happens entirely in your browser — the LAS header is parsed in JavaScript and the (rare) LAZ-in-disguise files go through laz-perf's WebAssembly module. Nothing is sent to a server.
More Geospatial