Convert NC to 3MF Online
Upload a text .nc or .cnc program and get a 3MF file containing one mesh built along the tool center line of the cutting moves. It shows the path the machine follows, not the finished part and not the material removed, because the cutter diameter is never stated in the file.
Download Started!
How would you rate your experience with MiConvert?
Why Turn an NC Program Into 3MF
An .nc file is the plain-text program a post-processor writes for a mill, router, lathe or laser: blocks of G0 rapids, G1 feed moves, G2/G3 arcs, tool changes, spindle commands and coordinates. Nothing in it describes a shape a viewer can open, which is why double-clicking an .nc gives you a text editor rather than a picture. 3MF is the opposite kind of file: a zipped container of triangle geometry that PrusaSlicer, Bambu Studio, Cura, Windows 3D Viewer and Blender all read.
The conversion runs on our servers. Because a CNC program contains no E extrusion word, the parser switches to CNC mode: G0 rapids are skipped, while G1, G2 and G3 moves are traced, including the plunge from clearance height down into the first cut. One caveat: modal motion is not tracked, so a coordinate-only block that follows a G0 rapid is drawn as if it were a cut, which can add path segments that your machine never cuts. The sampled points are marked in a voxel grid, and marching cubes wraps a closed surface around them at a fixed 0.2 mm radius. trimesh then writes that single mesh into a 3MF with its unit attribute set to millimeter.
Be clear about what the result represents: a thin tube along the tool center line, not the machined part and not the stock with material taken away. Arcs contribute only their end point, which turns a quadrant into a chord and makes a full circle vanish. Canned drilling cycles (G81 to G89), cutter compensation G41/G42, work offsets G53 to G59, tool changes, rotary A/B/C axes, feed rates, spindle speed and laser power are all ignored. Voxel size is max(0.3 mm, longest side divided by 250), so a large router job comes out coarse and positions are quantized to that grid.
This is worth doing when you want to eyeball a posted program in a 3D viewer, show a colleague where a path runs without handing over your CAM project, or check roughly where a program travels before you cut air. If your .nc is actually a DSTV steel-detailing file, use our NC to DXF converter instead, which draws real contours, holes and markings on layers.
How to Convert NC to 3MF
- Open the file in a text editor and confirm what you have. Lines of G0/G1/G2/G3 with X, Y and Z words are a G-code program and belong here. A first meaningful line of ST means a DSTV steel file, which this page cannot read properly, as explained in the DSTV question below.
- Check that the cutting moves really are G1, G2 or G3. A program made up only of rapid positioning has nothing to trace, and the job will fail with a no-movement error.
- Check the extension. We accept .nc and its alias .cnc. Controller-specific extensions such as .tap, .ngc, .ncc, .mpf and .eia are not recognized; rename a copy to .nc before uploading.
- Upload the file on this page. It travels over HTTPS and is converted on our servers, not on your machine. Guests can send files up to 50 MB, a free account 100 MB, Plus 200 MB and Pro 1 GB, with 10 files per request on the free tiers.
- Wait for the job to finish. Each engine step is cut off after 10 minutes; short CNC programs stay comfortably inside that, and only a very long program with hundreds of thousands of blocks approaches the limit.
- Download the 3MF within about 4 hours of completion, then open it in a slicer or 3D viewer.
What the Converter Does With an NC Program
- Detects CNC mode automatically when the program has no extruder word, so rapids are skipped and cutting motion and plunges are drawn.
- Follows positioning state: G90 and G91 absolute and incremental modes and G92 position resets are tracked while the path is built.
- Writes a single-object 3MF with the unit declared as millimeter, which opens directly in PrusaSlicer, Bambu Studio, Cura and Windows 3D Viewer.
- Keeps the coordinates exactly as the post-processor wrote them: no re-centering, no axis swap and no rescaling.
- Builds a closed surface with corrected normals rather than loose line segments, so the result loads in mesh tools that reject open geometry.
- Rejects empty output: if nothing could be traced, the job reports an error instead of delivering an empty 3MF.
Video Tutorial
Need to convert NC to 3MF? This quick tutorial shows you how to do it completely free! 🔗 Try it now: https://miconvert.com/en/nc-to-3mf?utm_source=youtube&utm_medium=social&utm_campaign=nc-to-3mf W
NC to 3MF: Common Questions
Will the 3MF show the part my machine cuts?
No. The mesh follows the tool center line, with a fixed 0.2 mm radius around it. The converter is never told the cutter diameter, the stock size or the depth of cut, so it cannot show the machined part or the material removed. Treat the output as a 3D picture of where the tool goes, not a model of the finished workpiece.
Can I 3D print the result?
A slicer will accept the file because it is a closed mesh, but what you would print is a thin skeleton of the toolpath, not the component. To print the component, go back to the CAD model the CAM program was generated from and export an STL or 3MF from there.
My .nc is a DSTV / NC1 steel file. What happens if I convert it here?
This page sends it to the G-code parser, which does not understand ST headers or AK and BO blocks, and you get a tiny meaningless mesh reported as a successful conversion. Use our NC to DXF page instead: DSTV content is routed to a dedicated reader there, producing a 2D drawing with contours, holes, slots and marking text on separate layers.
Circular pockets and bores are missing from the mesh. Why?
G2 and G3 arcs are read for their end point only; the I, J and R center and radius words are not interpreted. A quarter-circle becomes a straight chord between its ends, and a full circle, where the start point equals the end point, leaves no movement at all and disappears. If it matters, re-post the program with arcs linearized into short G1 segments.
Does the 3MF carry colors, materials, plates or print settings?
No. It contains one mesh and nothing else: no color, no material assignment, no plate layout, no metadata and no per-operation separation. Every operation and tool in the program is merged into a single object. It is a geometry container, not a sliced project file.
My program is in inches. Does the converter scale it?
It does not. G20 and G21 are ignored, so inch numbers pass through unchanged while the 3MF still declares millimeter as its unit, which makes the object look 25.4 times too small in a slicer. Scale it up by 25.4 after import, or post the program in metric.
The conversion failed with "No movement/extrusion commands found in G-Code file". What should I check?
The parser found nothing drawable. Common reasons: the program only positions with G0 rapids, the file is not really G-code, or it contains an E word somewhere outside a comment, which switches the parser into extrusion mode and discards the CNC moves. Upload the posted program as your CAM software saved it and confirm the cuts use G1, G2 or G3.
How long do you keep my NC program and the converted file?
Your uploaded .nc is deleted as soon as the job's last attempt finishes, whether it succeeded or failed. The converted 3MF is downloadable through a random token link for about 4 hours and is then deleted by an automatic sweep. Uploads and downloads run over HTTPS. We do keep operational logs of file names, sizes, formats and outcomes, and signed-in accounts keep a conversion history entry.