IT
OmnvertImage • Document • Network

3D Viewer

View STL, OBJ, GLB, 3MF, and PLY files in your browser. Your files stay on your device.

100% client-side — files never leave your browser

Drop your 3D file here

or browse files

STL · OBJ · GLB · 3MF · PLY · up to 200 MB

Browser-basedRuns in your browser

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

  1. 1Open 3D Viewer and choose your file or enter the required input.
  2. 2Adjust the settings and preview the result in your browser.
  3. 3Run the tool; the data is processed on your device.
  4. 4Download the output or copy the result when it is ready.

FAQ

Is it really private?
Yes. Parsing and rendering both happen in your browser using the File API and WebGL. No upload request is made — you can confirm this yourself in the Network tab of DevTools.
Which formats are supported?
STL in both binary and ASCII, OBJ, GLB and glTF with embedded materials and textures, 3MF, and PLY including per-vertex colour. The format is detected automatically from the file.
Why does my OBJ have no textures?
OBJ stores materials in a separate .mtl file and textures in separate image files. Opening the .obj alone gives you geometry only. If appearance matters, export as GLB instead — it packs everything into one file.
What file sizes can I open?
Up to around 200 MB works well on desktop. Mobile browsers have much tighter memory limits, so keep files under about 50 MB on a phone or tablet.
How do I know if my model fits my printer?
Compare the bounding box dimensions against your build volume — for example 220×220×250 mm on an Ender-class machine. Remember STL has no units, so if the numbers look off by 25.4× the file was probably authored in inches.
How do I estimate filament from the volume?
Multiply the volume in cubic centimetres by the material density — about 1.24 g/cm³ for PLA, 1.04 for ABS, 1.27 for PETG — to get grams at 100% infill, then scale by your actual infill and wall settings.
What is the X-ray mode for?
Seeing inside the model: trapped voids, an unintended inner shell, leftover internal supports, or whether a part is solid or hollow. It is the quickest check for geometry that looks fine from the outside.
Can it tell me if my mesh is printable?
No. A viewer renders triangles; it does not check for non-manifold edges, flipped normals, self-intersections or holes. Use a mesh repair tool for validation — the viewer is for looking, measuring and screenshotting.
Why is the reported volume strange?
Volume and surface area assume a watertight mesh with consistent normals. On a model with holes or inverted faces the calculation has nothing sensible to integrate over, so the number can be badly wrong rather than slightly off.
Does it work on mobile?
Yes, with touch controls on iOS and Android. Keep files small — mobile GPUs and memory limits mean large scans will stutter or fail to load entirely.
Can I take a screenshot for a listing or documentation?
Yes. Screenshots export at high resolution with a transparent or custom background, which is what you want for a product page, a wiki, or attaching a visual to a pull request.