G-code viewer
Open a .tap, .nc, .gcode or .cnc file directly in your browser. It highlights G/M-codes and axes, and lets you save the result as .txt — the old rename trick, done properly.
Reading a G-code program the way the machine does
A CNC program is a list of one-line instructions, and once you know the letter families it stops looking like noise. G-words describe motion: G0 is a rapid move with the tool clear of the work, G1 is a straight cut at feed rate, G2 and G3 are clockwise and anticlockwise arcs, and G90/G91 decide whether coordinates are absolute positions or steps from the last one. M-words switch machinery: M3 starts the spindle, M5 stops it, M6 calls a tool change, M8 turns the coolant on and M30 ends the program. The letters in between carry the numbers — X, Y and Z are positions, F is the feed rate, S the spindle speed, T the tool number, and N is just a line label. That is exactly what the colour highlighting separates, so your eye can follow the motion lines and spot the machine commands in a file thousands of lines long. Anything in round brackets, or after a semicolon, is a comment the controller ignores — often the most useful part for a human, because that is where the programmer left notes.
One language, many dialects
Every controller speaks G-code, but not quite the same G-code. Fanuc-style is the common ancestor that most industrial machines and CAM posts descend from; GRBL runs the hobby router and laser world with a leaner subset; LinuxCNC has its own extensions; 3D printers speak Marlin, where the familiar letters do printer things like heating; and Heidenhain machines often use a conversational format that barely resembles any of them. The skeleton — G-words, M-words, axis letters — is shared, but canned cycles, tool-change routines and the start-and-end blocks differ enough that a program written for one controller rarely runs unmodified on another. A viewer that simply shows you the text, honestly, is more useful here than one that pretends to simulate it: you can read any dialect, compare two files side by side, and see precisely what the post-processor produced.
Why the rename-to-.txt trick keeps biting people
The classic workaround for an unopenable .tap or .nc file is renaming it to .txt — and it causes more small disasters than it solves. Windows hides file extensions by default, so the rename quietly produces myprogram.tap.txt and now neither the machine software nor you can find the right file. DNC and transfer software often looks for an exact filename, which the rename just broke. And once the file is open in a text editor, one accidental keystroke followed by a reflexive save puts a typo into a program a machine will later execute. This viewer sidesteps all of it: the file is opened as-is, nothing is renamed, and the Save as .txt button writes a separate copy while your original stays untouched.
A read-only look before cycle start is cheap insurance
Reading a program before running it catches the mistakes that cost tools and workpieces. Scan the first lines for the setup story: are the units what you expect (G21 for millimetres, G20 for inches), is there a G90 so the coordinates mean what you think, and which work offset (G54 and friends) does it assume? Check that the T numbers match what is actually loaded, and glance at the S values — a spindle speed that is plausible for aluminium can be wildly wrong for stainless. Because this viewer never modifies the file, you can do all of that with zero risk of changing a single character. And if a spindle speed looks suspicious, sanity-check it against the maths: our free drilling calculator (/drilling-rpm-calculator) and milling calculator (/milling-rpm-calculator) work out sensible RPM and feed values from the cutter diameter and material in a few seconds.
Why a .tap file is just text
A .tap, .nc or .cnc file is plain text — it does not need converting, it just carries an extension your computer refuses to open. This tool opens it directly and adds colour, so G-words, M-words and the X/Y/Z axes stand out at a glance. Nothing is uploaded; the file is read in your browser.
Is my file uploaded anywhere?
No. Everything happens in your browser. Nothing is sent to a server.
Which extensions work?
.tap, .nc, .gcode, .cnc, .ngc, .txt — and really any plain-text file.
