Free · runs in your browser · files stay on your device

G-code Viewer

Drop a .gcode file from your slicer to see every toolpath in 3D. Step through it layer by layer, colour the moves by type, speed, line width or extruder, and play the print. You also get the print time, filament length and weight, size and temperatures. The file stays on your device.

Loading the G-code viewer...

How to view G-code online

  1. 1

    Export the G-code

    Slice your model in Cura, PrusaSlicer, OrcaSlicer, Bambu Studio or any slicer and save the .gcode file (or the sliced .gcode.3mf).

  2. 2

    Drop it in the viewer

    Drag the file onto the viewer or press Choose file. It is read in your browser, in the background, so even big files keep the page responsive.

  3. 3

    Scrub the layers

    Move the layer slider to see one layer and everything under it, or press Play to watch the print build up move by move.

  4. 4

    Check before you print

    Look for gaps, missing supports or odd travel, read the time and filament numbers, and save a PNG to share.

What the colours mean

With Colour by set to Move type, each line is coloured by the part of the print the slicer says it is. Untick a type in the legend to hide it.

Outer wallThe visible outside surface of the part (external perimeter).
Inner wallThe walls inside the outer one (perimeters).
InfillThe sparse pattern that fills the inside.
Top / bottomSolid layers that close the top and bottom (skin, solid infill, ironing).
BridgeLines printed in the air between two supports.
SupportSupport material and support interface.
Skirt / brimThe loop around the part, or the brim that holds it to the bed.
Prime / wipe towerThe tower a multi-colour printer uses to clean the nozzle after a filament change.
TravelMoves with no filament (off by default; turn on "Travel moves").

Where the numbers come from

Everything is read from the G-code itself, in your browser.

Print timeThe slicer's own estimate when the file has one (Cura ";TIME:", PrusaSlicer, OrcaSlicer and Bambu Studio comments). Otherwise our estimate from the feed rates, without acceleration, so a real print usually takes longer.
FilamentLength pushed by the extruder (all E moves added up), and the weight from the filament diameter and density, which you can change.
LayersCounted from the heights of the printed moves; the layer height is the most common step.
SizeThe bounding box of the part, skirt and start lines left out.
TemperaturesNozzle and bed temperatures set in the file (M104/M109, M140/M190).
ToolsEach extruder (T0, T1...) and its filament, for multi-material and tool-changer prints.

Have a photo or idea instead? Make a printable model with AI

Turn a photo or a sentence into a 3D model with an STL download, ready to slice. The AI generators use credits; this viewer does not.

More free 3D printing tools

G-code viewer FAQ

Drag the .gcode file onto the viewer at the top of this page, or press Choose file. The toolpaths appear in 3D after a few seconds. Use the layer slider to see one layer at a time and Play to animate the print. No signup and no install.
Any plain-text G-code for FDM printers: Cura, PrusaSlicer, OrcaSlicer, Bambu Studio, SuperSlicer, Simplify3D, ideaMaker and others, for Marlin, Klipper and RepRap firmware. It opens .gcode, .gco, .g and the sliced .gcode.3mf. Binary .bgcode files are not supported yet: turn off binary G-code in PrusaSlicer and export again.
No. The file is read and drawn in your own browser and never sent to our servers. You can disconnect from the internet after the page loads and it still works.
When the slicer wrote its estimate into the file, that is the number shown. Otherwise the viewer adds up every move at its feed rate. That estimate ignores acceleration, so real prints usually take longer, most of all small, detailed parts with many short moves.
Filament length times its cross-section gives the volume, and volume times density gives the weight. The default is 1.75 mm PLA at 1.24 g/cm3. Change the diameter or density for PETG (about 1.27), ABS (about 1.04) or other materials.
Move types come from comments the slicer writes, such as ;TYPE:. Start and end G-code has none, so it shows as Other. A file from a slicer that writes no type comments shows everything in one colour: switch to Speed or Line width colours instead.
Yes, up to 150 MB. The file is read in pieces in a background thread so the page does not freeze. Big prints with millions of moves need a lot of memory, so on a phone keep files under about 50 MB.
Yes. Turn on Travel moves to draw the non-printing moves, and use the Moves slider or Play to step the nozzle through the current layer. Only this layer hides the layers below so you can check one layer on its own.

Cura, PrusaSlicer, SuperSlicer, OrcaSlicer, Bambu Studio, Simplify3D, ideaMaker, KISSlicer, Slic3r and Prusa are named only to describe file compatibility; The3DAI is not affiliated with or endorsed by them.