DAE to STL converter
Drop your .dae (Collada) file — we convert it to .stl right in your browser. Files never leave your computer.
Why convert DAE to STL?
COLLADA .dae was the interchange format of the late 2000s — still common in SketchUp exports, URDF robot meshes for ROS/Gazebo, and early museum scan archives. STL is what every slicer and most simulators prefer, so converting .dae to STL is the path to a usable mesh today.
Who runs this conversion
SketchUp users printing architectural models, roboticists extracting STL from a URDF mesh folder, museum archivists and cultural heritage teams converting old scans, and anyone rescuing a .dae from a 2010-era asset pack.
Things that commonly go wrong
- DAE `up_axis` varies — SketchUp defaults to Z-up while many DCCs use Y-up. If the print lands on its side, rotate 90° in the slicer.
- Scene transformation hierarchies flatten into one mesh; parent-child relationships disappear.
- Cameras, lights, and animation nodes in the DAE are silently ignored — only geometry survives.
Technical note for this tool
Three.js ColladaLoader walks the scene graph, we flatten to a single BufferGeometry, then STLExporter writes binary STL.
DAE vs STL— what's the difference?
XML-based Collada interchange format — predecessor of glTF, still used by robotics (URDF), SketchUp exports, and older asset pipelines.
- Human-readable XML — easy to inspect and transform
- Scene graph, skinning, animation, multiple coordinate systems
- Native to robotics toolchains (ROS/Gazebo via URDF)
- Very verbose — large files compared to GLB
- Implementation quirks between exporters are common
Triangle-mesh format that every 3D printer slicer understands. Geometry only — no units, colours, or assemblies.
- Universal 3D printing format — Cura, PrusaSlicer, Bambu Studio all speak STL
- Tiny, simple, extremely fast to load
- Great for meshing workflows, simulation pre-processors, quick previews
- Triangulated approximation — curved surfaces lose precision
- No colour, material, or assembly data
- One shell per file by convention (multi-body gets flattened)
Deeper context on the formats
DAE — where it came from
Collada (COLLAborative Design Activity) was started by Sony Computer Entertainment in 2004 as a royalty-free interchange format for PS3-era game pipelines. Khronos took over in 2006. The format was effectively superseded by glTF in 2015, but robotics and SketchUp hung on to it — so it still shows up in ROS simulation worlds and 3D Warehouse downloads.
- Exporter compatibility is genuinely bad — SketchUp, Blender, and Maya DAE files often disagree on orientation conventions. Prefer GLB for any new pipeline.
- The XML is hand-readable but not hand-writable; the UV and skinning sections are dense enough that manual edits usually break the file.
- Unit metadata is present but routinely ignored — confirm the scale before dropping the mesh into a physics simulator.
Real-world use: ROS / Gazebo robot models (URDF references DAE for link meshes), SketchUp Pro exports, 3D Warehouse asset downloads, and older architectural-visualisation libraries. A healthy chunk of academic robotics code still assumes mesh files arrive as .dae.
STL — where it came from
Invented by 3D Systems in 1987 for the first commercial stereolithography machine (hence the name — "STereoLithography"). It was supposed to be a throwaway internal format; nearly four decades later it is still the default hand-off between CAD and every slicer on the market, simply because nothing else got universal support in time.
- STL has no units — a file authored in inches and re-opened in a metric slicer prints at 1/25.4 scale. Always confirm the source units before slicing.
- Non-manifold meshes (holes, flipped normals, internal walls) slice silently but print as unsolvable garbage. Run the mesh-repair tool before wasting filament.
- ASCII STL is ~5× larger than binary STL with zero benefit — always export binary unless you specifically need to diff the file.
Real-world use: Every FDM and SLA slicer (Cura, PrusaSlicer, Bambu Studio, Lychee, Chitubox) reads STL as a first-class input. Simulation pre-processors (Ansys, Abaqus) also consume STL for meshing. Fabrication-on-demand services (Shapeways, JLCPCB's 3D print arm, Protolabs) accept STL uploads directly.
How to convert DAE to STL
- 1Drop a .dae (Collada) file. Common sources: SketchUp export, ROS/URDF mesh, older 3D asset packs.
- 2Preview the geometry in 3D. Multiple parts show up in the Scene Tree — toggle to pick exactly what goes into the STL.
- 3Click Download .STL. Import into Cura, PrusaSlicer, or any slicer to print.
FAQ
Will textures and colours be preserved?
No — STL has no material or colour data. Any COLLADA materials, per-vertex colours, and textures are dropped. For colour-capable 3D printing workflows, target 3MF or GLB instead.
Does it handle ROS URDF meshes?
Yes. URDF mesh files are standard Collada .dae files. Drop the mesh, convert to STL, then use the STL directly in simulators that prefer it (Gazebo accepts both).
Why is the coordinate system weird?
Collada's `up_axis` varies — SketchUp exports use Z-up while many DCCs default to Y-up. We respect the source declaration. If the model lies on its side after import, rotate 90° in your slicer.
Is the STL watertight?
Depends on the source. DAE files rarely guarantee manifold geometry. If your slicer complains, run Blender → Mesh → Clean Up → Merge by Distance before printing.
Is my file uploaded?
No. Three.js' ColladaLoader and STLExporter run entirely client-side.