Convert DAE to OBJ
COLLADA is an XML exchange format, and a .dae from SketchUp, Blender or Maya says more about itself than most formats do. This tool reads what it says — the unit, the up axis, the scene tree — and writes a plain OBJ.
Drag a 3D file here, or.
This page is set up for COLLADA files. Other formats we can read work here too.
The file is read on your own computer. It is never uploaded.
Your file is read by your own browser and never sent to a server. There is no upload, no account and no copy of your model anywhere but on your computer.
COLLADA tells you its unit, and we listen
Near the top of every .dae there is a line stating how many metres one unit is. A file from SketchUp is often in inches, one from Blender in metres, one from a CAD exporter in millimetres. Most converters ignore that line and assume, which is why models from this format so often turn up at absurd sizes.
Here it is read and used. The first unit box shows what the file actually said. If the file states a unit we have no name for — a yard, say — the coordinates are converted into millimetres instead, so the size shown is still the real one.
And which way is up
COLLADA also states its up axis, and files disagree: Z-up from CAD and SketchUp, Y-up from Blender and Maya. That statement is read too, so the model is understood the way the file meant it rather than being tipped onto its side.
The output keeps that orientation unless you change it. OBJ is conventionally Y-up, so if the .dae was Z-up and the OBJ is going into Blender, setting the output up axis to Y saves you a rotation.
The scene is flattened
A .dae describes a tree of nodes with transforms, and geometry can be instanced — the same shape placed several times in different positions. Every instance is expanded and every transform applied, so a model built out of repeated parts arrives assembled and complete.
Faces with more than three corners are split into triangles, material colours are followed through COLLADA’s chain of material, effect and shader, and normals are rebuilt from the geometry with a thirty degree crease angle.
SketchUp exports are the common case, and they have a shape of their own
Most .dae files that reach a converter came out of SketchUp, and SketchUp models have characteristics worth knowing before you convert one. They are built from flat faces with no thickness, because that is how SketchUp works — a wall is a single surface, not a solid. They use components heavily, so the same window appears forty times as forty instances of one definition. And they are frequently in inches, because the default template is.
The instancing is handled: every placement is expanded into real geometry, so the OBJ contains forty windows rather than one. That is also why a SketchUp export can turn into a much larger OBJ than the .dae suggested — the .dae stored the window once and the OBJ has to store it forty times.
The single-surface walls are not something a converter can fix. They come across exactly as they are, which is correct for rendering and useless for printing. If the model has to be printed, it needs thickness added in SketchUp first, using the Solid Tools or a push-pull on every face.
What survives, and what does not
Kept in the OBJ file
- The exact shape, with every instanced part expanded and placed
- Node names, written as OBJ groups
- Material colours, in a companion .mtl file
- The texture coordinates, so the unwrap does not have to be redone
- The real size, read from the unit the file declares
Lost on the way
- The link to the image files — a .dae never held them, and they are still in the folder you opened it from
- Animation, skeletons, cameras and lights
- The unit statement itself, because OBJ has nowhere to record one
How to convert COLLADA to OBJ
Drop the .dae file in
The unit and the up axis are read out of the file itself, so the first unit box shows what the file actually declared rather than a guess.
Check the unit the file declared
A SketchUp export is often in inches. The measurements beside the 3D view are the real ones — compare them against the building or object you know.
Set the output up axis to Y for Blender
COLLADA from SketchUp and CAD is Z-up; Blender, Maya and 3ds Max want Y-up. The file states which it was, so the conversion starts from the truth rather than an assumption.
Choose the output unit
Metres for a renderer, millimetres for anything going onward to a printer. The OBJ cannot record which you chose, so make a note if you are sending it to someone.
Download, and keep the pictures in mind
You get a zip with the .obj and .mtl when there are materials. The image files were never inside the .dae — they are still in the folder you dragged it from.
COLLADA and OBJ compared
| Property | COLLADA.dae | OBJ.obj |
|---|---|---|
| File contents | XML, verbose, with textures referenced as separate files beside it. | Plain text, one item per line. Materials live in a separate .mtl file beside it. |
| Geometry | Triangles and polygons, with skinning and animation. | Triangles and polygons. Also stores free-form curves, which almost nothing writes. |
| Units | Recorded in the file, as a name and a scale factor to metres. | None. Like STL, the numbers are bare, though exporters usually mean metres. |
| Colour and texture | Materials and textures through its own effect and shader description. | Material names and texture coordinates, with the materials themselves in the .mtl file. |
| Separate objects | A full scene graph of named nodes with transforms. | Named objects and groups, each able to carry its own material. |
| Published by | Sony, then the Khronos Group, 2004. Standardised as ISO/PAS 17506. | Wavefront Technologies, 1980s, for the Advanced Visualizer. |
| Written by | SketchUp, older Blender exports, and Autodesk tools as an exchange option. | Blender, Maya, 3ds Max, ZBrush and most modelling programs. |
Questions
- Can you convert OBJ back to DAE?
- We do not write COLLADA. A .dae of the same model is several times the size of the glTF that does the same job better, so glTF or GLB is the sensible destination if you need an exchange format.
- My .dae came from SketchUp. Will the size be right?
- Yes, as long as SketchUp wrote its unit into the file, which it does. The first unit box will show what it said, and the measurements beside the 3D view are the real ones.
- What about the textures?
- The texture coordinates are read out of the COLLADA and written into the .obj, so the unwrap survives, and that is the part that takes real work to redo. The pictures are a different matter: a .dae never contains them. It points at image files sitting beside it, which means they are already on your disk, in the folder you dragged the .dae out of. Point the .mtl or your modelling program at them again and the model is complete. Material colours are read and written into the .mtl either way.
- Why did I get a zip?
- Because the model has materials, and OBJ keeps those in a separate .mtl file. The zip holds the .obj and the .mtl together.
- My SketchUp model has no thickness. Can the converter fix it?
- No. SketchUp faces are single surfaces with no thickness, and that is what the .dae contains. Add thickness in SketchUp before exporting if the model has to be printed.
Where to go next
Other ways to get a OBJ file
Related guides and tools
- Repair an STL that will not sliceClose the holes and separate the bad edges so a slicer accepts it
- Reduce the size of an STL fileFewer triangles, the same shape, a much smaller file
- Check whether an STL is ready to printFind out what is wrong with a model before you print it
- Convert SKP to STLGuide
- Convert BLEND to OBJGuide
- Convert BLEND to STLGuide