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.
Processed locally — nothing was uploaded.
- 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
None — this file processed cleanly within every safety limit.
Three layer views
- Single layer — shows exactly one layer's own toolpath in isolation.
- Cumulative — shows every layer from the first up to the selected one, the way a print builds up.
- All layers — the complete model at once.
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.
Explore free tools