Every point in a LAS or LAZ file carries a classification: a small integer saying what the producer decided the point is — ground, building, vegetation, water, noise. The codes are standardised by the ASPRS LAS specification, so class 2 means ground in a file from any vendor, in any country, produced with any software.
That is the theory. In practice, the table has changed between LAS versions, two of its codes moved into flag bits, and a large part of the range is left for producers to define themselves. This page lays out the current table, the differences, and the questions people actually type into a search box.
The standard table (LAS 1.4, point formats 6 to 10)
Point data record formats 6 to 10 store the class in a full byte, giving 256 possible values. The ASPRS standard classes are:
| Code | Class | Notes |
|---|---|---|
| 0 | Created, never classified | No classification step has been run. |
| 1 | Unclassified | Processed, but no class assigned. |
| 2 | Ground | Bare earth. The source of every DTM. |
| 3 | Low vegetation | Height thresholds are the producer's choice. |
| 4 | Medium vegetation | |
| 5 | High vegetation | Tree canopy. |
| 6 | Building | Roofs, and usually walls. |
| 7 | Low point (noise) | Returns well below the surface. |
| 8 | Reserved | Was Model key-point in formats 0 to 5; now a flag. |
| 9 | Water | |
| 10 | Rail | Added in LAS 1.4. |
| 11 | Road surface | Added in LAS 1.4. |
| 12 | Reserved | Was Overlap in formats 0 to 5; now a flag. |
| 13 | Wire – guard (shield) | Power line shield wire. |
| 14 | Wire – conductor (phase) | Power line conductor. |
| 15 | Transmission tower | |
| 16 | Wire-structure connector | Insulators. |
| 17 | Bridge deck | Kept separate so DTMs can drop it. |
| 18 | High noise | Returns well above any real object. |
| 19 | Overhead structure | Conveyors, gantries, traffic signals. Added in R15. |
| 20 | Ignored ground | Ground near breaklines, excluded from surfaces. Added in R15. |
| 21 | Snow | Added in R15. |
| 22 | Temporal exclusion | Features that changed between acquisitions. Added in R15. |
| 23–63 | Reserved | For future ASPRS assignment. |
| 64–255 | User definable | Project-specific. Meaning must be documented elsewhere. |
"R15" is revision 15 of the LAS 1.4 specification, published in 2019, which added classes 19 to 22. A file written against an earlier revision can be perfectly valid and still know nothing about snow.
Point formats 0 to 5: a five-bit class
The older point formats pack the class into the low five bits of one byte, so only codes 0 to 31 exist, and the upper three bits carry flags. Codes 0 to 7 and 9 mean the same as above. The differences are:
| Code | Formats 0–5 | Formats 6–10 |
|---|---|---|
| 8 | Model key-point (mass point) | Reserved — became the key-point flag |
| 10, 11 | Reserved | Rail, Road surface |
| 12 | Overlap points | Reserved — became the overlap flag |
| 13–31 | Reserved | Wires, towers, bridge deck, noise, and so on |
| 32–255 | Not representable | Reserved, then user definable from 64 |
This is why a LAS 1.2 file can never carry a "Bridge deck" class, and why converting a 1.4 format-6 file down to format 1 loses any class above 31. Which format a file uses is the single byte at header offset 104; the point formats article covers what else each one carries.
The flags: synthetic, key-point, withheld, overlap
Four properties of a point are not classes but bits set alongside the class, and they move between the two format families:
- Synthetic — the point was not measured by the sensor but created, for example by interpolation along a breakline.
- Key-point — a model key point: one that must survive any thinning, because removing it would change the surface.
- Withheld — the point should be ignored by processing but was kept in the file. Noise is often withheld rather than deleted.
- Overlap — the point lies where two swaths cover the same ground. Formats 6 to 10 only; older formats used class 12 instead.
In formats 0 to 5 the first three live in bits 5, 6 and 7 of the classification byte. In formats 6 to 10 all four occupy the low four bits of a separate classification-flags byte, and the class byte is free for its full 256 values. Software that reads a format 6 file with format 1 rules will misread every flagged point as a class in the thirties or higher — a classic symptom of a tool written before LAS 1.4.
Questions people actually ask
What does class 2 mean?
Ground: bare earth, as judged by whoever or whatever classified the file. It is the class digital terrain models are built from and the one worth checking first in any delivery. A ground class that includes low vegetation gives a DTM that is too high; one that lost the ground under trees gives a DTM with holes.
What is the difference between 0 and 1?
Class 0 says nothing has looked at the point. Class 1 says something did and assigned nothing. A raw sensor export is class 0 throughout; a classified delivery should have no class 0 at all, and its class 1 is everything the pipeline could not place.
What is class 7, and how is it different from 18?
Both are noise, split by direction. Class 7, Low point, is for returns beneath the surface — multipath reflections off water and glass, and sensor artefacts — that would drag a terrain model downward. Class 18, High noise, is for returns well above anything real: birds, haze, cloud. Files written before LAS 1.4 put both kinds in class 7.
What is class 9?
Water. Laser returns from water are sparse and unreliable, so producers usually classify what they get as 9 and, for a terrain model, hydro-flatten the area with synthetic breakline points instead.
What is class 12?
In LAS 1.2 and 1.3, Overlap: points in the strip where adjacent flight lines both covered the ground, set aside so the delivered density stays even. LAS 1.4 made overlap a flag for the new point formats and reserved code 12, so class 12 in a modern file signals an older or legacy-format pipeline.
What is class 17?
Bridge deck. It exists so that a bridge can be kept in a surface model of the built environment and dropped from a bare-earth terrain model, without anyone having to decide per project whether a bridge is "ground".
What are classes 64 and above?
Whatever the producer says they are. The specification hands 64 to 255 to users, and their meaning must be documented — ideally in a classification lookup record inside the file, more often in a report that travels with the delivery. The USGS Lidar Base Specification, for example, defines some project classes in this range. Without the documentation, a class 65 point is a mystery.
Which classes does the USGS require?
The USGS Lidar Base Specification requires a minimum set: 1 (processed, unclassified), 2 (ground), 7 (low noise), 9 (water), 17 (bridge decks), 18 (high noise), and 20 (ignored ground). Earlier revisions used class 10 for ignored ground; when ASPRS assigned 10 to Rail, the specification moved it to 20. Deliveries against different revisions therefore disagree on this one code. The 2020 revision also adopted 21 (snow) and 22 (temporal exclusion) from LAS 1.4 R15.
Finding out what a file actually contains
The header does not record which classes are present — only the point records do, and there can be billions of them. Three ways to find out, all of them here:
- Read the records. A producer who wrote a classification lookup record (user ID
LASF_Spec, record 0) has documented their codes inside the file. The LAS inspector decodes it, along with the point format, which fixes the class range. - Look. Open the file in the viewer and colour by classification. A single flat colour means the file was never classified, whatever the metadata says; scattered speckle in the ground class means noise was not removed.
- Count. An exact histogram needs every point read, so it takes as long as the file is big. The viewer's statistics panel does that read once, in a Web Worker, and lists the exact count per class alongside the return and elevation distributions.
If the file is not classified
The broad classes can be assigned automatically. Ground is separated from everything above it by a morphological filter, vegetation and buildings are split by height, roughness and, where the file has colour, greenness. That handles most airborne and drone data well; power lines, rail and bridge decks need either specialised tools or a person.
Classify a point cloud in your browser (experimental) — the classifier here assigns ground (2), low, medium and high vegetation (3, 4, 5) and building (6), leaves everything else as unclassified (1), and writes a LAZ you can open anywhere. Nothing is uploaded.