3D Viewer
View STL, OBJ, GLB, 3MF, and PLY files in your browser. Your files stay on your device.
Drop your 3D file here
or browse files
STL · OBJ · GLB · 3MF · PLY · up to 200 MB
This tool processes on your device; your file is not uploaded for processing.
About
Open 3D files from CAD, 3D printing, game development and scanning in one place. Drag in an STL, OBJ, GLB, 3MF or PLY and it renders immediately — parsing and rendering both happen on your machine via WebGL, so nothing is uploaded.
Format support in practical terms. STL is the 3D printing lingua franca: a bare list of triangles with no units, no colour and no scene structure, in either binary or ASCII, both auto-detected here. OBJ is a text mesh format that references its materials from a separate .mtl file, so an OBJ opened on its own shows geometry without textures — that is the format behaving correctly, not a bug. GLB is the one to prefer when appearance matters, since it packs the entire scene graph, PBR materials and textures into a single binary file. 3MF is the modern printing format STL should have been, carrying units, colour and multiple objects. PLY comes out of scanners and photogrammetry and frequently has per-vertex colour, which the viewer renders.
The measurements panel is the reason most people open a viewer rather than a slicer. The bounding box tells you whether a model fits your build plate — check it against 220×220×250 mm for an Ender-class printer or 256×256×256 mm for a P1S before you slice anything. Volume is a direct proxy for material and cost: multiply cubic centimetres by roughly 1.24 g/cm³ for PLA to estimate grams at 100% infill, then scale down for your actual infill setting. Surface area predicts wall time and coating or resin coverage. Triangle count is your performance warning: under 100k is comfortable everywhere, a few hundred thousand is normal for a detailed part, and several million means a photogrammetry scan that will make your slicer crawl and probably wants decimating first.
Solid, wireframe and X-ray each answer a different question. Solid shows the surface as it will print or render. Wireframe exposes topology — whether a curve is twelve segments or two hundred, whether a scan is unevenly tessellated, and where a boolean operation left a mess of sliver triangles. X-ray reveals interior geometry: trapped voids, an accidental second shell, internal supports left in from an export, or a model that turns out to be hollow when you assumed it was solid. Switching between the three takes seconds and catches problems that cost hours on the printer.
Be honest about what a viewer cannot tell you. It renders triangles; it does not validate or repair them. It will not warn you that a mesh is non-manifold, that normals are flipped, that faces self-intersect, or that there are holes which will make a slicer produce nonsense — those need a dedicated mesh-repair tool. Volume and surface area assume a closed, consistently oriented mesh, so on a model with holes or inverted faces those numbers can be meaningfully wrong rather than slightly off. And STL carries no unit at all: a model that looks like 25 mm might be 25 inches or 25 arbitrary units depending on what the exporter meant. If your scale is off by a factor of 25.4, that is why.
Everything runs locally. The file is read with the File API, parsed in JavaScript and WebAssembly, and drawn with WebGL — open the Network tab in DevTools while loading a model and you will see no upload request. For anyone under an NDA, working on unreleased hardware, or handling a client’s CAD data, that is the entire point, because most online viewers upload your geometry to a backend in order to render it there.
On performance: desktop browsers handle files up to about 200 MB comfortably, while mobile browsers are memory-constrained and start failing well before that, so stay under roughly 50 MB on a phone. Rendering is GPU-bound, so an integrated graphics chip will manage a 5-million-triangle scan but not smoothly.
Typical uses: checking a downloaded STL before committing to an eight-hour print, previewing a client’s GLB without launching Blender, confirming a scanned PLY imported with its vertex colours intact, comparing two revisions of a part by their bounding boxes, and exporting a clean screenshot with a transparent or custom background for a product listing, a wiki page, documentation, or a pull request where a picture explains the change faster than the diff.
How it works
- 1Open 3D Viewer and choose your file or enter the required input.
- 2Adjust the settings and preview the result in your browser.
- 3Run the tool; the data is processed on your device.
- 4Download the output or copy the result when it is ready.