100% local processing — your files never leave your computer

G-code Layer Viewer

Inspect a G-code file layer by layer — step through a single layer, build up a cumulative view, or see the full model — directly in your browser.

Your G-code file stays on this device. MeshWrench reads and renders it locally in your browser.

Up to 400 MB. Targets common FDM slicer output from Cura, PrusaSlicer, OrcaSlicer and Bambu Studio.

Waiting for a file

Interactive, layer-filtered toolpath preview. Drag to rotate, scroll to zoom.

Show

File size
Decoded lines
Detected slicer
Layers
Layer detection
Tools
Linear moves
Arc moves
Rendered segments
Unknown commands
Malformed lines
Checksums
Model width
Model depth
Model height
Current command
Position (X/Y/Z)
Extrusion (E)
Feed rate
Elapsed (feed-rate-only estimate)

Movement

Extrusion moves
Travel moves
Retracts
Extrusion distance
Travel distance
Total Z travel
Feed rate range

Time estimates

Slicer-provided estimate
Feed-rate-only estimate

The feed-rate-only estimate divides path distance by commanded feed rate — it never models acceleration, jerk, pressure advance or firmware queues, and is never the same as actual print time.

Tools and temperatures

Tools used
Bed temperature setpoints
Fan state changes

Things to know about this file

    Three layer views

    How layer detection works

    MeshWrench prefers a file's own explicit layer markers when present — Cura's ;LAYER:n, PrusaSlicer/OrcaSlicer's ;LAYER_CHANGE (with its own following ;Z:/;HEIGHT: comments), and Bambu Studio's ;CHANGE_LAYER. When a file declares none of these, layers are inferred from extrusion height changes: a Z-hop (lift, travel, return to the same height) never creates a false layer, small floating-point Z noise is tolerated, and variable layer heights are supported. When Z changes almost continuously on nearly every extrusion move — consistent with spiral/vase printing — MeshWrench recognizes this as non-planar and doesn't claim conventional discrete layers for it.

    What this isn't

    This is a viewer for a G-code file that already exists — never a slicer, never a firmware emulator, never a printer connection.

    Frequently asked questions

    How are layers detected?

    MeshWrench prefers a file's own explicit layer markers (Cura's ;LAYER:n, PrusaSlicer/OrcaSlicer's ;LAYER_CHANGE, Bambu Studio's ;CHANGE_LAYER). When none are present, layers are inferred from extrusion height changes — a Z-hop never creates a false layer, and small floating-point Z noise is tolerated.

    What if the file uses spiral/vase mode?

    When Z rises continuously on nearly every extrusion move (consistent with spiral/vase printing), MeshWrench recognizes this as non-planar and doesn't claim conventional discrete layers for it, rather than guessing at a layer count that wouldn't be meaningful.

    Is my file uploaded?

    No. Everything happens locally in your browser, in a background Web Worker.