G-code Previewer & Layer Inspector
Drop a G-code file and scrub through it layer by layer. Moves are color-coded by type - outline, fill, and support - so you can spot problems before you print. Print time and filament estimates are read straight from the file. Nothing uploaded.
Drop your G-code file here
or
.gcode .gc .g .gco accepted - parsed locally, nothing uploaded
Learn more: reading G-code before it hits the printer
Where G-code comes from
G-code was not invented for 3D printing. Wikipedia's entry on G-code says the first numerical control programming language was developed at the MIT Servomechanisms Laboratory in the 1950s. The first standardized version used in the United States, RS-274, was published in 1963, and a final revision, RS-274-D, was approved in 1979.
How the previewer rebuilds layers and moves
A G-code file has no top-level concept of layers. The previewer starts a new layer at the first extruding move at a new Z height, then groups every move at that height into that layer. A nozzle lift during travel, called a Z hop, does not start a new layer, because only extruding moves count.
It tells extrusion from travel by the E value, the amount of filament fed. A move where E increases is extrusion, and a move where E stays the same, falls or is missing is travel. This works with absolute and relative E (M82 and M83). Arcs (G2 and G3) are not drawn.
Feature colors and print stats
Feature colors come from slicer comments such as ;TYPE:WALL-OUTER in Cura or ;TYPE:Outer wall in Bambu Studio. The previewer ignores case and treats spaces, underscores and hyphens alike, then groups the names into perimeters, infill, support and other. A file with no such comments still previews the geometry, just in a single color.
Print time and filament length are read from the slicer's header comments, such as Cura's ;TIME: line or the "estimated printing time" comment. If a slicer does not write one the parser recognizes, that stat is left blank, not guessed.
FAQ
Why is the print time sometimes missing?
The time comes from the slicer's comment header, not from the moves. If the comment is missing or in a format the parser does not recognize, the previewer leaves it blank.
Does this tool send my file anywhere?
No. Parsing and drawing happen in your browser and the G-code never leaves your computer.
Can previewing catch mistakes before I print?
Yes, that is the main use. Stepping through the toolpath layer by layer can show missing supports under an overhang or a travel path that crosses the model before you spend filament and time on the print.