# STEP Viewer

> Loft STEP Viewer opens STEP (.step / .stp) parts from SolidWorks, Fusion 360, Catia, FreeCAD and other CAD packages, and inspects them automatically. When a part loads it detects holes and fasteners and builds a bill of materials, measures wall thickness, flags manufacturability issues (insufficient draft, undercuts, sharp internal corners, thin walls), and computes mass and bounding box. You can also measure point-to-point in millimetres, take section cuts, and export a PNG. It parses the file with a Rust + WebAssembly B-rep kernel (built on the open-source truck CAD kernel) and runs entirely in your browser — the file is parsed on your device, not uploaded.


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

Category: Open Anything


## What it does

- Auto inspection on open — holes + fasteners, bill of materials, wall thickness, mass, and bounding box
- Manufacturability checks — insufficient draft, undercuts (per pull direction), sharp internal corners, thin walls
- Rust + WebAssembly B-rep kernel (built on the open-source truck CAD kernel, Apache/MIT)
- Handles common surfaces — planes, cylinders, cones, spheres, tori, B-splines
- Point-to-point measurement in millimetres + section cuts
- Shaded / wireframe / shaded + edges
- Bounded inputs and panic-safe parser — adversarial files fail cleanly
- PNG screenshot export
- Parsed on your device — no server round-trip, no upload

## 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 (built on the open-source truck kernel, Apache/MIT) to WebAssembly. Your browser loads the kernel once, then parses STEP files locally. The file is parsed on your device and is not uploaded.

### 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 kernel handles the common mechanical-part entity and surface types.

### Is this a replacement for my CAD or DFM software?

No — it's a fast first look. It opens a STEP part and gives you an instant read (measurements, a bill of materials, and manufacturability flags) without opening CAD or sending the file anywhere. For production sign-off, tolerances, or a binding quote, use your CAD package or a manufacturer.

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

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

### 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.
- **It measures itself on open** — When a part loads, the viewer detects holes + fasteners, builds a bill of materials, measures wall thickness, flags manufacturability issues, and computes mass — automatically, in the Hardware & DFM panel.
- **Real STEP parser, not approximation** — Loft runs a Rust + WebAssembly B-rep kernel (built on the open-source truck CAD kernel). Geometry and hierarchy are read as CAD packages do.

## 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
