Free online STL viewer

Drop an .stl — text or binary — to turn it around, count its triangles and read its size. It is drawn by your browser; the file is not uploaded anywhere.

How to open an STL file

  1. Drop the .stl on the viewer or click to choose it. ASCII and binary files are told apart by their contents, not by anything you have to pick.
  2. Drag to orbit, scroll to zoom. If the part lies on its back, press the Z-up / Y-up button: STL does not record which way is up, and printing tools use Z while most 3D software uses Y.
  3. Read the panel: triangles, the size of the bounding box along X, Y and Z in the file's own numbers, and the side of one grid square for scale. Wireframe shows how the surface is triangulated.

What an STL holds, and what it cannot

A list of triangles and nothing else. Each triangle is three corner points and a normal; there are no shared vertices, no object names, no hierarchy, no materials, no textures and no units. That is why the panel shows exactly three vertices per triangle — it is what the file stores, not a mesh that has been welded for you.

The binary form is an 80-byte header, a count, and 50 bytes per triangle, so a million triangles is a 50 MB file. The ASCII form writes the same numbers as text and comes out four to five times larger. Both open here and give the same picture.

For avatars the format is a dead end: an STL has no skeleton, no UVs, no colours and no blendshapes, so it cannot become a VRM without being rebuilt as a rigged model first.

What this viewer does not do

It shows the surface; it does not judge it. There is no check for holes, flipped normals or non-manifold edges, no repair, no measuring between two points and no slicing. Colour appears only for the rare binary STL that uses the non-standard per-facet colour bits some CAD tools write. For a printability check, use your slicer — it will open the same file and tell you what it cannot print.

Frequently asked questions

What units is my STL in?

The file does not say. STL stores bare numbers, and whether 25.4 means millimetres or inches was decided by whoever exported it. Slicers assume millimetres, which is why a part modelled in inches arrives 25.4 times too small. The viewer shows the numbers as they are and labels them “units” rather than guessing.

Why is the model grey? Where are the colours?

There are none to show. An STL has no materials, no textures and no vertex colours — only triangles. If you need colour for printing, 3MF carries it; for screens, GLB or OBJ with an .mtl do.

Is there a difference between ASCII and binary STL?

Only in how the numbers are written. Binary packs each triangle into 50 bytes; ASCII spells the same coordinates out as text with the words facet and vertex around them. The geometry is identical, the binary file is several times smaller and loads faster. The panel says which one you dropped.

The model is lying on its side. Is the file wrong?

No. STL has no up axis. 3D printers and CAD programs treat Z as up, which this page assumes; game and animation tools treat Y as up. If the part was exported from one of those, press Y-up and it stands.

Is my file uploaded?

No. It is read from your disk and drawn with WebGL in your browser. The only network requests are for the page's own code, so it keeps working if you go offline after loading.

How large a file will it open?

There is no fixed limit; memory is the limit. A binary STL of one or two million triangles (50–100 MB) opens on an ordinary laptop after a few seconds. A very large ASCII file is slower, because it is parsed as text first.

Can I turn an STL into a VTuber avatar?

Not directly. An avatar needs a skeleton, skin weights and a face that moves; an STL has a surface and nothing more. A character sculpt saved as STL would have to be retopologised, textured and rigged in Blender before it could be exported as VRM.

Need the same mesh in another format?

The STL to GLB converter writes the triangles into a .glb that game engines and web viewers take; the result opens in the GLB viewer. It cannot add what the STL never had — the GLB is still one untextured mesh.

Convert STL to GLB