Pick the wrong format and your client either can’t open the file or watches their browser crash trying to load it. The four formats in the title cover most of what surveyors, drone operators, and photogrammetry teams hand over — but they’re not interchangeable. One is a streaming spec. The other three are single-file assets built for different industries.
Here’s what each one actually is, and which to use when.
What each format is
3D Tiles is an OGC streaming standard, not a single file. A 3D Tiles dataset is a folder containing a root tileset.json plus hundreds or thousands of tile files (.b3dm, .pnts, .glb, .i3dm). The viewer loads only the tiles visible at the current camera position and level of detail. It was developed by Cesium and ratified by the OGC in 2019 (v1.0) and 2023 (v1.1). Designed for massive geospatial scenes — city models, drone surveys, LiDAR captures — that no single-file format can stream efficiently. Covered in more depth in our 3D Tiles explainer.
OBJ is a 1990s plain-text format from Wavefront Technologies. A .obj file describes geometry as ASCII vertex and face lists, with a companion .mtl file for materials and one or more image files for textures. Universally supported by every 3D tool ever built. Slow to parse, large on disk, no native support for animation, rigging, or PBR materials. Still the most reliable interchange format for static meshes.
GLB is the binary form of glTF 2.0 — the Khronos Group’s modern, web-native 3D format. A single .glb file packs geometry, PBR materials, textures, and skeletal animation into one efficient binary. Designed for streaming and runtime rendering. Native support in every modern browser, Blender, Unreal, Unity, AR/VR headsets, and product configurators. The default 3D format of the web.
FBX is Autodesk’s proprietary format, originally developed by Kaydara in the late 1990s and acquired in 2006. The de facto standard for 3D animation pipelines — Maya, 3ds Max, MotionBuilder, Unreal, Unity — because it carries rigged skeletons, keyframe animation, cameras, lights, and morph targets. Closed-source, version-fragmented, and a frequent source of compatibility headaches between tools.
The fundamental split
3D Tiles is a streaming spec. OBJ, GLB, and FBX are single assets. That’s the most important distinction.
A 5 GB photogrammetry mesh stored as a single GLB will choke a browser — the entire file has to download and decompress before anything renders. The same mesh tiled as 3D Tiles streams progressively at the resolution the camera actually needs. A 50 MB CAD part stored as 3D Tiles is pointless overhead — GLB renders it instantly.
The rule of thumb:
- Whole sites, scans, surveys, terrains → 3D Tiles
- Discrete assets, parts, single objects → GLB (or OBJ/FBX if the recipient requires it)
Comparison table
| 3D Tiles | OBJ | GLB | FBX | |
|---|---|---|---|---|
| Type | Streaming spec | Single file | Single file | Single file |
| Typical size | 100 MB – 100 GB+ | 10 MB – 2 GB | 1 MB – 500 MB | 5 MB – 1 GB |
| Streaming / LOD | Yes (built in) | No | No | No |
| Native browser support | Via CesiumJS / Three.js | Via loader | Yes (<model-viewer>) | No |
| Geospatial (georeferenced) | Yes | No | Extension only | No |
| Animation / rigging | No (static scenes) | No | Yes | Yes (best-in-class) |
| PBR materials | Yes (via glTF tiles) | No | Yes | Partial |
| Compression | Built in (Draco, KTX2) | None | Draco, Meshopt, KTX2 | Proprietary |
| Open standard | Yes (OGC) | Yes (text spec) | Yes (Khronos) | No (Autodesk) |
| Client can open without software | Yes (browser) | No | Yes (browser) | No |
Real numbers from projects I’ve shipped: a photogrammetry mesh of a 4-hectare quarry was 1.8 GB as a single OBJ, 740 MB as GLB with Draco compression, and 2.4 GB as 3D Tiles — but the 3D Tiles version was the only one a client could actually open in a browser without a 90-second blank screen.
When to use each
3D Tiles — drone surveys, LiDAR, photogrammetry sites
Any deliverable larger than a few hundred megabytes, or anything that needs to sit on a map at real-world coordinates, should be 3D Tiles. Your client opens a link, the scene loads progressively, they can fly through a multi-gigabyte capture on a laptop without installing anything. Standard for:
- Drone photogrammetry of construction sites, quarries, infrastructure corridors
- Mobile and airborne LiDAR captures
- City-scale models
- Anything you’d previously have delivered as a Potree point cloud or a tiled mesh in Cesium ion
See how to export 3D Tiles from Pix4D, Metashape, and RealityCapture.
GLB — equipment models, CAD assets, AR previews
For a single object — a piece of plant equipment, an architectural component, a scanned artefact — GLB is the right answer almost every time. It’s small, web-native, supports PBR materials so the asset actually looks right under lighting, and every browser can render it directly via <model-viewer> or Three.js.
Specifically:
- Product configurators and AR previews
- Single CAD parts or assemblies exported from Revit, SolidWorks, Rhino
- Heritage objects scanned with handheld photogrammetry
- BIM components extracted from a larger IFC
OBJ — legacy interchange, archive, “just open it anywhere”
Use OBJ when the recipient’s software stack is unknown or old. Every CAD, GIS, modelling, and rendering tool ever made can ingest OBJ. It’s the format you fall back to when GLB isn’t supported and FBX isn’t appropriate.
Specifically:
- Archive copies — OBJ’s ASCII format is forward-compatible forever
- Interchange with academic or research tools
- Anything where the client says “just send it as OBJ”
- Static meshes for 3D printing pipelines
The cost is file size and load time. An OBJ with textures is typically 2-3x the size of the equivalent GLB.
FBX — animation, rigged characters, game engine pipelines
If the model needs to move — a rigged character, an animated machine, a camera path, a deforming morph target — FBX is still the format. Autodesk’s pipeline lock-in means Maya, 3ds Max, MotionBuilder, Unreal, and Unity all read FBX reliably while GLB animation support varies.
For surveyors and drone operators, FBX is rarely the right choice. It’s a content-creation format, not a delivery format. If a client is asking for FBX, they’re usually a 3D artist or game studio rather than an engineering, AEC, or asset-owner audience.
Conversion paths
Most pipelines need to move between these formats. The reliable conversion routes:
| From | To | Tool |
|---|---|---|
| OBJ | GLB | Blender, glTF Pipeline |
| FBX | GLB | Blender (import FBX, export glTF), Autodesk FBX Converter |
| GLB | OBJ | Blender, online glTF→OBJ converters |
| OBJ / GLB / FBX | 3D Tiles | Cesium ion, py3dtiles, RealityCapture (direct export), Pix4D (direct export) |
| 3D Tiles | OBJ / GLB | Not practical — 3D Tiles is a hierarchy of tiles, not a single mesh. You’d be reassembling LOD levels into one asset, which usually defeats the point of having tiles. |
The 3D Tiles → single-file path being awkward is by design. Once a scene is tiled, you don’t typically want to flatten it back into a single object — you’d be undoing the optimisation that makes it viewable in the first place.
What clients can actually open
This is the practical question that decides which format ships.
| Format | What the client needs |
|---|---|
| 3D Tiles | A browser. The hosting platform handles everything else. |
| GLB | A browser (any modern one) or Microsoft 3D Viewer (built into Windows). |
| OBJ | Blender (free), MeshLab (free), or paid CAD/3D software. No browser support without a custom viewer. |
| FBX | Autodesk FBX Review (free), Blender, or paid Autodesk tooling. |
For non-technical clients — project managers, asset owners, council planners — 3D Tiles and GLB are the only two formats that work without a software install. OBJ and FBX always require something on their end.
Picking the right format
Three questions to ask:
- Is it a site or an object? Site → 3D Tiles. Object → GLB.
- Is the client technical? Yes → any format is fine. No → 3D Tiles or GLB only.
- Does it need to move? Yes → FBX (or GLB with animation). No → ignore FBX entirely.
That’s most decisions resolved. The remaining edge cases are usually about legacy compatibility (send OBJ) or vendor lock-in (the client’s pipeline requires FBX).
If your deliveries are mixed — drone surveys plus equipment models plus CAD parts — you don’t want to maintain four different hosting setups. Swyvl handles 3D Tiles, GLB, OBJ, and FBX from a single upload, picking the right viewer automatically based on the file type, so the client gets the same branded link experience whatever format you ship.