NC-Corrector. Freeware G-Code editor

Simple G-code editor, backplotter for CNC machines.

Supports CNC Milling, Lathe, WireEDM machines. Supports basic G and M functions, drilling cycles, subroutines. Automatically detects 5 types of arcs. Export to DXF, APT format. Displays information about the program in the tree. (Machine time, trajectory length, MAX MIN trajectory points, number of segments, arcs, etc.) Hint on G, M codes when hovering the mouse. Shows trajectory points, arc centers, technological stops. Displays the equidistant correction. Frame-by-frame navigation with current program parameters displayed in the status bar. Information about an element when you click on it in the graphics window. Powerful measurement engine and much more.


Multiple overplot

Rendering up to 100 nc-programs simultaneously, with the ability to switch, edit, use all tools, measure.

Working with large files

G-code files can be virtually unlimited in size. The file size is limited only by the hardware resources of your computer.

Fast graphics

Dynamic rotation, scaling. Dynamic highlighting of the element under the cursor. Hardware graphics acceleration on OpenGL.


Small size and quick launch of the program.
Windows 95, 98, Me, 2000, XP, 7, 8, 10 compatible.

Fast loading, parsing, rendering of G-code files.

Synchronization of text and graphics windows.

Powerful measurement tool, with dimensions displayed in the graphic window and in the protocol.

A set of standard tools. Working with line numbers, feeds, spaces, comments, etc.



Milling, turning, WireEDM machines. Flexible program settings and machine parameters.

Advanced navigation. Scroll in any direction. Animation with conditional stop.

Customizable user interface. The changes are saved. Reset to original settings.

A tree with the ability to manage downloaded files and display basic information about the G-code file.

Export to DXF and APT format.

What's new

18.06.2024 Added Chinese translation. Thanks to 举个栗子.

13.04.2024 Some bugfixes. One of them, related to the calculation of machining time, is 18 years old... Thanks to Sergey Belov.

07.02.2024 Added current tool number to status bar. When you click on the X, Y, Z, S, F, T field in the status bar, the line in the G-Code where this value was set is highlighted.

28.12.2023 Added setting U\V relative moves (Incremental) for WIreEDM machines. (Mitsubishi WireEDM). Thanks to Sinan.

16.12.2023 Added the ability to work with modal IJK (Machine settings). Fixed display of equidistant correction (G41, G42) when rapid movement (G0) appears. Thanks to Mark Hughes.

22.11.2023 Added translation into Hungarian. Thanks to Péter Solti.

11.11.2023 BugFix. For some unknown reason, the script for creating the installation file became corrupted. Records about the external controls used disappeared from it. Thank you Korobka Valentin.

06.11.2023 Added support for three newline char types. Now works correctly with CfLr, Cr, Lf.

27.10.2023 Italian translation updated. Thanks to Tonino Terenzi.

20.10.2023 Added trajectory display modes. You can select from which event to display the trajectory (tool change, rapid movement, etc.) You can select events at which drawing will pause.

19.10.2023 Added the ability to adjust line thickness. The default value is = 2.

18.10.2023 German localization has been updated. Thanks André Hurler

14.10.2023 Added processing G96(Constant cutting speed), G97(Constant spindle speed), G50(Limitation of maximum spindle speed) for lathes. Thanks CADTEC GmbH

13.10.2023 Added display cathets lengths and alpha/beta angles when selecting an oblique movement. For lathes. Thanks to CADTEC GmbH.

27.09.2023 Added the "Simple Math Functions" tool, allowing you to perform +-*/ operations on selected addresses.

26.09.2023 Added the ability to automatically detect a machine by file extension.

07.08.2023 Added an item to the machine settings "Hide the first rapid moves". This disables the rendering of the first undefined rapid moves.

04.08.2023 Added the ability to customize mouse button actions. Thanks Matthias Armstroff.

24.07.2023 Added "Insert file/Append file" tools. If there is a need to recalculate or save the file, then the corresponding icon changes color to red. A some bugfix.

16.07.2023 The speed of the "Renumbering", "Insert/Remove Spaces", "Big/Small Letters" tools has been increased by 8 times.

04.07.2023 Added work with serial port. The transfer of the current file to the machine via the COM port has been implemented. I don't have anything to test on, so reports on how it works/doesn't work are welcome.

02.07.2023 Fixed settings loading error that appeared when installing a new version of NC-Corrector over the old one.

08.10.2022 Added tools: "Add/Remove block skip chars", "Add/Remove comment chars", "Remove comments", "Remove blank lines".

01.10.2022 Added "Recalc" button. Added the ability to disable auto-recalculation in the settings. Added menu item "Insert ASCII character".

26.09.2022 Added highlighting in the graphic canvas, selected lines of the G-code. Added menu items "Select level", "Select area", "Select tool".

24.09.2022 Hex editor added.

22.09.2022 Improved measurement algorithm. The interface has been changed (drop-down additional graphical views).

09.09.2022 New, more powerful algorithm for auto-detection of arc encoding type. New setup defaults (show points, show arc centers, show rapid moves, show equidistant correction, show technological stops, show bounding box).

06.09.2022 Interface improvements. The graphics and text window is hidden until a G-code is loaded or created. It's more logical that way.

28.08.2022 Added three options for highlighting the G-code. By movement type (G0 G1 G2G3), by tool number, by keywords.

06.08.2022 As a result of serious optimization of some functions, the speed of the parser has been more than doubled.

24.07.2022 Added display of technological stops in the graphical view. Added a double click in the graphic canvas, switching the main graphic views. Slightly accelerated G-code parser.

07.07.2022 Added new items to settings. "Mouse wheel reverse", "Rotation around screen center", "Auto play speed".

09.06.2022 New tool "Add sinumerik path".

06.06.2022 Fixed a bug with font charset when choosing a localization language. Improved Italian translation. Thanks to Tonino.

05.06.2022 Added support for lathes. So far, no specific cycles. Improved measurement mechanism. Measurements are now made in the current graphical view. Also many bugs have been fixed.

26.05.2022 Now, when simulating frame by frame, the current frame is held in the middle of the text field.

24.05.2022 NC-Corrector has many new features. Request to translators to translate new, untranslated phrases into their languages. Folder NC Corrector v4.0/Language/. New, untranslated phrases are found at the beginning of the language files.

24.05.2022 Fixed a bug with the calculation of the length and time of the spiral movement. Fixed bug with arcs in ZX plane (G18).

19.05.2022 Improved measurement tool. Now when measuring line-to-point and line-to-line, the dimension is displayed graphically.

02.05.2022 Added "Technological Calculator".

27.04.2022 New tool "Feedrate correction". New editor menu "Jump to".

20.04.2022 New tool "Add Angle for Tangential Knife Cutting". Small fixes and improvements.

16.07.2019 Added the Portuguese language. Thanks Atila Paixão.

03.01.2019 Improved export to DXF. Added the ability to export polylines. Thanks Mikhail Glotov.

03.07.2017 Added the French language. Thanks AdNovea.

18.04.2017 Added the Czech language. Thanks Martin Tabačan. In the language file, the codepage setting is added. This allows the use of national symbols.

31.03.2017 Added support for coordinate systems (G53, G54, G55, G56, G57, G58, G59). Added 4 speeds automatic program playback.

02.02.2017 Added Spanish language. Thanks Mario Alberto Delgado Badilla.

13.01.2017 Added control Anilam. Added settings discreteness words XYZIJKRQUV (each separately) with the possibility of reversal. (For those who have confused the sign). Added highlighting in the graphical window element on which the cursor is in a text field.

03.01.2017 Added Italian language. Thank Pietro Porcino.

22.12.2016 Added arrow indicating the direction of movement in the animation and dynamic highlighting. Added the context menu on the graphic element (Animation with this line). When editing, after recalc the graphics cursor in the text retains the position. (Previously jumped at the end of the program)

11.11.2016 Added support for parameter "L" (number of repetitions) in subroutines. Added support for M21, M22, M23 (M87, M88, M89) - Mirroring. In the settings of the machine, add symbols comments and skip.

07.11.2016 Added auto-detection machine, the keywords specified in the machine settings.

28.10.2016 The display of the trajectories of different instruments, different color. (Just not in over mode). Implemented control changes to the text, with the display in the window title, and be prompted to save the modified program's at the exit.

19.10.2016 Added AgieCut 100/200/300. Supports 4-axis. (Someone can display this G-code?). Added support programs, the format word X 0.000 Y 0.000 (ie, with gaps between the address and value). Implemented functional buttons to add / remove the machine, in the machine settings.

12.02.2016 Small bugfix rendering WireEDM.

01.10.2015 Added buttons Play and Pause.

24.03.2015 Fixed bug with complete arcs when exporting to DXF (Thank Welder).

11.03.2015 Fixed bug with arcs Heidenhain. Fixed saving settings font editor (Thanks s_liam).

18.12.2014 Added Processing G92. Fixed bug with installation on Chinese Windows.

10.09.2014 Added grouping in collapsible blocks in the text box. Now there is grouped correction, drilling cycles. Improved (I think) displaying 4-axis programs.

29.04.2014 Added multilingual support. Wishing to begin translating NC-Corrector, you are welcome.

01.04.2014 Added in setting "default projection." Added in machine setup, method of specifying UV for 4 \ 5 axis and height for WireEDM. Fixed small bug with G83 (Thanks to Vladimir for the bug report.)

06.12.2013 Request. Please send me an email who REALLY use this program. Preferably with an indication of the city and the company. My mail

13.11.2013 Partly made measurements. Measures the distances and angles between points, lines, arcs, centers and combinations. Graphically displays while-that only the size between points, the rest is displayed in the protocol.

15.03.2013 Added support for WireEDM machines Robofil. 4 axis.

14.02.2013 I have added basic support for Heidenhain systems, it now recognizes both linear and arc movements. It also supports Q-variables. Cycles are not supported yet.

05.02.2013 Fixed bug a crash when loading G-code and syntax highlighting ON

23.01.2013 I have implemented a functional display showing information about the management program. You can now export this information to microsoft word, using editable custom templates. I use this function myself to create a map adjustment.

09.28.2012 Fixed a bug with the definition of the arcs in a situation where the program uses two methods of arcs same time (IJ and R). Thank you, Andrei Vermel for example of the G-code

27.12.2011 Implemented a so-called "Map letters". Figuratively speaking this change of words from a template (for a G-code parser, ie the real G-code is not changed.) What is the meaning of this feature. Suppose you have an arc is defined as a SINUMERIK CR = radius. Writing in the settings of CR =-> R. Or suppose you have beguiled IJ. Writing I-> O; J-> I; O-> J

22.02.2011 Fixed some bugs with the arcs resulting from refactoring.

18.02.2011 Made the ability to disable the Splash Screen at startup..

16.02.2011 Produced a significant refactoring of geometric pieces of source code. On may appear in connection with the glitches, please.

11.02.2011 Added in status indication of the state of coolant. I work on the exportation of APT-CL format.

10.02.2011 Need help with English. If there are people who want to help the project and who speak English, please write Need help with the English version of this site.

04.02.2011 Made adding / removing spaces between words.

03.02.2011 Next update. If you want to be good, do it yourself ... Remade processing mouse wheel, and now it really works.

02.02.2011 Made map of Bounding Box and maximum / minimum coordinates directly in the graphics window.

25.01.2011 Small update. Added support for the arches in the form CR = Radius (SINUMERIK)

28.12.2010 Realized functionality for all menus "Edit" and duplicate this context menu for the text field. Made renumbering. Settings renumbering in Setup / Machine / BlockNumbers for each machine their own.

16.11.2010 Find and corrected the error with the update graphics, if uploaded several programs.

15.11.2010 Made update Graphics and information, a change in the program. Recalculation occurs when the loss of focus text field.

11.11.2010 Find and corrected a few critical errors in the algorithm for drawing an equidistant correction, leading to the Runtime Error. Added few checks ...

10.11.2010 Made equidistant map correction. The correction is given in the parameters of the instrument (the tree). By default, the correction is equal to 1 mm.

09.11.2010 For debugging and filling example, there is a need in your programs for CNC machines. Send a request to

28.10.2010 Realized export to DXF. Transmission line, arc (G17, G18, G19). Does not transmit a spiral.

26.10.2010 For old friends made decoding feeds in the N33 code.

20.10.2010 Fixed a nasty bug with sinking in the process of downloading the G-code.

19.10.2010 Concluded information about the item, clicking on it with the mouse in the graphics window. You can click on a linear displacement, arcs, points, centers of arcs. During this reaction the desired frame in the text box.

15.10.2010 Did a search extremes arc right now enters through the window of the program with any arcs. Accelerated step by step drawing program.

12.10.2010 Made dynamic illumination element pointer. It is needed for measurement tool, which is not yet, but will ...

10.10.2010 There is a need for the icon for the program. If there is a person who draws it, he will be grateful to all users of this free software..

22.07.2010 Made commands"Save", "Save as..."

01.06.2010 + Subroutines M98 M99 Pxxx Oxxx

21.05.2010 +G81 G82 G83 G73 G85 cycles of the processing G98 G99

17.05.2010 Entered significant changes to the system of information storage, because the line number in the array does not necessarily coincide with the line number in the program.

13.05.2010 Made hint for functions, when the mouse cursor in the text. (information taken from Wikipedia)

12.05.2010 Modified the output of information in statusbar.

04.05.2010 Made an animation of the current frame. apparently coined know-how. At least no one has the animation I've ever seen.

30.04.2010 Made navigation. By frame operation, the output of the frame, fast rewind.

22.04.2010 Make a tree.

19.04.2010 Made of multi-mode loading programs. (Overlap)

18.04.2010 Finally made a competent, economical, logical and easily expandable storage of information in memory.

14.04.2010 Accelerated algorithms for load calculation and rendering. Productivity has increased every 5

29.03.2010 Made anti-aliasing image. Very nice.

29.03.2010 Made full processing of the arcs. G17 G18 G19.

26.03.2010 Invented the process of automatic determination of type arc.

25.03.2010 Made universal loading unloading parameters in the INI files.

17.03.2010 Work continued.

19.08.2009 For two months working on this project is not.

24.04.2009 Almost completed development of interface.

13.04.2009 Begin work on NC-Corrector v4

Download NC-Corrector v4.0

Download distribution package, latest build of the program.



NC-Corrector is a freeware program.

If you like the NC-Corrector, and you want to help, can do it with Paypal

Paypal for donate


Contact Us

Slava Strunov

Kharkiv city, Ukraine