G-code Viewer
Open a G-code file and inspect its statistics — layers, tools, movement counts, bounds and time estimates — directly in your browser.
Your G-code file stays on this device. MeshWrench reads and renders it locally in your browser — it never connects to a printer.
Up to 400 MB. Targets common FDM slicer output (Marlin/Klipper-style) 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.
How to view a G-code file
- Select a G-code file using the picker above.
- MeshWrench parses it locally, in a background worker — nothing leaves your device.
- Once parsing finishes, drag to rotate, scroll to zoom, and use the panels below to inspect statistics, filter by layer, or play back the toolpath.
What this tool is — and isn't
This is a static viewer, visualizer and visual simulator for a G-code file that already exists. It is never a slicer, never a firmware emulator, and never a machine controller — it doesn't use WebSerial, doesn't connect to any printer, and never executes a single command. Playback is a visual reconstruction of the parsed toolpath, not a claim that it exactly reproduces physical printer motion.
Supported G-code scope
MeshWrench targets a documented semantic subset of G-code aimed at common FDM slicer output for Marlin- and Klipper-style printers, including typical patterns from Cura, PrusaSlicer, OrcaSlicer and Bambu Studio. This is not universal G-code support — unknown or unsupported commands are counted and disclosed, and parsing continues around them rather than failing the whole file.
What the model info panel shows
File size, decoded line count, detected slicer (when a file declares one), layer count and detection method (explicit markers vs. inferred from height changes), tool count, linear and arc move counts, rendered segment count, unknown-command and malformed-line counts, checksum status, and the model's own bounds.
Time estimates, kept honest
When a file declares its own slicer-estimated print time, that number is shown separately from MeshWrench's own feed-rate-only estimate — path distance divided by commanded feed rate. The feed-rate-only estimate never models acceleration, jerk, pressure advance, or firmware queues, so it's never presented as actual print time.
Is the file uploaded?
No. There is no server-side file-processing route in MeshWrench at all. Your browser reads the file with the standard File API, hands its bytes to a Web Worker running on your device, and renders the result with WebGL — also on your device.
Frequently asked questions
Is my G-code file uploaded?
No. It's read and parsed entirely in your browser, inside a background Web Worker. Nothing is sent to a server — check your browser's network tab while a file loads to confirm this yourself.
Does this connect to my printer?
No, never. This tool never uses WebSerial, never connects to any device, and never executes a G-code command. It only reads a file and draws what it describes.
Which slicers are supported?
A documented subset of common FDM output aimed at Marlin- and Klipper-style printers, covering typical output patterns from Cura, PrusaSlicer, OrcaSlicer and Bambu Studio. Unknown or unsupported commands are counted and disclosed, never silently ignored or faked.
Is the time estimate accurate?
The feed-rate-only estimate divides path distance by commanded feed rate. It never models acceleration, jerk, pressure advance or firmware queues, so it's never the same as your slicer's own estimate or actual print time — both are always shown as separate, clearly labelled numbers when available.
Can this convert an STL to G-code?
No. Slicing is outside this tool's scope — this is a viewer for G-code that already exists, not a slicer.
Explore free tools