What happens when you open a file
Most pages that call themselves an STL viewer online work by uploading your file to a server, rendering it there and sending back pictures. This one does not. When you drop a file on this page, your browser reads it from disk, JavaScript parses the triangles in memory, and WebGL draws them on your own graphics card. No request carries the file anywhere; you can open the network panel of your browser's developer tools and watch nothing go out. That matters when the model is a client's part, a scan of a person or something you sell.
- Detection. The page looks at the bytes, not the file name. A binary STL is recognised from its 84-byte header and triangle count, an ASCII STL from its
facetlines, and OBJ, GLB, 3MF and PLY from their own signatures. A file with the wrong extension still opens. - Parsing. Triangles are read into typed arrays. Shared corners are merged so the viewer knows which triangles are neighbours; that is what makes the watertight check and the vertex count possible.
- Analysis. Bounding box, volume, surface area, triangle and vertex counts, open and non-manifold edges, and a unit sanity check all run at load time and appear in the panel next to the model.
- Rendering. The camera frames the model, a fixed studio light shows the shape, and orbit, pan and zoom respond immediately. Wireframe, colour, the section plane and measurement work on the mesh in memory.
What this STL file viewer handles
- Formats. STL (binary and ASCII), OBJ, GLB and glTF with embedded textures, 3MF from any slicer or CAD tool, PLY meshes and point clouds with vertex colours. Each format also has its own page: OBJ, GLB, 3MF, PLY.
- Navigation. Orbit with the mouse or one finger, pan with the right button or two fingers, zoom with the wheel or a pinch. Double-click re-centres.
- Display. Wireframe on or off, a colour picker for the surface, a section plane you slide through the model to see inside, and a dark or light background.
- Numbers. Width, depth and height with an mm / inch toggle, volume, surface area, triangle and vertex counts, watertight yes or no with the open-edge count, and a warning when the size looks like an inch or metre export.
- Measurement. Click two points on the surface for the straight-line distance.
- Screenshot. Save the current view as a PNG for a forum post, a ticket or a quote.
- Tools. From the same file you can go to repair (normals, duplicates, degenerate triangles, open-edge report), dimensions and volume, the print cost calculator, and converters to OBJ, STL, GLB and between binary and ASCII STL.
- Size. Files of hundreds of MB open on a laptop; a 150 MB binary STL is three million triangles and takes a few seconds.
- Offline. Install the page as an app and it works without a connection.
How to check a model before printing: step by step
Say you downloaded a small bracket from a sharing site and want to know whether it will print cleanly before you spend an hour on it. Click Try a sample to follow along on the built-in test block (a 30 mm block with a 16 mm hole through it), or open your own STL file.
- Open it and read the size. The panel shows 30.0 x 30.0 x 20.0 mm. That is a plausible small part. If it read 1.18 x 1.18 x 0.79, the file was exported in inches and would print at a 25th of the size; if it read 0.030 x 0.030 x 0.020, it was exported in metres. The unit warning appears in both cases. See why your STL is the wrong size for the fix in each slicer.
- Check that it is closed. The watertight line reads yes, 0 open edges. A slicer needs a closed surface to know what is inside and what is outside. A few open edges usually mean a small hole a slicer will bridge; hundreds mean the model was exported as loose surfaces and needs a mesh editor.
- Look for inside-out faces. Orbit around. Patches that look dark or see-through from certain angles are triangles wound the wrong way. STL repair unifies them in one click and reports how many it turned.
- Switch on wireframe. The sample has 192 triangles, which is why its hole looks faceted; a model with 30,000 evenly sized triangles is fine. Very long slivers, or a curved surface with only a dozen facets, will show in the print. Triangle count also tells you whether the slicer will be slow: over a million and you may want to decimate.
- Slide the section plane through it. This is the fastest way to find a wall that is too thin. A bracket with 1.2 mm walls is fine on a 0.4 mm nozzle; a 0.5 mm wall is not, and you can see it as a hairline in the section. On the sample, the cut shows the wall between the hole and the outside: 7 mm.
- Measure the bit that matters. Click two opposite points on the rim of the hole: 16.0 mm. The M16 bolt you meant it for is 15.9 mm across. It fits.
- Estimate the material. The panel reads volume 14.02 cm3. At 20 percent infill with a 25 percent shell that is about 7 g of PLA; the cost calculator does the arithmetic with your spool price.
- Screenshot and slice. Save a PNG if you need to ask someone about it, then send the file to your slicer knowing what it will find.
The whole check takes a minute, and it is a minute that saves the print that fails at layer 140. The longer version is in how to check an STL before printing.
Every feature, and when you would use it
The viewer is small on purpose, but each control exists because a real file needed it. Here is the full list, in the order you meet them.
Loading a file
- Drag and drop, Browse, or paste a URL. Drop the file anywhere on the viewer. From URL fetches a file your browser can reach directly (a GitHub raw link, a public bucket); the remote server has to allow cross-origin requests, and the page tells you if it does not. Link straight to a model with
?url=in the address. - Five formats, detected by content. STL (binary and ASCII), OBJ, GLB and glTF, 3MF and PLY. A mislabelled file still opens because the parser looks at the bytes, not the extension. 3MF files carry a unit; the viewer converts them to millimetres and says so. OBJ files that reference a missing material file open without the materials and tell you.
- Try a sample. A 30 x 30 x 20 mm test block with a 16 mm hole, generated on the page, so you can learn the controls without hunting for a file.
Looking at it
- Orbit, pan, zoom. Left-drag orbits, right-drag or two fingers pans, scroll or pinch zooms. Fit (or F) recentres the model and frames it, which you will want after zooming into a detail.
- Wireframe (W) shows the triangles. It is the quickest way to judge whether a curved surface is faceted enough to print smoothly and whether a mesh has been decimated too far.
- Grid (G) draws the build-plate grid and axes under the model, so orientation and scale read at a glance.
- Colour changes the model colour, and the choice is remembered on this device. Useful when a light-grey part disappears against a light background, or when you take screenshots for a listing.
- Section plane (S) cuts the model along X, Y or Z at a position you slide. This is how you find a wall that is too thin, a hollow you did not expect, or an internal void that will trap resin.
- Measure (M) takes two clicks on the surface and reports the straight-line distance in millimetres and inches. Check a hole diameter against the bolt you have, or a slot against the thing that goes in it. Esc leaves measure mode.
- Fullscreen gives the model the whole screen; press Esc to return.
- Dark and light follow your system by default; the toggle in the header (or D) overrides it.
Reading the numbers
- Dimensions of the bounding box in millimetres or inches (one toggle), plus a Model units selector for files whose author exported in inches or metres: pick the unit the file was made in and every number updates.
- Volume and surface area, computed from the triangles themselves rather than from the bounding box. Volume is what filament cost depends on; surface area is a hint at print time on resin printers.
- Triangles and unique vertices. STL stores every triangle's corners separately, so a file "has" three times as many vertices as it needs; the unique count is after welding duplicates, and the duplicate count tells you how much the OBJ or GLB export will shrink.
- Watertight, with the open-edge count. A closed mesh has every edge shared by exactly two triangles. The viewer counts the edges that are not, which is the number a slicer's "mesh errors" warning is really about.
- Unit warning. If the largest dimension is under 10 or over 1,000, the panel says the model was probably exported in inches or metres and what it would print at. This catches the most common reason a print comes out at 1/25 of the size.
- Copy puts the whole table on the clipboard as text, for a forum post or a message to a customer.
Getting a file back out
- Download as STL (binary or ASCII), OBJ, GLB, PLY or 3MF. Binary STL is what slicers want; ASCII STL is readable in a text editor; OBJ and GLB are for CAD, game engines and web pages; PLY keeps vertex colours from scans; 3MF carries units. The conversions run in the browser and the exported file is the analysed mesh, so what you measured is what you get.
- Screenshot saves the current view as a PNG at the canvas resolution, background included, for listings, issue reports and documentation.
- Repair (its own page) merges duplicate vertices, drops zero-area triangles and makes every normal point outward, then reports what it changed and how many open edges remain. It does not invent surface to fill holes, because a viewer guessing at geometry is how prints go wrong.
What it deliberately does not do
No editing of geometry beyond repair, no slicing, no STEP or IGES (those need a CAD kernel; a STEP viewer is on the list once the basics have proven themselves), no G-code preview, and no cloud: nothing is stored anywhere, which also means a reload starts from an empty viewer.
Why your STL is the wrong size
An STL contains numbers with no unit attached. It does not say millimetres, inches or metres; it just says 40. Slicers, and this viewer, treat that as 40 mm, because that is the convention of the 3D printing world. CAD programs are less uniform. A part drawn in inches in SolidWorks or SketchUp and exported without converting comes out with numbers like 1.575, and a slicer prints a 1.575 mm part. A model built in Blender at its default scene scale is in metres, so a 40 mm cube exports as 0.04. Some tools export in centimetres and the part arrives ten times too small.
The viewer's dimensions panel is the fastest check. Compare the bounding box with what you expect: off by a factor of about 25.4 means inches, 1000 means metres, 10 means centimetres. The unit warning fires when the largest dimension is under 10 or over 1,000, which catches most cases. The fix is either to re-export from the CAD tool with the unit set to millimetres, or to scale the object in the slicer: PrusaSlicer offers "convert from inches" on the object menu, Cura's scale tool accepts a size in mm directly, and Bambu Studio and OrcaSlicer have a percentage field where 2540 percent is the inch fix. The units guide lists what each program does at export.
Compared with desktop viewers, slicers and upload-based viewers
| Option | Uploads your file | Install | Measure, volume, watertight | Repair and convert | Works on a phone | Cost |
|---|---|---|---|---|---|---|
| This page | No | None (optional app) | Yes | Yes, in the browser | Yes | Free |
| Slicer (PrusaSlicer, Cura, Bambu Studio) | No | Yes, 200 MB or more | Size yes, volume after slicing, watertight warnings | Repair on Windows only or via a cloud service | No | Free |
| Desktop viewer (MeshLab, 3D Builder, Blender) | No | Yes | Yes, several menus deep | Yes, powerful, steep learning curve | No | Free |
| Windows or macOS built-in preview | No | Built in | Size only, sometimes | No | No | Free |
| Typical upload-based online STL viewer | Yes, to their server | None | Rarely more than size | Sometimes, with a sign-up | Usually | Free with ads, or a sign-up wall |
| CAD package (Fusion, SolidWorks, Onshape) | Depends (Onshape and Fusion are cloud) | Yes | Yes | Mesh tools are limited | Limited | Paid or hobby licence |
A slicer is still the right tool for slicing, and a mesh editor is still the right tool for real surgery. This page sits in front of both: a quick look and an honest report before you commit.
Accuracy and limitations
- Geometry is shown as it is in the file. No smoothing, decimation or subdivision is applied. If the model looks faceted, the file is faceted.
- Volume is exact for watertight meshes and flagged for open ones. Overlapping shells double count the overlap; the slicer will union them, the viewer does not.
- Units are inferred. STL, OBJ and PLY carry no unit. The viewer assumes millimetres and warns on implausible sizes; 3MF declares its unit and is converted.
- Repair is limited to what can be done safely. Normals are unified, duplicate vertices merged, degenerate triangles dropped, and open edges counted. Holes are never filled, because an automatic fill that guesses wrong looks fine on screen and prints wrong.
- No STEP or IGES yet. Export a mesh from your CAD tool. No G-code preview either; the slicer does that.
- Textures from separate files are not loaded. OBJ materials and .gltf external buffers stay on your disk; GLB with embedded textures displays them.
- Memory is the limit. The whole file is held in RAM. Hundreds of MB on a laptop, much less on a phone.
Who uses an online STL viewer
People who just downloaded a model and want to open the STL file before slicing it. Makers checking a Printables or Thingiverse file on a phone or a Chromebook that has no slicer. Engineers who need to glance at a supplier's part without launching CAD. Teachers showing a class what a mesh looks like under wireframe. Scanner owners looking at a PLY before spending an evening cleaning it up. Sellers of 3D printed goods taking a quick screenshot for a listing. Support staff at print farms asking a customer "is this the right size?" and needing a number in mm to point at. Anyone searching for how to open STL files on a phone or a tablet. Anyone with a 3D file who does not want to install two gigabytes of software, create an account, or hand the file to a stranger's server for a thirty-second look.
At a glance
| Price | Free, no account, no file limit, no watermark |
| Where the file goes | Nowhere. Parsed and rendered in your browser tab; no upload request is made |
| Formats | STL binary and ASCII, OBJ, GLB and glTF, 3MF, PLY |
| Numbers shown | Bounding box (mm and inches), volume, surface area, triangles, vertices, open edges, watertight |
| Display | Orbit, pan, zoom, wireframe, colour, section plane, two-point measurement, PNG screenshot |
| Repair | Unify normals, merge duplicate vertices, remove degenerate triangles, report open edges. No hole filling |
| Converters | STL to OBJ, OBJ/GLB/PLY/3MF to STL, STL to GLB, binary to ASCII STL and back |
| Works offline | Yes, after installing it as an app |
| Last updated | 2026-09-16 |