STL viewer online
Drop an .stl file and inspect the mesh — orbit, zoom, wireframe — rendered entirely in your browser. Nothing is uploaded.
Drop your .stl anywhere on this page
The STL parser and WebGL renderer both run in your browser tab. Models never leave your device.
An STL file is the 3D-printing lingua franca: a mesh of triangles, nothing else — no materials, no units, no executable anything. Every slicer reads it, every CAD tool exports it. What you usually lack is a fast way to *look* at one without opening a slicer, importing into CAD, or uploading it to a viewer site.
This page is that fast way. The mesh is parsed on your device and rendered by three.js WebGL — drag to orbit, scroll to zoom, one click to wireframe when you want to see the triangles themselves. STL files inside a zip open the same way: drop the archive, click the entry, get the 3D view.
What the viewer shows you
A dropped .stl becomes a shaded 3D model you can walk around:
- Orbit, zoom, pan — drag to rotate, scroll to zoom, right-drag to pan, with a ground grid for scale. The grid follows the printing convention: your model’s numbers are treated as millimeters.
- Wireframe toggle — the honest X-ray. STL has no materials, so the interesting truth is the topology: triangle density, visible seams, whether the surface looks watertight.
- Stats line — vertex and triangle counts, right in the status bar. Comparing decimation levels or checking whether an “optimized” export actually got smaller starts here.
- Snapshot as PNG — download the current view from the status bar, captured at the moment you click — handy for sharing an angle in a build log or with a client.
Binary vs ASCII STL
STL comes in two encodings of the same data. Binary is what real files use: 80 header bytes, a 4-byte triangle count, then exactly 50 bytes per triangle — a compact, exactly-checkable layout, roughly 5× smaller than the alternative. ASCII spells the same triangles out as readable facet normal … vertex … text; it survives mainly in tutorials and hand-written examples.
This viewer opens both without asking — and it tells them apart from the bytes, not the filename: a binary file whose header happens to start with the word solid (a classic gotcha) still opens as binary. A file that is neither — a renamed PDF, a corrupt download — is refused with a notice instead of rendering garbage.
Inspecting a part before you print it
The minutes a wireframe view saves add up: a mesh that looked fine in the shop renders hollow or disjointed; an export went out at the wrong scale; a “repaired” file still has a visible seam. Orbiting the model and flipping to wireframe surfaces most of those in seconds — before you queue it, and before you upload it anywhere.
That last part is the point. A printable STL is often a client’s unreleased product or a paid marketplace asset; upload-based viewers put it on someone else’s server just to glance at it. Here the mesh never leaves the tab — the same promise the whole site makes, and one you can verify: DevTools (F12) → Network shows no request carrying your file, and it still opens with Wi-Fi off. See security and privacy.
Honest limits
Real capability, real boundaries — stated up front.
- No measurements or slicing. This is a viewer: orbit, wireframe, counts, snapshot. It does not measure wall thickness, check watertightness programmatically, or prepare the model for printing.
- No colors — by the format’s design. STL carries geometry and normals only; color variants are unofficial extensions most tools ignore. The neutral shading here is the honest rendering of what the file contains.
- Units are assumed, not read. The format declares none; the grid assumes millimeters (the printing convention). A model authored in inches or meters simply appears at the wrong scale relative to the grid.
- Size cap: 128 MB. Very large scan meshes are refused with a notice instead of freezing the tab.
- No repair tools. A broken mesh renders exactly as broken — which is itself useful information.
Credits
The mesh is parsed and rendered by three.js (MIT), running unmodified in your browser. This page adds the viewer chrome, the pre-checks, and the snapshot plumbing.
Frequently asked questions
How can I view an STL file online?
Drop the .stl on this page (or click to browse, or load the example above). It renders immediately as an interactive 3D model — orbit with drag, zoom with the wheel, switch to wireframe to inspect the triangles. No install, no account, no upload.
Is my STL file uploaded anywhere?
No. Parsing and rendering both happen in your browser tab; the mesh never leaves your device. You can verify it in DevTools (F12 → Network) while opening the file, or turn off Wi-Fi after the page loads — the file still opens.
Does the viewer support binary and ASCII STL?
Yes, both — detected from the bytes, not the filename. Binary is the standard for real models (~5× smaller); ASCII is mostly seen in tutorials. Files that are neither are refused with a clear notice.
Can I check if my model is watertight?
Visually, yes — orbit the model and switch to wireframe to look for seams, holes, and double surfaces. This viewer does not run a programmatic watertightness analysis or repair the mesh; your slicer reports manifold errors when it matters.
What units does STL use?
The format does not say — triangles are unitless numbers. 3D printing convention is millimeters, and this viewer’s grid assumes that. Models authored in other units open fine but appear mis-scaled relative to the grid.
Is this free?
Yes — viewing STL files here is completely free, with no account and no install. The one-time renderer download (~1 MB) is cached by your browser.