local engine

DAE → STL

Free DAE to STL Converter

COLLADA is an XML scene format that most modelling tools can export, which is why .dae files show up everywhere from SketchUp to Maya. It carries a full scene graph, materials, cameras, animation and an explicit unit and up-axis declaration, and almost all of that is irrelevant to an STL. What matters is that the reader honours the unit and axis declarations before the geometry reaches the exporter — the rest is the usual lossy flattening.

DAE → STL
workbench
Open the DAE to STL workbench .DAE · .KMZ · COLLADA XML Convert in browser →
  • Full-size 3D preview before you download
  • 28 input formats and 8 output formats, four detail levels for CAD sources
  • Reads the file in your tab — nothing is uploaded
224conversions here
28mainstream formats
0 Buploaded anywhere

How to convert DAE to STL

  1. Drop the .dae or .kmz fileA COLLADA document is plain XML, so the reader parses it directly in the tab. A .kmz is unzipped first and its embedded model loaded. Nothing is uploaded and there is no account step.
  2. The reader applies unit and axisThe asset block declares the source unit and whether the scene is Y-up or Z-up. The loader converts the unit to metres and rotates a Z-up scene into the pipeline's Y-up convention before any geometry is touched, which is why the preview matches the source orientation.
  3. Flatten the sceneNode transforms, instances and geometry are resolved into world space. Multiple objects become one triangle list; materials, effects, cameras and animation are discarded because STL has nowhere to store them.
  4. Set the output scaleMetre-based geometry written into a unitless STL will be read as millimetres by every slicer. Use the scale control to multiply by 1000 for real-world-sized models, or scale on import in the slicer.
  5. Download and sliceThe result is binary STL: an 80-byte header, a 32-bit facet count and 50 bytes per triangle. Check the bounding box, then let the slicer report holes and non-manifold edges before printing.

What happens when COLLADA becomes STL

An XML scene, not a mesh file

A .dae document is a small database: libraries for geometries, materials, effects, cameras, lights and animations, tied together by a visual scene graph of nodes and instances. A single geometry can be instanced several times with different transforms, so the scene's triangle count is not the sum of its geometry libraries. Converting to STL means evaluating that graph and writing out the resulting triangles in world space. Instancing is expanded, so a part reused twenty times contributes twenty copies to the mesh.

Units and axes are the useful part of the format

COLLADA is one of the few mesh formats that states its scale: the asset block carries a unit with a meter conversion factor, and files from metric CAD tools often declare millimetres. It also declares an up axis, and Z-up is common outside game engines. The reader uses both declarations, converting to metres and rotating Z-up scenes into the Y-up convention. That is more care than most converters take, and it still cannot help STL, which has neither field.

External textures never resolve

COLLADA images are references to files beside the model. A browser cannot read a directory the user did not select, so those references fail and the preview falls back to material base colours. Geometry is unaffected. Since STL carries no texture coordinates or images, the exported mesh is the same whether the textures were found or not.

Materials, effects and animation are dropped

The material and effect libraries describe shading for a renderer, including diffuse, specular and transparency values. Animations live in samplers and channel targets. None of it has a destination in an STL, whose entire per-facet payload is a normal and three vertices. The conversion is therefore a snapshot of the loaded scene in its rest state, flattened and unshaded.

DAE vs STL

COLLADA .dae sourceBinary STL output
EncodingXML document with librariesBinary facet stream
Scene structureNode graph, instances, cameras, lightsOne merged triangle list
UnitsDeclared in the asset blockNone
Up axisDeclared Y_UP or Z_UPUnspecified
MaterialsEffects, shaders and texture referencesNone
AnimationSamplers and channelsOne static pose
InstancingOne geometry reused by many nodesExpanded into duplicate triangles
PurposeScene exchange between DCC toolsSlicer input

Supported formats

FormatReadWriteNotes
STEP (.step .stp)Yes–ISO 10303 B-rep, AP203 / AP214 / AP242
IGES (.iges .igs)Yes–Entity-based surfaces, up to 5.3
BREP (.brep)Yes–OpenCascade native B-rep
STL (.stl)YesYesBinary and ASCII triangles, no units
OBJ (.obj)YesYesv / vn / f records; .mtl references ignored
PLY (.ply)YesYesBinary position and normal arrays
GLB / glTF (.glb .gltf)YesYesglTF 2.0, binary or JSON with data URI
3MF (.3mf)YesYesOPC/ZIP package, declares millimetres
FBX (.fbx)Yes–Binary and ASCII, static mesh only
DAE (.dae)YesYesCollada scene graph is flattened
3DS (.3ds)Yes–Legacy chunk-based 3D Studio format
AMF (.amf)Yes–XML, ZIP-compressed packages supported
USDZ (.usdz)YesYesZIP containing a USD stage

Known limitations and why a conversion can fail

Textures referenced by relative path

Images beside the model cannot be read from a single dropped file. The preview loses its maps, though geometry and base colours survive. This is cosmetic for STL output and worth remembering before judging the conversion by the preview alone.

Very large scenes exhaust memory

XML parsing and the expanded instance graph both cost memory. A scene with heavy instancing can produce far more triangles than its geometry libraries suggest, and a browser tab has a finite WebAssembly address space. Export a sub-scene, or reduce mesh density in the authoring tool.

Non-manifold and single-sided geometry carries over

COLLADA does not require closed solids. Architectural models in particular are often made of open planes and zero-thickness walls. The conversion reproduces that faithfully; a slicer will then refuse the file or silently repair it. That is a modelling issue rather than a converter defect.

One file per run

The workspace converts one document at a time. There is no batch queue in the browser build, so a folder of .dae exports means one run each.

Frequently asked questions

Can I convert on this page itself?

No. This page is the reference for the DAE to STL path, and the conversion itself runs in the workspace that the button above opens, with both formats already selected. Your file is read in that browser tab and the download is written locally, so there is no upload stage in either place. Keeping the documentation and the engine on separate addresses lets file support and detail levels change behind one workspace without breaking the page you are reading.

Why is my SketchUp model the wrong size in the slicer?

Because COLLADA and STL disagree about what a number means, and the conversion resolves the first half only. A .dae declares its unit in the asset block, and the reader converts the scene to metres before it reaches the exporter. STL declares nothing, and slicers read its numbers as millimetres. A model authored in metres therefore lands in the slicer a thousand times too small. Multiply by 1000 with the workspace scale control, or set the correct import unit in the slicer and check a known dimension.

Does the converter respect the COLLADA up axis?

Yes at load time. COLLADA lets a file declare Y_UP or Z_UP, and SketchUp and many CAD tools write Z_UP while game-oriented tools write Y_UP. The reader rotates a Z-up scene into the Y-up convention used by the rest of the pipeline, so the preview is consistent regardless of the source. STL then declares no axis at all, and slicers lay parts on the XY plane, so a Z-up model may still need a rotation in the slicer after conversion.

Why are the textures missing in the preview?

Because a .dae references its images as separate files, often in a textures folder next to the model, and a browser file picker only provides the one file you drop. The geometry, materials and scene structure still load, but the referenced images cannot be resolved, so surfaces render with their base colours instead of the intended maps. This affects only the preview; an STL has no texture channel, so the exported mesh is identical either way.

Can I convert a .kmz file here?

Yes. A KMZ is a zipped KML package that can contain a COLLADA model, and the reader recognises that variant and loads its scene. It behaves exactly like the equivalent .dae once opened, including the unit and axis handling. A plain KML with placemarks and no model geometry has nothing to convert and will produce no mesh.

What happens to the scene hierarchy and materials?

Both are dropped at the export stage. COLLADA nodes, instances, materials, effects and animations are meaningful in a renderer and have no place in an STL facet record. The exporter flattens every instance into world coordinates and concatenates the triangles, so separately named parts become one shell. Materials and per-face colours disappear entirely because the binary STL facet has no material field.

Is a DAE from Blender or Maya compatible?

Normally yes. Both exporters write COLLADA 1.4 or 1.5 XML with a scene node tree and standard geometry elements, which is what this reader parses. The usual practical caveats apply: very dense meshes can exhaust tab memory, and non-manifold or single-sided geometry converts faithfully but may not slice. If the file is enormous, export the part you need rather than the whole scene.

References

Related converters

All converters

Last updated: