# STEP Viewer

> Loft STEP Viewer is a free online STEP (.step / .stp) file viewer that runs entirely in your browser. It opens CAD assemblies exported from SolidWorks, Fusion 360, Catia, FreeCAD, and other mechanical CAD packages without any upload, install, or signup. The viewer parses the STEP file with a Rust + WebAssembly kernel, tessellates its B-rep surfaces into triangles, and renders the model in Three.js. You can orbit the model, switch between shaded / wireframe / shaded + edges, measure distance in millimetres between two surface points, and download a PNG screenshot. Files never leave your device.


Live tool: https://lofttools.com/tools/open-tools/step-viewer

Category: Open Anything


## What it does

- Real STEP parsing via Rust + WebAssembly (no server round-trip)
- Foxtrot-derived B-rep tessellation kernel (Apache/MIT, vendored)
- Handles common surfaces — planes, cylinders, cones, spheres, tori, B-splines
- Bounded inputs and panic-safe parser — adversarial files fail cleanly
- Orbit, pan, zoom via Three.js
- Shaded / wireframe / shaded + edges
- Point-to-point measurement in model-space units (typically mm)
- PNG screenshot export
- Drag-drop or file-picker input

## How it works

1. **Drop your STEP file** — Drag a .step or .stp file into the browser, or click Open. Loft's WebAssembly CAD kernel parses it on your device — nothing uploads.
2. **Orbit and inspect** — Drag to orbit, right-click to pan, scroll to zoom. Toggle shaded / wireframe / shaded + edges from the toolbar.
3. **Measure** — Click Measure, then click two surface points. Distance shows in the status bar in the file's native units (usually millimetres).
4. **Screenshot** — Click Screenshot to export the assembly view — with the current part visibility — as a PNG.

## FAQ

### How does it work without uploading the file?

We compiled a Rust CAD kernel (forked from Formlabs Foxtrot, Apache/MIT) into WebAssembly. Your browser loads the kernel once, then parses STEP files locally. The file never leaves your device.

### What STEP versions are supported?

AP203 and AP214 are the strongest paths today. Many AP242 files also parse since AP242 is a superset of AP214. The Foxtrot kernel handles 26 entity types covering most mechanical-part geometry.

### My STEP file doesn't render anything — why?

Most likely the file uses surface types our kernel doesn't yet handle (spun surfaces, offset surfaces, swept surfaces). The viewer surfaces a clear error message. We're widening entity coverage incrementally.

### Is this affiliated with Formlabs?

No. Loft Tools is an independent project. We vendor Formlabs Foxtrot's STEP parser under its Apache/MIT licence.

### What about IGES, DWG, ODB++?

DXF is on the way. IGES and DWG aren't browser-native — convert upstream to STEP. ODB++ is a roadmap item.

## Tips

- **Click a part to inspect it** — Click any part in the viewport — or in the assembly tree — to select it. The Properties panel shows its name, part number, triangle count, and bounding box, and the matching tree row highlights.
- **Per-part visibility toggle** — Hide complex assemblies by clicking the eye icon in the tree. Useful for inspecting internal geometry without exporting a section view.
- **Real STEP parser, not approximation** — Loft runs the OpenCascade STEP engine in WebAssembly. Geometry, hierarchy, and metadata are read exactly as CAD packages do.

## How Loft STEP Viewer compares

| Tool | Install needed | Files uploaded | STEP B-rep | Measurement | Cost |
| --- | --- | --- | --- | --- | --- |
| Loft STEP Viewer | No | No (in-browser) | Yes (Rust/WASM) | Point-to-point | Free |
| eDrawings | Yes (desktop) | N/A | Yes | Yes | Free |
| Onshape free viewer | No | Yes (server upload) | Yes | Yes | Free |
| viewstl.com | No | Yes (server upload) | Limited | No | Free |
| FreeCAD | Yes (desktop) | N/A | Yes | Yes | Free |
| SolidWorks eDrawings Pro | Yes (desktop) | N/A | Yes | Yes | Paid |

_Verified 2026-05. Browser-side STEP rendering is rare — most "online STEP viewers" upload to a server-side OpenCascade / Parasolid kernel. Loft does it client-side via Rust → WASM.
_

## Privacy — what we do not do

This tool runs entirely in the browser via WebAssembly. Your file never reaches a Loft Tools server. Specifically:

- **No upload.** The file bytes load into the browser tab's memory and process on your own CPU. Open DevTools → Network and observe zero outbound requests carrying file data while STEP Viewer runs.
- **No AI training on your file.** Loft does not train models. We could not train on a file we cannot see.
- **No content scanning.** No virus, copyright, or content-moderation pass against your file. The bytes are not accessible to us.
- **No server-side log of file contents, filenames, or EXIF metadata.** Cloudflare edge captures URL and truncated IP for abuse defense (standard CDN behaviour). Cloudflare Web Analytics records anonymous page hits, no cookies, no PII. Nothing about your file content reaches any log.
- **No retention.** Close the tab and the file leaves browser memory. No backups exist on our side because no copy ever existed on our side.
- **No account.** No email, no signup, no auth, no telemetry tied to you.
- **Offline-capable after first visit** (PWA). Once you've loaded a tool, it caches; later sessions work without internet. For high-sensitivity files, run the tool once online to warm the cache, then disconnect before processing.

Compare with upload-based services: each transmits your file to a processing server. Even over HTTPS, each has logs, retention windows, and subpoena exposure. Loft has none of these because the server architecture does not include your file.

## More

- All tools: https://lofttools.com/tools
- Category: https://lofttools.com/tools/open-tools
- LLM index: https://lofttools.com/llms.txt
