Skip to content
LidarKit

E57 viewer in your browser

Open a laser scan and look at it in 3D. Multi-scan projects come out registered. Nothing is uploaded, and there is no size limit.

Drop your LAS or LAZ file here

or choose a file

LAS 1.0–1.4 · multi-gigabyte files welcome

What an E57 file actually holds

E57 (ASTM E2807) is the vendor-neutral exchange format for terrestrial laser scanning. Leica, Faro, Trimble, Riegl and Matterport all export it, which is why it is usually the file you get handed rather than the one you captured.

One E57 file is a project, not a single cloud. It holds a list of scans, each with its own points, its own sensor metadata, and its own pose — the rotation and translation that place it in a shared coordinate frame. A viewer that ignores the pose shows you one scan's worth of geometry with the rest stacked on top of it. This one applies it, which is why a 40-station building survey opens looking like a building.

Scans may store Cartesian X, Y and Z, or spherical range, azimuth and elevation — the form a rotating scanner measures in directly. Both are read here. Points can also be flagged invalid, which is how a scanner records a pulse that returned nothing; those are skipped rather than drawn as a spike at the scanner position, and the panel counts how many there were.

Why there is no classification option

The E57 standard defines no classification field. Not an optional one — none at all. Ground, vegetation and building codes are an ASPRS LAS concept, and nothing in an E57 file carries them.

So this viewer does not offer a classification colour mode, because a legend that shows ground, vegetation and building while shading every point identically is worse than no legend. Classification only becomes possible once a scan is in a format that has somewhere to record it — LAS or LAZ, where automatic classification can label ground, vegetation and buildings. Intensity is offered only where the scan recorded it, and RGB only where the scan was captured with imagery, for the same reason.

Checksums, and what "verified" means here

E57 is unusual among point cloud formats in being self-checking: the file is a sequence of 1 KB pages, each ending in a CRC-32C checksum. A corrupt transfer is therefore detectable rather than something you infer later from odd-looking geometry.

The header and the XML metadata are always verified, before any offset out of them is trusted. Verifying every page of point data costs real seconds per gigabyte, so it is a checkbox rather than a default — and the panel says which pages were checked instead of implying all of them were.

How large files are handled

The file is decoded in a Web Worker, streaming through it once. Points are taken at an even stride across every scan rather than from the beginning, so what you see is a fair sample of the whole project and not just its first station.

The display budget is 2 million points, shared across the scans in proportion to their size. Your file is never modified — this is a display limit, not a conversion.

Two details worth knowing, because they are where browser point cloud viewers usually go wrong. First, scan poses routinely put a cloud in projected coordinates hundreds of kilometres from the origin, where 32-bit floats resolve to decimetres and the cloud snaps to a visible lattice; every scan here is recentred on one shared origin before the cast, so the scans stay registered and stay smooth. Second, because every E57 attribute occupies a constant number of bits, subsampling is done by advancing bit cursors rather than by decoding and discarding — which is what makes striding a multi-gigabyte file cheap.

What this viewer does not do

  • No editing, cropping, registration or filtering.
  • No measurement tools.
  • No 2D imagery. E57 files can embed the scanner's photographs; this reads the point clouds only.
  • No E57 export — this reads E57, it does not write it.

That list is deliberate. Reading and drawing is what lets this open a multi-gigabyte project in a browser tab in seconds, with no install and no upload — and each of those omissions is a thing that would have cost that. This is for the moment you have a scan, a browser, and one question about it.

E57 to LAS and E57 to LAZ conversion is not here yet — this reads E57, it does not yet write anything else. If your file is already LAS or LAZ, those are fully handled: convert between them, view them in 3D, or label ground, vegetation and buildings automatically.

Frequently asked questions

How do I open an E57 file without installing software?
Drop the .e57 file onto the viewer above. It is decoded on your own machine and drawn with WebGL, so there is nothing to install and nothing to upload. Multi-scan files open as one registered cloud, with each scan listed underneath so you can hide any of them.
Is my E57 file uploaded to a server?
No. There is no upload endpoint and no server component — the file is read through the browser's File API, decoded in a Web Worker, and rendered straight to a canvas. That matters more for E57 than for most formats, because laser scans are usually of buildings and sites their owners are not free to send to a third party.
Is there a file size limit?
No limit on the file itself. Large scans are subsampled for display — the viewer keeps up to 2 million points and takes an even spread across every scan — so a multi-gigabyte project opens without exhausting memory. The file is only ever read, never altered.
Why does the viewer show fewer points than my file contains?
Because drawing every point of a 300-million-point project would exhaust GPU memory and drop the frame rate to nothing. The panel below the view reports the true total and the stride it used, so you always know what you are looking at.
Does it handle E57 files with several scans?
Yes. Each scan is decoded with its own pose — the rotation and translation the file gives for placing it in a common frame — so a registered project appears assembled rather than piled on the origin. Every scan gets a row in the scan list with its sensor, its point count and a checkbox to hide it.
What if the scans are not registered?
If no scan carries a pose, the viewer says so instead of pretending otherwise. The scans are then drawn in their own coordinates and will overlap, because that is what the file actually contains — registration information the file does not hold cannot be recovered from the points.
Can I colour E57 points by classification?
No, and no tool can: the E57 standard has no classification field. Points can be coloured by elevation, by intensity where the scan recorded it, and by RGB where the scan was captured with imagery. Offering a classification mode would shade every point identically while looking authoritative. Classification is an ASPRS LAS concept, so it only becomes available once the points are in a LAS or LAZ file, which the classifier here can then label automatically.
Does it read spherical scans?
Yes. Terrestrial scanners often store range, azimuth and elevation rather than X, Y and Z. Both layouts are read, and the scan list says which one each scan uses.
What are the checksums the viewer mentions?
E57 splits the file into 1 KB pages, each ending in a CRC-32C checksum, so corruption can be detected rather than guessed at. The header and metadata pages are always verified. Verifying every page of point data costs a few seconds per gigabyte, so it is a checkbox on the drop screen rather than a default, and the panel states which pages were actually checked.
Do I need a powerful computer?
Any machine with a modern browser and working WebGL, including phones. E57 needs no WebAssembly at all here — the format has no entropy coder, so the reader is plain JavaScript in a worker.