Free online · No signup · 100% local

3DS to GLB converter

Drop your .3ds file — we convert it to .glb right in your browser. Files never leave your computer.

Drop your 3DS file here
Accepts .3ds · converts to .glb

Why convert 3DS to GLB?

3DS is a dead format from the 16-bit era — no modern DCC loads it natively, and its 65,536-vertex per-mesh ceiling is a relic of 16-bit indices. Pulling old 3D Studio libraries into GLB rescues them into the modern web / AR era without needing a copy of 3ds Max or a paid plugin.

Who runs this conversion

Asset archivists rescuing old 3D Studio packs, retro / indie game devs converting classic-era models, and hobbyists who inherited a folder of .3ds files from a CD-ROM asset library.

Things that commonly go wrong

  • The 65k-vertex cap is baked into the format — large meshes arrive pre-split into sub-meshes, not a full single mesh.
  • Only diffuse colour survives the jump. PBR, specular maps, and bump maps do not exist in 3DS.
  • Texture filenames inside 3DS often point to DOS-era paths (C:\TEXTURES\...) — re-link after conversion if you want the textures to appear.

Technical note for this tool

Three.js TDSLoader preserves 3DS's sub-mesh split, GLTFExporter writes the scene as a single binary .glb with a default metallic-roughness for each sub-mesh.

3DS vs GLB— what's the difference?

3DS.3ds

Legacy 3D Studio format — still common in architectural visualisation libraries and older asset packs.

Strengths
  • Compact binary format
  • Good support in architectural / viz tools
Limitations
  • 65,536 vertex / face limit per mesh (a relic of 16-bit indices)
  • No PBR materials, limited to diffuse textures
Typical use: Architectural visualisation, legacy asset libraries
GLB.glb

Binary glTF — the JPEG of 3D. Self-contained, small, and loads natively on the web, in AR, and in every modern 3D engine.

Strengths
  • Everything (geometry, textures, materials, animations) packed into one file
  • Tiny and fast — designed for streaming and web delivery
  • Native support in Blender, Unity, Unreal, three.js, <model-viewer>, Android ARCore…
  • PBR materials (metallic-roughness) render consistently everywhere
Limitations
  • Binary — not hand-editable
  • Less common in traditional CAD pipelines
Typical use: Web 3D, AR/VR, real-time engines, e-commerce product views

Deeper context on the formats

3DS — where it came from

Introduced with Autodesk 3D Studio for DOS in 1990 and frozen roughly at 3D Studio R4 in 1994. The format is chunk-based binary — compact and fast for the era, but constrained by 16-bit indices. Autodesk replaced it with .max (proprietary) for 3ds Max, leaving 3DS as a read-only archive format.

Watch out for
  • The 64K vertex limit means any mesh denser than a simple building will be auto-split into mystery sub-objects on import.
  • Smoothing groups decode differently in different importers; lighting may look wrong even though the geometry is intact.
  • Material channels are limited to diffuse + opacity — ignore anything stamped with "3DS PBR" in a marketplace; there is no such thing.

Real-world use: Architectural asset libraries (Evermotion, 3DSky back-catalogue), older game mod communities, and historical 3D model archives. If a download is from the 2000s and the file is .3ds, it almost always needs a cleanup pass in Blender before reuse.

GLB — where it came from

glTF 2.0 was ratified by the Khronos Group in 2017 and quickly became the W3C-recommended format for web 3D. GLB is the "one-file-to-rule-them-all" binary packaging — geometry, textures, animations, and the scene graph all in a single .glb. Adoption was explosive because <model-viewer>, Android Scene Viewer, and every modern game engine landed support almost simultaneously.

Watch out for
  • The PBR material model assumes linear-space textures — DCC tools that export gamma-baked colour maps will look washed-out in web viewers.
  • Draco mesh compression bloats load time if the decoder is not preloaded; turn it off unless you actually need the bandwidth savings.
  • Y-up vs Z-up: glTF is strictly right-handed Y-up. Blender, 3ds Max, and most CAD exports need an axis flip on import or the model lies on its side.

Real-world use: E-commerce product pages (IKEA, Amazon, Shopify 3D), Android AR Quick View, <model-viewer>-powered docs, NFT marketplaces, and real-time configurators. If a 3D asset has to render in a browser tab without plugins, the answer is GLB.

How to convert 3DS to GLB

  1. 1
    Drop a .3ds file onto the page. Works for both the classic 16-bit and extended variants.
  2. 2
    Preview the mesh in 3D. The 65k vertex ceiling of 3DS means parts may arrive as multiple sub-meshes — they all show together.
  3. 3
    Click Download .GLB. Use in three.js, <model-viewer>, Unity, Unreal, or any ARCore-compatible viewer.

FAQ

Why bother converting 3DS to GLB?

3DS is a dead format — no modern tool loads it natively, and its 65,536-vertex per-mesh cap is a relic of 16-bit indices. GLB is the modern web-native replacement: one self-contained binary, PBR materials, native browser support.

Do my materials come across?

Only the diffuse colour. 3DS predates PBR, so texture references and specular highlights are downconverted to a simple metallic-roughness baseline. If your 3DS has missing texture files, the GLB still loads with a default material.

What about the 65k vertex limit?

The Three.js 3DS loader splits meshes at the limit. The GLB output preserves that split (each becomes a child node), so the total geometry is identical — just fragmented into sub-meshes.

Is this better than exporting 3DS from a DCC?

Same mesh quality, but without installing 3ds Max or paying for a plugin. Useful when all you have is the .3ds file from an old asset pack.

Is anything uploaded?

No. The 3DS is parsed in your browser via three.js and exported as GLB locally. The file never leaves your machine.

Related converters

FBX → GLBOBJ → GLBDAE → STLglTF → GLB