A private, offline 3D walkthrough for your home scans. Open a Polycam (or any glTF 2.0) export, pick a floor, drop in a person, and walk through the space at eye level. Everything runs in a single HTML file, and your scan never leaves your computer.
Try it online, or
download polycam-walkthrough.html
and open it in a desktop browser. You don't need a server, an install, or an
internet connection. Even the hosted version processes your files locally in
your browser and never uploads them.
- Opens GLB, glTF, and ZIP exports, including loose glTF with its
.binand texture files. If an archive holds several models, you pick one. - 3D orbit and plan views, with wall-section outlines in plan.
- Walk mode: arrow keys or WASD, drag to look, Shift to move faster. Walls and floor edges block you, based on the actual mesh triangles.
- Visibility controls: show categories (walls, floors, ceilings, openings, furniture) as solid, transparent, or hidden, hide individual objects, or cut away everything above a set height.
- Measurements in metres and feet/inches.
- Project files: download a ZIP with your model and setup (orientation, floor, hidden objects, measurements, person position) and reopen it later.
- Private by design: a strict Content Security Policy blocks all network requests. There's no telemetry, no accounts, and no uploads.
- Open a GLB, or a ZIP containing GLB/glTF. You can also drag files onto the window.
- Check the orientation and units. The defaults are Y-up and metres. Use Measure to check a distance you know.
- Choose a detected floor level, or use Pick floor surface and click some clear floor.
- Click Place person, click clear floor in the plan, then click Walk. Press Escape to leave walk mode.
- Use category visibility, individual hiding, or the height cutaway to see inside.
- Save image downloads a PNG. Download project ZIP saves your setup. Nothing is saved automatically.
A project ZIP contains your original scan. Only share it with people you'd trust with that data.
Scan Room is tested in desktop Chrome. Edge should also work. WebGL 2 is required.
- Only standard glTF 2.0 triangle meshes. OBJ, USDZ, point clouds, Gaussian splats, Draco/meshopt compression, GPU instancing, and KTX2 textures aren't supported.
- Object categories and floor levels are guessed from mesh names. It works best with structured Polycam architectural exports. A single fused mesh needs a manual floor pick and the cutaway.
- Walking stays on one elevation, so there are no stairs or gravity. Bad geometry can block you. Floor support only and Free explore relax the boundaries.
- Wall collisions are limited to 350,000 triangles. Larger models fall back to floor support only. Import limits: 200 MB input, 512 MB expanded ZIP, 512 archive entries, 20,000 nodes, 2 million triangles.
- Measurements are planar and don't snap to edges. Treat all dimensions as previews, not construction measurements, and check important ones on site.
Requires Node.js 20 or newer.
npm ci
npm run build # bundles src/ into polycam-walkthrough.html
npx playwright install chromium
npm test| Path | Purpose |
|---|---|
src/page.html |
Page template, including the Content Security Policy |
src/style.css |
Styles, inlined at build time |
src/main.js |
Scene, views, walking, measurements, UI |
src/importer.js |
File and ZIP reading, path sanitising, glTF validation, project files |
src/triangle-index.js |
Bounding-volume tree for floor and wall collisions |
build.mjs |
esbuild bundle that inlines everything into one HTML file |
tests/ |
Playwright browser tests using generated glTF fixtures |
The built polycam-walkthrough.html is committed so people can download it
directly. Rebuild and commit it whenever you change src/. CI fails if it's
out of date.
Tests open the built HTML over file:// with networking disabled. To use a
system Chrome instead of Playwright's Chromium, set
CHROME_PATH=/usr/bin/google-chrome. To also smoke-test a real export, set
SCAN_ROOM_SAMPLE=/path/to/export.zip.
See CONTRIBUTING.md for how to contribute.
MIT © Matt Ferrante.
The built HTML bundles three.js and fflate, both MIT-licensed. Their license texts are embedded in the file.
Scan Room isn't affiliated with or endorsed by Polycam.