What File Format Do CNC Machines Use?
A CNC machine never reads your CAD file. It reads G-code. Everything between the two is a translation chain, and each link keeps or loses geometry. This page walks that chain for milling and turning, so you can choose the right cnc machines file format before quoting.

In this article
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
The machine runs G-code, not your CAD file
Ask what file format do CNC machines use and the literal answer is G-code, sometimes called NC code: a plain text list of coordinates, feed rates, spindle speeds and tool changes. A Fanuc or Siemens control reads that list line by line and moves the axes. Nothing else reaches the machine directly.
But you never hand-write G-code for a real part. It is generated by CAM software from a 3D model or a 2D drawing, and the quality of that source model decides how clean the toolpaths are. A sloppy source costs you air cuts, gouges and scrapped stock.
So there are three format layers in play: the CAD format you design in, the exchange format you send, and the G-code the control executes. Most confusion about cnc machines file format comes from mixing those layers up.
The practical takeaway: send us a solid model in a kernel-based format, and we handle the CAM side. Everything after that is our problem, not yours.
- 1Design layerNative CAD: SolidWorks, Inventor, NX, Creo, CATIA.
- 2Exchange layerSTEP, IGES, Parasolid, STL, DXF.
- 3Machine layerG-code plus setup sheets and tool lists.
The CAD file you design in stays at home
Native formats such as SLDPRT, IPT, PRT and CATPart carry full design intelligence: feature history, sketches, constraints, assembly mates and material properties. That is useful to the designer and nearly useless to a machine shop, because the shop may not run the same software version.
A native file can also be fragile across versions. A part built in SolidWorks 2023 may open with broken features in an older release. If you send native files, tell us the exact version and include a STEP export as a fallback.
We do accept native CAD when a customer prefers it, and we can read the major packages. But it adds a translation step that nobody needs, and translation is where dimensional surprises appear.
Keep native files as your internal master. Export a neutral solid for anyone outside your team. That habit removes most back-and-forth on a first order.
STEP is the default cnc machines file format for milling
STEP (AP203 or AP214) stores exact analytic geometry: planes, cylinders, cones, NURBS surfaces and B-rep topology. A tapped hole is still a cylinder with a defined diameter, not a pile of triangles. CAM software can therefore pick edges, offset faces and verify a Ø6.5 mm hole against the drawing.
That exactness matters when you hold ±0.005 mm. Triangle meshes cannot represent a true cylinder, so a nominally round bore becomes a polygon and the CAM toolpath drifts at the flats.
AP214 carries colour and assembly structure; AP203 is geometry-focused. Either works for machining. If your exporter offers AP242, that is also fine and keeps tolerances as annotations.
For a part with tight bores, thin walls or blended surfaces, STEP is the format we ask for first. It is the safest single file you can send.
- 1Best forPrismatic and contoured milled parts, turned parts, assemblies.
- 2KeepsExact surfaces, edge topology, assembly tree (AP214).
- 3Watch outExport in mm, not inches, unless the drawing says otherwise.
IGES, Parasolid and STL each have a narrow job
IGES is the older neutral format. It handles trimmed surfaces and wireframe, and it still appears in aerospace and tooling supply chains. The trouble is loose tolerance settings at export: two adjacent surfaces can leave a gap, and the CAM kernel then fails to stitch a solid. If you must send IGES, set the export tolerance to 0.001 mm and check that it reads as a closed solid.
Parasolid (X_T) is a kernel format. It is exact and compact, and it round-trips cleanly between SolidWorks, NX and Solid Edge. When STEP exports look faceted or won't heal, Parasolid is a good second try.
STL is a triangle mesh with no units, no features and no exact surfaces. It sizes the model but cannot be dimensioned. Use it for a visual check or a quick form study, not for a part that must fit a mating bore.
DXF earns its place for 2D work: laser-cut plates, waterjet blanks, bend profiles and turned profiles defined in a section view. Send DXF for the flat pattern, STEP for anything with 3D features.
From STEP to G-code: what happens after you upload
A manufacturing engineer imports your STEP into CAM, checks that it heals into a watertight solid, then sets the machining strategy. On a 3-axis job that means selecting tool diameters, stepovers and depths of cut. On a 5-axis job it also means defining tool axis tilt to keep the tool shank clear of the walls.
Feeds and speeds come from the material and the tool. A 6061-T6 aluminum block cuts fast with high spindle speed; 17-4PH stainless needs lower surface speed and more passes. Those choices never appear in your CAD file, which is why sending only a model is usually enough.
The CAM output is posted to a machine-specific G-code dialect. A Fanuc post will not run unchanged on a Heidenhain control. Post-processors are shop-side assets, so you do not need to supply them.
What you should supply is the drawing or a 3D PDF with tolerances, plus a note on critical faces. G-code cannot tell us which bore is a bearing seat and which is a clearance hole.
- 1Import checkSolid heals watertight; units confirmed as mm.
- 2StrategyTool selection, stepover, depth of cut, workholding.
- 3PostG-code in the control dialect, plus setup sheet.
When the format stops being the problem
A clean STEP file does not make an unmachinable part machinable. A pocket 8 mm deep and 2 mm wide cannot be reached by a tool stiff enough to hold tolerance, whatever the file says. Tool reach and aspect ratio set that limit, not the format.
Sharp internal corners are another case. A cutter has a radius, so a square internal corner becomes a radius unless you allow a relief. If the print calls for a sharp corner, expect an EDM or a corner-relief note.
Thin floors deflect under cutting force. On a 0.8 mm aluminum floor we often reduce depth of cut and add support, or flip the part and machine it in two setups. None of this is visible in the file.
So the file is necessary but not sufficient. It gives us exact geometry. The drawing, the material callout and a short note about function give us the rest.
How to prepare files before you request a quote
Five checks that prevent most first-article failures.
- 1Export a STEP solid in mmUse AP214 if you need assembly structure. Confirm the unit setting reads mm, not inches.
- 2Add a drawing or 3D PDF with tolerancesMark critical diameters, datums and surface finish. Note any face that must not be touched.
- 3Name files so the revision is obviousPart number plus revision, for example Bracket-A_revC.step. Never send two files with the same name.
- 4State material, finish and quantityAlloy grade matters. 6061-T6 and 7075 machine differently; anodizing type changes masking needs.
- 5Flag anything you are unsure aboutA thin wall, a deep pocket or a 0.5 mm floor is worth a sentence. We will tell you if it is machinable.
Which cnc machines file format to send
Pick by part type, not by habit.
| Format | Carries | Good for | Avoid when |
|---|---|---|---|
| STEP (AP203/214) | Exact B-rep solids | Most milled and turned parts | Never, unless file is corrupt |
| Parasolid (X_T) | Exact kernel solids | STEP export looks faceted | Shop lacks a kernel reader |
| IGES | Trimmed surfaces, wireframe | Legacy aerospace and tooling | Surfaces do not stitch to a solid |
| STL | Triangle mesh | Form checks, rough prototypes | Any tight bore or mating face |
| DXF / DWG | 2D lines and arcs | Sheet metal, waterjet, turning profiles | Part has 3D contoured features |
| Native CAD | Full feature history | When shop runs your exact version | Version mismatch is likely |
| 3MF / OBJ | Mesh plus colour | Additive and visual review | Subtractive tolerance work |
Send STEP by default, DXF for flat parts
For 3D milled or turned parts, send an exact STEP solid in mm with a toleranced drawing. For flat sheet metal or waterjet blanks, send DXF. Use STL only for a visual check, never for a tolerance-critical feature.
Frequently asked questions
Can a CNC machine read a STEP file directly?
No. A machine control executes G-code. A STEP file is read by CAM software, which generates the toolpaths and posts G-code for that specific control.
The practical effect is that you do not need to match your file to a machine brand. You need a file the CAM kernel can read exactly.
Is STL ever acceptable for CNC machining?
It is acceptable for a rough form check or a non-critical prototype where no dimension is inspected against a mating part.
For anything with a bore, a thread or a sealing face, send STEP. A mesh cannot define a true cylinder, so the toolpath drifts at the flats.
What if I only have a 2D drawing?
A fully dimensioned 2D drawing is enough for many turned parts and simple plates. We will model it and confirm the geometry with you before cutting.
For contoured 3D surfaces, a drawing alone leaves too much interpretation. Send a STEP model plus the drawing that controls the tolerances.
Do units in the file matter?
They matter more than almost anything else. A part modeled in inches but exported with a millimetre flag comes out 25.4 times too large or too small.
State the unit on the drawing and check the export dialog. We confirm units on import, but a mismatch costs a day.
Will you sign an NDA before I send files?
Yes. Uploads are kept secure and confidential, and we can sign a non-disclosure agreement on request before you share models.
We hold ISO 27001:2022 certification for information security management.
How fast can you review my file?
Quotation and free DFM analysis come back within 12 hours. If the part is straightforward, production can start within 24 hours after that.
Parts typically ship in 3–5 days depending on quantity, finishing and material availability.
Send your STEP file and get a DFM review
Upload your model and drawing. We return a quotation and free DFM analysis within 12 hours, with a note on any feature that will not hold tolerance.
12-hour quote100% inspectionNo minimum order quantity