DAE to OBJ Converter

Convert a Collada (.dae) file to OBJ right in your browser, with its materials and textures. A DAE file states its own unit (for example centimetres or inches) and which axis is up, and the converter uses both: by default the OBJ keeps the file’s unit and comes out Y-up, as most 3D apps expect, or you can choose metres, millimetres or inches and Z-up. Every part is placed where the file puts it (moves, turns, scales and 4 × 4 matrices are baked in). Materials go into an MTL file, and texture images you add with the DAE are copied into the ZIP; any the file names but you did not add are listed by name. Every OBJ is read back straight after it is written, and the page shows what it found. Nothing is uploaded.

100% private — everything runs in your browser. Everything runs in your browser; your DAE files are never uploaded.

100% private — runs in your browser
Drop a .dae file here or click to chooseCollada (.dae). Add its texture images too (select them together or open the folder) so they go into the ZIP.

Loading the 3D engine…

File details

Size and direction

What goes in

Runs in your browser: your files are read on your device and never uploaded, and web addresses inside a model are not fetched. The 3D engine (three.js) loads from the jsDelivr CDN. You may use what you make here, including commercially, with no credit needed. The rights in your own models and textures stay as they were.

How to convert a DAE to OBJ

  1. Drop the .dae on the box together with its texture images (or open the folder), or click Try a sample.
  2. Check the units and up axis the page found in the file, the 3D view and the material table.
  3. Choose OBJ units and the up direction, and what goes in: materials and textures, normals, texture coordinates.
  4. Click Download OBJ + MTL + textures (.zip), or OBJ only.

What you can use it for

  • Open a Collada model from an older 3D app or a 3D warehouse download in a tool that reads OBJ
  • Turn a centimetre or inch Collada file into millimetres for 3D printing
  • Fix a model that lies on its back because the file is Z-up
  • Bring a Collada scene into a sculpting, UV or game tool as one OBJ
  • Freeze an animated Collada model in one pose as a still mesh
  • Check which textures a DAE file needs before you share it

What carries over from DAE to OBJ

In the DAEIn the OBJ from this converter
Geometry (triangles, polygons, polylists)Triangles, one OBJ object per part
Node transforms (translate, rotate, scale, matrix)Baked into the vertex positions
Unit (<unit meter=…>)Kept as the file’s unit by default, or converted to metres, centimetres, millimetres or inches
Up axis (Y_UP or Z_UP)Written Y-up by default, or Z-up
Materials (Phong, Blinn, Lambert)MTL: Kd, Ks, Ns, Ke, d, illum
TexturesImage files you add are copied into the ZIP and named in the MTL; missing ones are listed
Animations and skinsOne pose is written (rest pose, or a frame you pick)
Cameras, lights, linesLeft out and listed in the notes

Collada is an XML format for exchanging 3D assets (The National Archives lists it as “an open standard XML specification for 3D images and animations”). three.js, which reads the file here, turns Z-up files to Y-up and applies the file’s unit when it builds the scene; the converter then writes the numbers in the unit you choose.

Units and up axis: the sample crate

OBJ units and up directionA 20 × 20 × 40 cm crate (Z-up file) becomes
Same as the file (centimetres), Z-up as in the file20 × 20 × 40 cm
Same as the file (centimetres), Y-up (default)20 × 40 × 20 cm
Metres, Y-up0.2 × 0.4 × 0.2 m
Millimetres, Y-up200 × 400 × 200 mm
Inches, Y-up7.874 × 15.748 × 7.874 in

The test crate is our own Collada file in centimetres (unit meter=“0.01”) with Z up, as many CAD and architecture exports are. Computed by the converter’s own writer.

How Collada materials become MTL

ColladaIn the MTL
diffuse colour / textureKd / map_Kd
specularKs
shininessNs
emission colour / textureKe / map_Ke
transparencyd
bump / normal texturenorm
lambert / phong, blinnillum 1 / illum 2
Material in our two-part test fileWritten asLighting model
redKd 0.8 0.1 0.1illum 1
blueKd 0.1 0.2 0.9, Ks 0.5 0.5 0.5, Ns 50illum 2

What our test files give

Test fileWhat it checksTrianglesOBJ objectsMaterialsOBJ sizeRead back the same
crate-cm-zup.daeCrate in centimetres, Z up, wood texture (Phong)121120 × 40 × 20 cmYes
two-parts.daeTwo parts: one moved, one placed by a 4 × 4 matrix (turned 90°); two materials (Lambert red, Phong blue)24225.5 × 1 × 2 mYes

Computed by the converter’s own writer from our own Collada 1.4.1 test files, read with the same three.js version the page uses. Every OBJ was read back with the same triangle count and size.

Next steps

Need a print file? OBJ to STL turns the OBJ into an STL, and 3MF to STL and STL to 3MF handle 3MF. Check a print model in the STL viewer, or open CAD files in the STEP Viewer.

Sources

Sources: The National Archives (PRONOM): COLLADA Digital Asset Exchange (DAE), fmt/1209; three.js 0.186.1 ColladaLoader source (Z-up assets turned to Y-up, unit scale applied); Library of Congress: Wavefront OBJ File Format; MTL material format (Paul Bourke’s copy of the Wavefront notes: Kd, Ks, Ns 0–1000, d, map_Kd, -imfchan, illum).

More free tools

Working with 3D models?

View, convert and make 3D files with free tools that run privately in your browser, with no sign-up and no watermark.

See all free tools →

Frequently asked questions

Is this DAE to OBJ converter free?

Yes. There is no sign-up, no watermark and no limit on how many files you convert. The conversion runs in your browser, so your files never leave your device.

What is a DAE file?

A .dae file is a Collada document: an XML file that describes 3D models, materials, scenes and animations, made as an exchange format between 3D apps. Several 3D apps and model libraries offer it as an export or download format.

Will the OBJ be the right size?

Collada files say what one unit is (for example centimetres, with meter=“0.01”). By default the OBJ keeps those numbers, so a 40 cm part is 40 units. Choose metres, millimetres or inches to convert. OBJ files have no unit field, so set the same unit when you import the OBJ.

Why was my model lying on its back?

Collada files can be Z-up (common from CAD and architecture apps) while most apps that open OBJ expect Y-up. The converter reads the up axis from the file and writes Y-up by default; choose Z-up if the OBJ is going to a Z-up app.

Are textures kept?

Yes, when you add the image files together with the DAE (or open the folder). They are copied into the ZIP as they are and named in the MTL. If the DAE names an image you did not add, the page lists it by name and the MTL still points to it, so you can put it next to the OBJ later.

How are Collada materials turned into MTL?

Diffuse colour becomes Kd and a diffuse texture map_Kd, specular becomes Ks, shininess becomes Ns, emission becomes Ke and transparency becomes d. Colours are written as the numbers in the DAE file. Lambert materials get illum 1, Phong and Blinn illum 2.

What happens to animations?

OBJ stores one still shape, with no bones or keyframes. The converter writes the rest pose, or the first or last frame of an animation you pick under Animation.

Which Collada files can it read?

Collada files with triangles, polygons and polylists, as the three.js Collada reader handles them (our test files are Collada 1.4.1). Lines and points are left out and listed. A file with broken XML is refused with a message saying so.

Is my DAE file uploaded?

No. The Collada file and its textures are read and turned into OBJ by JavaScript in your browser, so they never leave your device. Only the 3D engine itself (three.js) is loaded from a public CDN. There is no sign-up and no watermark.