DAE to STL Converter
Convert a Collada (.dae) file to STL right in your browser, ready for a slicer. A DAE file states its own unit (centimetres, inches, metres and so on) and which axis is up, and the converter uses both: the STL comes out in millimetres and Z-up by default, so the part prints at the size it was drawn. You can also choose centimetres, metres, inches or the file’s own unit, and Y-up. Every part is placed where the file puts it (moves, turns, scales, 4 × 4 matrices and mirrored parts are baked in). Write one STL for the whole model or one STL per part in a ZIP, binary or ASCII, and optionally set the model on the build plate. Every STL is read back straight after it is written, and the page shows its size, triangle count and whether it is watertight. Nothing is uploaded.
100% private — everything runs in your browser. Everything runs in your browser; your DAE files are never uploaded.
File details
STL file
Size and direction
Animation
Runs in your browser: your .dae file (and any textures you add) is read on your device and never uploaded, and web addresses inside the file 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 stay as they were.
How to convert a DAE to STL
- Drop the .dae on the box (or open its folder), or click Try a sample.
- Check the units and up axis the page found in the file, and the 3D view of the STL.
- Choose the STL units (millimetres for printing), the up direction, binary or ASCII, and one STL or one per part.
- Click Download STL (a ZIP when you chose one STL per part).
What you can use it for
- 3D print a model that was only available as a Collada download
- Turn a centimetre or inch Collada model into millimetres for a slicer
- Stand up a model that lies on its back because the file is Z-up or Y-up
- Print each part of a multi-part Collada model on its own
- Freeze an animated Collada model in one pose as a printable shape
- Check whether a Collada model is closed (watertight) before printing
What carries over from DAE to STL
| In the DAE | In the STL from this converter |
|---|---|
| Geometry (triangles, polygons, polylists) | Triangles |
| Node transforms (translate, rotate, scale, matrix) | Baked into the vertex positions |
| Mirrored parts (negative scale) | Triangle order put back, so the faces still point outwards |
| Unit (<unit meter=…>) | Millimetres by default, or centimetres, metres, inches or the file’s unit; the binary STL header names the unit |
| Up axis (Y_UP or Z_UP) | Z-up by default, or Y-up |
| Parts | One STL, or one STL per part in a ZIP |
| Materials, colours, textures | Not stored in STL: left out and counted in the notes |
| Animations and skins | One pose is written (rest pose, or a frame you pick) |
| Cameras, lights, lines, points | Left out |
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 turns the model back to Z-up and writes the numbers in the unit you choose.
Units: the sample crate
| STL units | Our 20 × 20 × 40 cm test crate becomes |
|---|---|
| Millimetres (default) | 200 × 200 × 400 mm |
| Centimetres | 20 × 20 × 40 cm |
| Metres | 0.2 × 0.2 × 0.4 m |
| Inches | 7.874 × 7.874 × 15.748 in |
| Same as the file (centimetres) | 20 × 20 × 40 cm |
STL files store plain numbers with no unit. Slicers read them as millimetres, which is why millimetres is the default.
What our test files give
| Test file | What it checks | Triangles | STL files | Size | Watertight | Read back the same |
|---|---|---|---|---|---|---|
| crate-cm-zup.dae | Crate in centimetres, Z up | 12 | 1 | 200 × 200 × 400 mm | Yes | Yes |
| two-parts.dae | Two parts in metres, Y up: one moved, one placed by a 4 × 4 matrix | 24 | 1 | 5,500 × 2,000 × 1,000 mm | Yes | Yes |
| blocks-inch-mirrored.dae | Two blocks in inches, one mirrored (scale −1) | 24 | 2 | 127 × 25.4 × 12.7 mm | Yes | Yes |
| five-cubes-mm.dae | Five cubes in millimetres, one STL per part | 60 | 5 | 70 × 10 × 10 mm | Yes | Yes |
| open-sheet.dae | One open sheet (not closed), centimetres | 2 | 1 | 500 × 300 × 0 mm | No (4 open edges) | Yes |
Computed by the converter’s own writer from our own Collada test files, read with the same three.js version the page uses. Every STL was read back with the same triangle count and size, and every closed part has a positive volume (its faces point outwards), the mirrored block included.
Binary or ASCII
| Test file | Binary STL | ASCII STL |
|---|---|---|
| Crate (12 triangles) | 684 bytes | 1,803 bytes |
| Five cubes (60 triangles) | 3,084 bytes | 8,251 bytes |
A binary STL takes 84 bytes plus 50 bytes per triangle; ASCII writes each triangle as readable text, a few times larger.
Next steps
Check the print in the STL viewer and price it with the 3D Print Cost Calculator. Have the model in another format? GLB to STL and OBJ to STL make STL files too.
Sources
Sources: The National Archives (PRONOM): COLLADA Digital Asset Exchange (DAE), fmt/1209; three.js 0.186.1 Collada reader source (Z-up files turned to Y-up, the file’s unit applied); Library of Congress: STL (STereoLithography) File Format Family (triangles with a normal each, no standard colour).
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.
Frequently asked questions
Is this DAE to STL 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.
Will the STL be the right size?
Yes, if the DAE states its unit, which most do (for example <unit meter=“0.01”> for centimetres). STL files have no unit field, and slicers read the numbers as millimetres, so by default the converter writes millimetres: a 20 cm part becomes 200. Choose another unit if the STL is going somewhere else.
Why did my model lie on its back before?
Collada files can be Y-up or Z-up, while slicers and CAD apps treat Z as up. The converter reads the up axis from the file and writes Z-up by default, so the model stands as it was made. Choose Y-up for 3D apps that expect it. Either way the model is turned, never mirrored.
Are colours and textures kept?
No. STL stores only triangles, with no colours, materials or textures, so they are left out (the page says how many). For a coloured print file, use a format that keeps colours, such as 3MF.
Can I get each part as its own STL?
Yes. Choose One STL per part and the download is a ZIP with one STL for each part, named after the part in the file. The parts keep their places, so they line up again when you load them together.
Binary or ASCII STL?
Binary STL is smaller and is what slicers expect, so it is the default. ASCII STL is plain text you can read and edit; both hold the same triangles.
What does watertight mean here?
A watertight STL is closed: every edge is shared by exactly two triangles, so a slicer can tell inside from outside. The page reads the STL back and counts open and non-manifold edges. Most slicers repair small gaps; a flat sheet or an open shell cannot be filled.
What happens to animations?
STL stores one still shape. The converter writes the rest pose, or the first or last frame of an animation you pick under Animation.
Can I convert a KMZ file?
A KMZ is a ZIP that holds a .dae model and its images. Unzip it and drop the .dae from inside (usually in a folder named models).
Is my DAE file uploaded?
No. The Collada file is read and turned into STL by JavaScript in your browser, so it never leaves your device, and web addresses inside the file are not fetched. Only the 3D engine itself (three.js) is loaded from a public CDN. There is no sign-up and no watermark.