Convert G-code to OBJ

Free, in your browser, with nothing uploaded. Drop your .gcode file in and take the .obj away.

Drop your G-code file here

.gcode in, .obj out

Choose files

Nothing is uploaded No account, no email No file size limit

How to convert G-code to OBJ

  1. 01

    Add your .gcode file

    Drag your G-code Toolpath file onto the drop zone, or click it to browse. Nothing is uploaded: it is read where it already sits.

  2. 02

    Check the preview

    The model is parsed on your machine and drawn in the viewport, so a wrong axis or a missing texture shows up before you commit rather than downstream.

  3. 03

    Save the .obj file

    Press convert. The Wavefront OBJ file is written in the tab and lands in your downloads folder. No link, no expiry, no account.

What carries over, and what does not

A format conversion is a translation, and translations lose things. Here is what actually happens when a G-code file becomes an OBJ file.

DataG-codeOBJSurvives
GeometryNoYesn/a
Materials & colourNoYesn/a
Texture mapsNoYesn/a
Animation & rigsNoNon/a
Scene hierarchyNoYesn/a

This is a comparatively lossless pairing: 0 of the five categories above are supported by both formats, so most of what is in your G-code file has somewhere to go in the OBJ file.

What our OBJ writer puts in the file

Geometry and texture coordinates, with a usemtl line naming the material on each mesh. No .mtl file is written to define those names, which is a limit of three’s OBJ exporter rather than of the format, so colours and texture images do not survive the trip. Convert to GLB or FBX if the materials matter.

About G-code Toolpath

G-code is not a 3D model; it is the list of movement commands a slicer produced for one specific printer, bed and filament. Reading it back gives you the toolpath: the extrusion moves the nozzle will travel, layer by layer, as polylines. That is genuinely useful for inspecting or visualising a print, but it cannot recover the original solid, because the slicer threw that away.

Commonly seen in: Cura, PrusaSlicer, Bambu Studio, Marlin, Klipper, OctoPrint. More on the G-code format page.

About Wavefront OBJ

OBJ is the closest thing 3D has to a lingua franca. It is a plain-text list of vertices, texture coordinates, normals and faces, first shipped by Wavefront Technologies in the 1980s and still readable by essentially every 3D application written since. Materials live in a separate .mtl sidecar file, which is why an OBJ often arrives untextured: the .mtl and the image files got left behind. OBJ stores no animation, no rig and no scene hierarchy beyond object and group names.

Commonly seen in: Blender, Maya, Cinema 4D, 3ds Max, ZBrush, MeshLab. More on the OBJ format page.

How the conversion works

When you drop a file in, the bytes are handed to a parser compiled to run in your browser. The G-code data is decoded into an in-memory scene graph of meshes, materials and transforms, which is what the preview is drawing. Pressing convert walks that scene graph back out through a OBJ writer and hands you the resulting bytes as a download.

The whole round trip is local. The page itself is static: it is delivered once and then does its work offline. That is why the privacy claim is checkable rather than a promise.

G-code to OBJ: common questions

Is my G-code file uploaded anywhere?

No. The file is read by code running inside this browser tab and never crosses the network. You can prove it by disconnecting from the internet before you convert, the page keeps working, or by watching the Network tab in your browser's developer tools while you drop a file in.

How large a G-code file can I convert?

There is no server-side limit because there is no server. The practical ceiling is your own machine's memory: a browser tab can usually handle models up to a few hundred megabytes. Very dense scans or scenes with millions of triangles will take a few seconds and a lot of RAM.

Why does my converted OBJ file look untextured?

Because this writer leaves them out. OBJ references an image by filename rather than storing it inside the file, so the images would have to travel separately and land where the file expects them, which is how a converted model arrives broken. Convert to GLB, FBX or USDZ instead if the textures need to stay with the model.

Does it cost anything?

No. There is no fee, no account, no watermark and no per-file limit. Since the conversion runs on your hardware rather than ours, serving this page costs about as much as serving a blog post.

Does it work on a Mac, on Windows or on a phone?

All of them. There is nothing to install: any browser with WebGL 2 will do, which covers current Chrome, Edge, Firefox and Safari on desktop, and Safari and Chrome on mobile. A phone has less memory than a laptop, so a very heavy scene may be the one thing it cannot finish.

Related conversions

Other things to do with the same file.

From G-code:

Other ways to get to OBJ:

Or do something else with it:

Further reading

All posts