Free online STL viewer
STL viewer that also measures the mesh
This STL viewer is free and needs no signup: drop a file on the canvas and it opens in your browser, with nothing uploaded to anywhere. Orbit it, switch between shaded, wireframe and edge views, and read the panel underneath for the numbers that decide whether the file is usable — bounding box in millimetres, triangle and vertex counts, surface area, and the enclosed volume in millilitres when the mesh is closed. The watertight row counts edges used by only one triangle, which is the precise reason a slicer complains, and the same viewport opens OBJ, PLY, 3MF, GLB, glTF and FBX.
- 100% free
- No signup
- No size limit
- Nothing uploaded
- Volume and watertight check
Drag a file anywhere on this page to open it. F fits the view, W switches shading, G the grid, R spins it.
All 43 tools
43 tools, one engine behind them: eleven viewers, twenty-one mesh conversions and eleven that cross into CAD. Each page leads with a format and says what that format keeps and what it quietly drops — the unit, the assembly tree, the exact surface a hole used to be.
Viewers
11 toolsSTL Viewer
Open an STL and get more than a picture of it: bounding box in millimetres, triangle count, enclosed volume, and whether the mesh is watertight enough to print.
You are on this page
3D File Viewer
Drop any of seven formats and find out what it is and what it kept — which files carry colour, which carry units, and which are only triangles wearing a different extension.
GLB Viewer
Open a GLB with its materials and node hierarchy intact, and see the scene as one file rather than the pile of buffers and textures a glTF splits into.
glTF Viewer
Read a .gltf and its JSON scene graph, with a straight answer when it points at .bin and texture files a single dropped file cannot bring with it.
OBJ Viewer
View an OBJ with its named groups listed, and understand why it arrives grey: the materials live in a separate .mtl the file only points at.
FBX Viewer
Open both flavours of FBX, binary and ASCII, without Autodesk software, and see the mesh scaled the way its node transforms actually place it.
PLY Viewer
Show a scan the way it was captured, with per-vertex colour rendered rather than discarded, and count how many of those points survived welding.
3MF Viewer
Open the format slicers moved to: real units, colours and multiple objects on one build plate, all zipped inside a file STL could never hold.
STEP File Viewer
Open a CAD STEP file without CAD software: its exact surfaces are rebuilt and tessellated here, so you see the real face count, the unit it was authored in, and the assembly it belongs to.
STP Viewer
Open a .stp — the same format under its shorter extension — and settle the question of which one you were sent and whether it matters.
DXF Viewer
Open a DXF drawing with its blocks expanded and its layers listed, and read the two numbers a cutting quote is built from: total path length and how many contours actually close.
Mesh conversion
21 tools3MF to STL
Unpack a slicer's 3MF into the STL an older printer will accept, and see exactly which of its colours, units and plate positions were left behind.
OBJ to STL
Turn a modelling OBJ into a printable STL, with its named groups welded into the single body a slicer expects and its .mtl left where it lay.
GLB to STL
Convert a GLB to STL without the thousandfold size mistake: glTF counts in metres, printers count in millimetres, and this states the factor it applied.
GLB to OBJ
Move a GLB scene into the OBJ every DCC package imports, keeping the UVs and the part names that make it worth reopening.
STL to 3MF
Wrap an STL in the format that states its unit and carries a colour — the one conversion here that adds something rather than dropping it.
STL to OBJ
Take a printing STL into a modelling OBJ so it can be textured, remeshed or rendered by software that will not read triangles alone.
FBX to OBJ
Get the mesh out of a game-pipeline FBX without Autodesk software, in the pose it was bound in, at the size its centimetre header actually meant.
FBX to STL
Take a game or animation FBX to a printable STL, ×10 for the centimetres it counted in, with a straight answer on whether the mesh is solid enough to print.
FBX to glTF
Move an asset off the proprietary interchange format and onto the open one the web actually loads, with the centimetre-to-metre step done rather than assumed.
glTF to OBJ
Flatten a glTF scene into an OBJ, and find out first whether the .gltf you have is self-contained or a pointer at files it cannot bring with it.
glTF to STL
Print something that was authored for a renderer: the metre-to-millimetre factor applied, and the parts a scene graph kept apart welded into one body.
glTF to GLB
Pack a .gltf and everything it references into the single binary file, which is repackaging rather than converting — nothing is lost, and nothing is gained but portability.
OBJ to GLB
Put an OBJ on the web as one file, with the metre conversion stated and an honest account of what happens to a .mtl that was never dropped alongside it.
OBJ to glTF
Convert a 1992 format into a 2015 one, including the part nobody mentions: a Phong material has no metallic-roughness values, so they are stated, not recovered.
PLY to STL
Turn a scan into something a slicer accepts, with the vertex colours dropped deliberately and the open edges counted before you find them on the print bed.
STL to PLY
Write an STL as the format research tools prefer: binary PLY with welded vertices, a header you can read, and room for the per-vertex colour STL had nowhere to keep.
STL to GLB
Put a print model on a web page: one binary file, ×0.001 into metres, and the reason your 40 mm part reads 0.04 in every glTF viewer afterwards.
GLB to USDZ
Write the package iOS Quick Look opens from a link, metres to metres, with the Y-up and material rules Apple's viewer quietly requires.
USDZ to GLB
Open Apple's AR package and get a GLB back out of it — the one direction most converters skip, because reading USD is harder than writing it.
3D Model Converter
Nine formats in, seven out, any combination: pick the target and read the unit factor, the triangle count and the losses before you download anything.
3D File Converter
Start from the file rather than the format: what the extension you were sent actually holds, which target is right for what you plan to do, and the conversion itself.
CAD conversion
11 toolsSTEP to STL
Tessellate a CAD file into printable triangles, with the tolerance stated rather than guessed — the number that decides whether a curve prints smooth or faceted.
STL to STEP
Rebuild the surfaces a mesh was tessellated from: flat regions become planes, strip fans become real cylinders, and holes come back as circles you can dimension.
SVG to DXF
Convert artwork to a cuttable drawing at the size it was drawn, resolving the width-versus-viewBox question that sends most converted files to the laser 2.6× too large.
DXF to SVG
Turn a drawing nobody can open without CAD into one that opens anywhere, with millimetres written into the file so the picture and the part still agree.
STL to DXF
Slice a model where you choose and get the contour a cutter needs, rather than the pile of 3DFACE triangles most converters call a DXF.
DXF to STL
Give a flat drawing the one thing it does not have — a thickness you type — with its holes read as holes rather than welded into a solid brick.
STEP to OBJ
Take an engineering solid into the format every renderer and DCC package reads — plain text, no kernel, and a tolerance scaled to the part rather than fixed.
STEP to DXF
Get a 2D section out of a 3D solid, cut through geometry generated here at a fine tolerance — so a bore in the outline comes back at the diameter the CAD had.
STL to CAD
The honest version of the question everybody asks: what a mesh can and cannot become, measured on your actual file before anything is converted.
STL to SolidWorks
Produce the STEP file SolidWorks imports as a real solid, and understand why its own STL import gives you a graphics body you cannot edit.
CAD to STL
Start from whatever CAD file you were sent and get printable triangles, with the unit the file declares read rather than assumed — and a straight answer when the extension is one no browser can open.
How to open an STL file
Three steps, and you know the size, the triangle count and whether it will slice.
Drop the .stl on the canvas
Drag the file anywhere onto the page, or press Choose files. Both flavours of STL are read the same way — binary, which is what a CAD package writes by default, and ASCII, which is about five times larger for the same triangles. The parser runs in this tab, so the file costs you no upload time at all, whatever its size.
Turn it, and switch how it is drawn
Drag to orbit, scroll to zoom, right-drag to pan. Shaded is the default; Wireframe shows the triangulation itself, which is how you see whether a curve was tessellated finely enough to print smoothly; Both draws the shaded surface with its sharp edges picked out over it, and those edges are drawn at a 25-degree threshold so that a cylinder shows its silhouette rather than every strip in the fan.
Read the panel under the viewport
It reports the bounding box in millimetres, the triangle count, the surface area, and — when the mesh is closed — the volume in millilitres, which is the number a filament or resin estimate starts from. The Watertight row is the one to check before slicing: it counts how many edges are used by exactly one triangle, and any number above zero means a hole your slicer will have to guess how to close.
Technical specifications
| Formats | STL (binary and ASCII), OBJ, PLY, 3MF, GLB, glTF, FBX |
|---|---|
| File size | No fixed limit — 100 MB is roughly 2 million triangles in binary STL, and larger files are warned about rather than refused |
| Where the file is read | In this browser tab; no upload, no request, no server copy |
| Measured | Bounding box, triangle and vertex counts, surface area, enclosed volume |
| Mesh checks | Open edges, non-manifold edges, degenerate triangles, watertight verdict |
| Units | None stored in STL, OBJ or PLY — numbers shown as-is and labelled mm |
| Rendering | WebGL, shaded / wireframe / edges, PNG snapshot of the current view |
Frequently asked questions
Is my STL uploaded to a server?
No. The file is read with the browser's own FileReader and parsed by JavaScript in this tab, so it never crosses the network — you can disconnect after the page loads and the viewer still works. That is not a policy claim you have to take on trust: open your browser's network panel, drop a file, and there is no request. It also means nothing is stored, so there is no link to share and nothing to delete afterwards.
What does “watertight” mean, and why does my model fail it?
A watertight mesh is one where every edge is shared by exactly two triangles, so the surface closes on itself with no gaps — that is what lets a slicer decide what is inside the part and what is outside. This page counts edge usage directly: an edge used once is a hole, an edge used three or more times is two surfaces meeting where they should not. The usual causes are a boolean operation that left a sliver, a model exported from a sketch that was never closed, or a scan with a missing patch underneath. Small holes are often repaired silently by the slicer; a large one is why a print comes out hollow or with a missing wall.
Why does the volume say “not a closed solid”?
Because volume is only defined for a closed surface, and reporting a number for an open one would be a fiction. The calculation sums the signed volume of the tetrahedron between each triangle and the origin — outside contributions cancel, and what remains is what the surface encloses. That cancellation only works if the surface has no holes, so when the edge count says the mesh is open the row says so instead of printing a plausible-looking figure. Repair the mesh first, then the millilitres are trustworthy.
Are the millimetres real?
They are the numbers the file stores, labelled mm because that is the unit every slicer assumes. STL has no unit field at all — it is bare floating-point coordinates, and the same file means millimetres to a slicer and inches to a machinist who was told so. If a part reads 25.4 times too small, someone exported in inches; if it reads 1000 times too small, it came through a glTF pipeline, where the convention is metres.
Why is the vertex count lower than what my modeller shows?
Because STL stores every triangle as three independent corners with nothing shared, so a cube leaves CAD as 12 triangles and 36 separate points. This page welds points that land on the same position — within a millionth of the model's diagonal — and reports both numbers: the welded count is what a modeller would call vertices, and the stored count is what the file physically contains. The gap between them is roughly a factor of six on a typical solid, and it is the reason STL files are as large as they are.
What is the largest file this will open?
As large as this tab can hold, and nothing here decides that for you. Past 100 MB — roughly 2 million triangles in binary STL — you get a warning describing what the file will cost before anything is read, and then it opens if you say so. The reason for the warning rather than a refusal: the file, the parsed triangle list and the GPU buffers all live in this tab at once, and a tab that exhausts its memory does not degrade gracefully, it disappears. Around a million triangles the parse takes a couple of seconds and orbiting stays smooth on integrated graphics; past that, expect the first frame to be slow. Above about two gigabytes no browser will allocate the buffer at all, whatever the machine has.
Can I convert the file here, or fix the holes?
Not yet on this page — right now it opens, measures and checks. Conversion between mesh formats and STL repair are the next things being built on this site, and the honest position until then is that this is a viewer with instruments, not a workshop. What it does give you is the reason to reach for a repair tool at all: the exact count of open and non-manifold edges, rather than a slicer's vague warning.
About STL and what it does not tell you
STL is the oldest format still in daily use in 3D printing, and its longevity comes from being almost nothing: a list of triangles, each stored as three corners and a normal vector, with no units, no colour, no materials and no memory of which triangles once belonged to the same flat face or the same cylinder. That emptiness is why every program can write it and why so little survives the trip. A part that left CAD as twelve faces arrives as several thousand triangles, and the information that they were twelve faces is gone for good.
Two consequences follow, and both show up in the panel under the viewport. The first is that vertices are not shared: the same corner is written once per triangle, which is why a mesh reports six times more stored points than welded ones and why STL files are so much larger than the geometry warrants. The second is that nothing enforces the surface being closed. Triangles are independent, so a file with a missing patch is as valid as one without — the only way to know is to count how often each edge is used, which is the check this page runs on every file. If you need the format that fixed both problems, 3MF carries units, colour and a build plate, and slicers have been moving to it for years.
The volume figure deserves one caution. It is exact arithmetic over the triangles, not an estimate, and on a closed mesh it agrees with what a slicer reports to within rounding — but it is the volume of the shape as tessellated, so a cylinder approximated by 32 flat strips is very slightly smaller than the true cylinder it stands for. That gap is the price of the format itself, not of the measurement, and it is the same reason converting a mesh back into real CAD geometry is a hard problem rather than a file rename. If you arrived here from a different format and just want to know what it holds, the format-agnostic viewer lists what each one keeps.
Where your model is read
Every number on this page is worked out by JavaScript running in the tab you are reading it in. The model you open is read straight off your own disk — it is never uploaded, logged or kept, which is also why these tools carry on working after you disconnect from the network.
One clause specific to this page: the model is held in the tab's memory for as long as it is on screen, which is also the only thing that limits how large it can be. Closing or reloading the tab discards it — there is no copy anywhere else, and no history of what you opened.