About cadtomesh
cadtomesh is a browser-only CAD and 3D file converter, with a separate Windows app for batch and offline work. The site exists because most online converters ask you to upload the file first.
Why it exists
An engineering drawing or a mechanical assembly is often covered by an NDA, and a 3D print model is still someone's work. Uploading either to a random conversion service creates a copy on a server you do not control. cadtomesh takes the other route: the file is read into the browser tab you already have open, the geometry kernel runs on your own machine, and the result is written back as a normal download.
The same idea runs through the Windows app. The geometry kernel ships inside the installer, so the app can convert a folder of models on a machine with no network connection.
How the conversion works
The browser build reads 28 input formats and writes 8 output formats. Three engines do the work:
- OpenCascade (OCCT), compiled to WebAssembly, reads STEP, IGES and BREP. These are exact boundary-representation formats, so the kernel tessellates curved faces into triangles at the detail level you choose.
- web-ifc reads IFC building models. IFC geometry is already meshed in most files, so the triangles come from the file rather than from a tessellation setting.
- three.js loaders and exporters handle the mesh formats: STL, OBJ, PLY, GLB, glTF, 3MF, FBX, DAE, 3DS, AMF, USDZ, KMZ, LWO, VTK, XYZ, OFF, WRL and others.
The Windows app uses the same OpenCascade kernel natively, reads 28 formats and writes 15. The extra outputs are STEP, IGES and BREP export, plus DXF and other formats the browser build does not write. The app is not a more accurate version of the website: the tessellation rules are the same. It exists for the jobs a browser tab cannot finish — batch queues, files above 100 MB, and offline work.
What it does not do
Conversion is a one-way approximation. The pages on this site say so before you download anything, and the short version is:
- Curved surfaces become flat triangles. A finer preset narrows the gap but never removes it.
- Units are not converted. STL and most mesh formats carry no unit declaration.
- Colours, materials and UV coordinates may be dropped, depending on the output format.
- Assembly and part hierarchies are flattened into one mesh.
- A closed, watertight shell is not certified. Check the result in your slicer or mesh editor before printing or manufacturing.
These are limits of the formats themselves, not settings that are hidden behind a paid tier. The Windows app page and each conversion page document them in more detail.
What the site collects
No account is required and there is no upload endpoint. The site stores one local preference (whether you dismissed the desktop-app hint) and sends one small request when a conversion finishes: a byte count, used for the site-wide total on the homepage. It carries no file name, no file content and no identifier. The privacy policy lists every request the site makes, including the IFC library fetched from jsDelivr.
Open-source components
cadtomesh would not exist without the work of these projects:
- OpenCascade Technology and occt-import-js — LGPL 2.1
- web-ifc — MPL 2.0
- three.js, fflate and @xmldom/xmldom — MIT
How this site is built and tested
The converter's claims are checked against the shipped code and the format specifications, not written from memory. The methodology page lists the three engines, the exact tessellation tolerances behind each preset, what has been verified at byte level, and what the converter does not claim to do.
Who runs it
cadtomesh is an independent project built and maintained by one developer under the name CAD to Mesh. There is no agency, no reseller and no outsourced support desk behind it.
Questions, corrections and bug reports are welcome on the contact page. If a page on this site is wrong about a format, say which page and what the correct behaviour is; accuracy matters more than marketing copy here.