Free Online Universal 3D Viewer (42+ Formats)
Also from Innerscene: Circadian Lab, a free lighting calculator for room illuminance, melanopic EML, and glare.
Supported Import Formats
42 3D file formats are parsed and rendered. Click a row to open the dedicated viewer page when one exists.
| Format | Extension | Category | Description |
|---|---|---|---|
| SketchUp LayOut | .layout | archive | A SketchUp LayOut page-layout document (.layout). The viewer extracts the embedded SketchUp model and renders it. |
| Zipped Model | .zip | archive | A model file zipped for email or download (e.g. OBJ + MTL). The viewer opens the archive and loads the model inside. |
| Autodesk Revit | .rvt | cad | Native Revit projects (Revit 2024 and later). The element database is read directly and the model is rebuilt from Revit’s own computed solids: walls with their joins and door/window openings cut, floors, roofs, ceilings, stairs, railings, columns, structural framing, and placed family instances (each rebuilt from its family symbol and placement), grouped into per-category layers. Curved surfaces fall back to parametric reconstruction where possible; a Revit file stores no mesh geometry at all, so anything beyond these types still renders best from an IFC export. |
| IFC (Building) | .ifc | cad | IFC building information models (BIM): walls, slabs, windows, doors, and MEP, grouped into per-type layers. Tessellated via web-ifc. |
| IGES | .iges, .igs | cad | IGES/IGS neutral CAD surfaces and B-rep solids (NURBS), tessellated via OpenCASCADE. |
| Rhino 3D Model | .3dm | cad | Rhinoceros NURBS-based CAD models (BReps, SubD, polysurfaces, mesh). |
| SketchUp Model | .skp | cad | SketchUp 3D models with faces, components, layers, and materials. |
| SolidWorks | .slddrw, .sldprt, .sldasm | cad | SolidWorks parts, assemblies and drawings. A part or assembly (.sldprt, .sldasm) renders as real 3D geometry: the display mesh SolidWorks itself draws, saved in the file as triangle strips per face and decoded here in meters with smooth normals — an assembly arrives already assembled. A drawing (.slddrw) opens as the full-resolution sheet image saved in the file, every view, dimension and title-block field legible, with a picker for each sheet. Documents that embed no geometry (external-component assemblies, by-reference saves) get a plain notice pointing at STEP. |
| STEP (ISO-10303-21) | .step, .stp | cad | ISO-10303 STEP/STP CAD assemblies (AP203, AP214, AP242). |
| Text / Source Code | .txt, .text, .md, .markdown, .log, .csv, .tsv, .py, .pyw, .js, .mjs, .cjs, .jsx, .ts, .tsx, .json, .jsonc, .c, .h, .cpp, .cxx, .cc, .hpp, .hxx, .hh, .ino, .cs, .java, .kt, .kts, .swift, .go, .rs, .rb, .php, .pl, .pm, .lua, .sh, .bash, .zsh, .bat, .cmd, .ps1, .psm1, .psd1, .sql, .yaml, .yml, .toml, .ini, .cfg, .conf, .css, .scss, .less, .xml, .tex, .r | document | Plain text and source code, rendered as a line-numbered, syntax-highlighted listing. Python, JavaScript/TypeScript, C/C++, C#, Java, Go, Rust, shell and PowerShell scripts, SQL, JSON, YAML, TOML, INI, CSS, XML, Markdown and more color by language; logs, CSV and unrecognized text render plain. Any readable text file opens, whatever its extension. |
| Word Document | .docx, .docm | document | Word documents, paginated the way Word paginates them: the style cascade, line breaking against real font metrics, tables, headers and footers, footnotes, numbered and bulleted lists, inline and floating images. Text stays selectable and searchable, and links stay clickable. |
| Adobe Illustrator | .ai, .ait | drawing | Adobe Illustrator artwork. Illustrator 9 and later save a PDF-compatible copy, which renders as vector pages; Illustrator 8 and earlier are PostScript, read directly as paths, layers, and text. |
| AutoCAD Drawing | .dwg | drawing | AutoCAD drawings with 2D linework and 3D solid geometry. |
| AutoCAD DXF | .dxf | drawing | AutoCAD DXF text drawing exchange format. |
| Autodesk DWF / DWFx | .dwf, .dwfx | drawing | Autodesk DWF/DWFx published drawing sets — WHIP 2D vector sheets and HOOPS 3D models, with a multi-sheet picker. |
| Esri Shapefile | .shp | drawing | Esri shapefile GIS vector data: parcels, roads, boundaries, and 3D multipatch buildings. Opens a bare .shp, or a .zip of the whole set (.shp + .shx + .dbf + .prj) with real units from the .prj. |
| Gerber (PCB Fabrication) | .gbr, .ger, .gtl, .gbl, .gts, .gbs, .gto, .gbo, .gtp, .gbp, .gko, .gm1, .drl, .xln, .exc, .drd | drawing | Gerber (RS-274X / X2) and Excellon drill data: the files a printed circuit board is fabricated from. Drop the whole fab package as a .zip and the board is stacked up layer by layer, in fabrication order, with copper, solder mask, silkscreen, paste, outline and drill holes on their own toggles. Layers are identified from their X2 file-function attributes or their filenames, and layer files are recognised by their contents, so a package whose layers are named .art, .001 or nothing at all still opens. Aperture macros, thermals, step & repeat, block apertures, regions, arcs, clear polarity and both zero-suppression conventions are all read. |
| PDF Document | drawing | ||
| SVG (Scalable Vector) | .svg | drawing | |
| AVIF Image | .avif, .avifs | image | AVIF raster image: an AV1-compressed still, common on photo sites and modern phones. |
| BMP Image | .bmp, .dib | image | Windows BMP raster image (uncompressed device-independent bitmap). |
| GIF Image | .gif | image | GIF raster image: indexed-color bitmap. Animations show their first frame. |
| HEIC / HEIF Image | .heic, .heif, .hif | image | HEIC/HEIF photo, the iPhone camera default. Decodes in Safari; other browsers need it saved as JPEG first. |
| JPEG Image | .jpg, .jpeg | image | JPEG raster image — lossy compressed photograph. |
| PNG Image | .png | image | PNG raster image — lossless bitmap with transparency. |
| TIFF Image | .tif, .tiff | image | TIFF raster image, the scanner and print archive format. Decodes in Safari; other browsers need it saved as JPEG first. |
| WebP Image | .webp | image | WebP raster image, the compact web format from Google. |
| 3D Manufacturing | .3mf | mesh | 3D Manufacturing Format — modern STL replacement for 3D printing. |
| 3D Studio | .3ds | mesh | Legacy Autodesk 3D Studio binary mesh format. |
| Autodesk 3ds Max | .max | mesh | Native Autodesk 3ds Max scenes. Reads collapsed Editable Poly / Editable Mesh geometry, parametric primitives, the object hierarchy with instancing, layers, and material colors. Geometry that only exists through a live modifier stack, NURBS/patch surfaces, and external V-Ray/Corona proxy meshes cannot be recovered from the file by any third-party tool. |
| Autodesk FBX | .fbx | mesh | Autodesk FBX — game-engine asset pipeline standard. |
| Blender | .blend, .blend1, .blend2 | mesh | Native Blender scenes, every version from 1.6 in 1996 to 5.x — fifty-eight releases, both byte orders. Reads the mesh geometry the file stores — vertices, faces, UVs, vertex colours, flat/smooth shading and per-face material slots — placed by each object’s transform, with collections as layers and collection instances expanded. Materials come from the Principled BSDF in each material’s node tree, including packed image textures. Shapes that exist only as a modifier result (Subdivision, Mirror, Array, Boolean) or as Geometry Nodes output are not in the file at any version and render as their input cage. |
| COLLADA | .dae | mesh | COLLADA XML scene format with materials and animation. |
| glTF Binary | .glb | mesh | glTF binary — PBR materials, textures, animations, single-file. |
| glTF JSON | .gltf | mesh | glTF JSON manifest with external .bin and image siblings. |
| Polygon File Format | .ply | mesh | Polygon File Format for 3D scanning, with vertex colors. |
| Stereolithography | .stl | mesh | Triangle-soup mesh for 3D printing. Binary or ASCII. |
| VRML | .wrl, .vrml, .wrz | mesh | VRML 2.0 — legacy web 3D format, text-based. |
| Wavefront OBJ | .obj | mesh | Wavefront OBJ text format with companion .mtl material file. |
| X3D | .x3d, .x3dv | mesh | X3D — the XML successor to VRML, still used in scientific viz. |
| LAS / LAZ Point Cloud | .las, .laz | pointcloud | LAS/LAZ LiDAR and photogrammetry point clouds, including LASzip-compressed .laz. Rendered with per-point RGB, an ASPRS classification palette, or an intensity ramp, and split into per-class layers when the scan is classified. |
| Windows Program | .exe, .dll, .sys, .ocx, .cpl, .scr, .efi, .mun | program | A Windows program (.exe, .dll, .sys) holds machine code, not geometry. Dropped on the viewer it opens as an info sheet: the application icons, the version block Explorer shows in Properties, who signed it and when, the architecture and subsystem, the libraries it links against and delay-loads, per-section entropy with a packer verdict, the C++ classes recovered from RTTI, the COM interfaces it uses, and whether anything is appended to it. A view menu opens the rest: every embedded string, a disassembly of any code section (x86, x86-64, ARM and ARM64) with calls resolved to the imported functions they reach, string literals shown at their reference sites, function boundaries from the exception directory, and public symbols fetched from the Microsoft symbol server when the build published them. Every embedded resource renders too: icons, cursors and bitmaps as pictures, dialog templates drawn to scale, string, menu, accelerator and message tables, and manifests. A self-extracting archive is opened, and the model inside it is loaded. Programs are never shared, embedded, or re-downloaded from here. |
Detection only
These formats are recognized but not yet rendered. Click Report in the toolbar with a sample file to vote one onto the implementation queue.
Supported Export Formats
Open a file in any supported format, then click Export in the toolbar to save as:
STL
.stlBinary stereolithography mesh for 3D printing, CNC, and FEA.
OBJ + MTL
.zipWavefront OBJ + companion MTL material file, bundled as a zip.
glTF Binary
.glbSelf-contained GLB with PBR materials, textures, and layer structure preserved as glTF nodes.
PDF Snapshot
.pdfA4 landscape PDF of the current view with header caption (filename, format, triangle count) and footer.
Because all formats normalize into the same internal scene model, every supported import format can be exported as any of the four outputs — e.g. Rhino .3dm to STL, FBX to GLB, SKP to PDF, etc.
Features
Auto Format Detection
Drop any file — magic-byte sniffing identifies the format before parsing, so you don’t need to set anything.
Shared SceneGraph
Every adapter normalizes into the same scene model: meshes, materials, layers, transforms. Behavior is consistent regardless of source format.
Layer Visibility
Toggle layers on/off from the side panel. Works for SKP, DWG, STEP assemblies, Rhino layers, and any format with grouping.
View Presets
3D orbit plus six orthographic views (top, bottom, front, back, left, right). Solid, wireframe, or x-ray render modes.
Share Links
Generate a shareable link that preserves view state, layer visibility, and render mode. Recipients see the model exactly as you have it open.
Embed Anywhere
One-line iframe snippet drops the viewer into any HTML page. Optional toolbar-hidden mode for chromeless embeds.
Universal Export
Save any supported format as STL, OBJ, GLB, or PDF — even formats this site can’t natively author (like 3DM or FBX → STL).
No Server Round-Trip
Files are parsed and rendered in WebAssembly or pure JavaScript on your machine. Nothing uploads by default.
Issue Reporting
The Report button bundles your file, view state, and a screenshot into a one-click bug or feature submission.
How It Works
- 1
Drop or open a file
Drag a 3D file onto the viewer, or click "Open a 3D File" to pick from your machine. URLs work too via the ?url= query parameter.
- 2
Auto-detect + parse
The viewer reads the first 16 KB of the file to identify the format via magic bytes, then lazy-loads the matching adapter (no wasted bandwidth on parsers you don’t need).
- 3
Render + explore
The parsed scene normalizes into a shared SceneGraph (meshes, materials, layers). Three.js renders it; the toolbar offers view presets, render modes, and layer toggles.
- 4
Share, embed, or export
Generate a share link (file + view state preserved), copy an iframe snippet, or save as STL / OBJ / GLB / PDF — all without leaving the page.
Dedicated Viewer & Converter Pages
Every common format has its own page with format-specific documentation, FAQ, and SEO-friendly URL. They share this same viewer under the hood.
IFC (Building)
.ifc
Authored by: Revit, ArchiCAD, Tekla, Vectorworks, Bentley
IGES
.iges, .igs
Authored by: CATIA, NX, Creo, SolidWorks, DATAKIT exports
Rhino 3D Model
.3dm
Authored by: Rhinoceros, Grasshopper
SketchUp Model
.skp
Authored by: SketchUp
SolidWorks
.slddrw, .sldprt, .sldasm
Authored by: SOLIDWORKS
STEP (ISO-10303-21)
.step, .stp
Authored by: SolidWorks, CATIA, Inventor, Fusion 360, NX, Creo
Word Document
.docx, .docm
Authored by: Microsoft Word, Google Docs export, LibreOffice Writer, Pages export
AutoCAD Drawing
.dwg
Authored by: AutoCAD, Revit, Civil 3D
Autodesk DWF / DWFx
.dwf, .dwfx
Authored by: AutoCAD, Revit, Civil 3D, Inventor, Navisworks (DWF publish)
Esri Shapefile
.shp
Authored by: ArcGIS, QGIS, county/city open-data portals, US Census TIGER/Line
Gerber (PCB Fabrication)
.gbr, .ger, .gtl, .gbl, .gts, .gbs, .gto, .gbo, .gtp, .gbp, .gko, .gm1, .drl, .xln, .exc, .drd
Authored by: KiCad, Altium Designer, Eagle, OrCAD/Allegro, Pads, Fusion 360 Electronics, EasyEDA, gEDA
Autodesk 3ds Max
.max
Authored by: 3ds Max (archviz, product visualization, game and film art)
Autodesk FBX
.fbx
Authored by: Maya, 3ds Max, MotionBuilder, Unity, Unreal
Blender
.blend, .blend1, .blend2
Authored by: Blender (modelling, animation, archviz, game and film art)
glTF Binary
.glb
Authored by: Blender, Three.js, Unreal, Unity exports
glTF JSON
.gltf
Authored by: Blender, glTF Validator
Stereolithography
.stl
Authored by: Every CAD tool, every 3D printer slicer
Wavefront OBJ
.obj
Authored by: 3ds Max, Maya, Rhino, Cinema 4D, Blender
LAS / LAZ Point Cloud
.las, .laz
Authored by: Agisoft Metashape, RealityCapture, Pix4D, Trimble, Leica, FARO, terrestrial and airborne LiDAR
Your Files Stay on Your Computer
Files are parsed by JavaScript and WebAssembly running in your browser. Nothing is uploaded by default. The Share button is the only feature that touches a server — and only when the file isn’t already a public URL. Shared files are stored for 90 days and then deleted automatically.
STEP and IGES CAD files are tessellated with Open CASCADE Technology via occt-import-js (LGPL-2.1). Word documents are typeset with Carlito, Caladea, Liberation and Gelasio (SIL OFL 1.1). See the open-source licenses.
Use of this viewer is governed by our Terms of Use.
Frequently Asked Questions
▶Which 3D file formats are supported?
The viewer renders 42 formats today and detects 1 more. See the full catalog below for extensions, descriptions, and links to dedicated viewer pages.
▶Can I convert between formats?
Yes. Open any supported format and click Export in the toolbar to save as STL (3D printing), OBJ (Wavefront), GLB (glTF binary), or PDF (snapshot of the current view).
▶Is anything uploaded to a server?
No, not by default. Files are parsed and rendered entirely in your browser. The only time a file is uploaded is when you explicitly click Share and the file is local (not already served from a URL) — in that case it’s stored for 90 days to back the share link.
▶How big a file can I open?
The viewer can handle multi-hundred-megabyte files on a modern desktop browser. Mobile devices may struggle with very large files. The Share upload limit is 100 MB — larger files can still be viewed locally, just not uploaded for sharing.
▶Can I embed the viewer in my own site?
Yes. Click Embed in the toolbar to generate a one-line iframe snippet for any model URL. You can choose whether the embed shows the surrounding toolbar, pick a compressed or readable link, and set the starting camera, view, layers, and render mode. See the embedding guide for the full list of URL parameters.
▶How do I open a file directly via URL?
Pass ?url=with the public URL of your file, e.g. /tools/3d-viewer?url=https://example.com/model.glb. The viewer auto-detects the format from the file’s magic bytes. The same parameter also takes a data: URI, which carries a small file inline with no server involved. For files with no public address at all — bytes your page already holds, anything behind a login, or a file on the visitor’s own machine — embed with ?pm=1 and post the model in directly; see the embedding guide.
▶What if my format isn’t supported yet?
Click Report in the toolbar with a sample file and a short note — we add formats based on real user requests. IES is detected today but not yet rendered; that’s next on the list.