Free · runs in your browser · nothing is uploaded

OBJ to GCode: Slice an OBJ Model Online

Drop an .obj file, tell the tool which way is up and what unit the numbers are in, and slice it to a .gcode file for your printer. OBJ has no built-in units and is usually Y-up, so those two choices sit right next to the size. It runs in your browser, ignores textures, and does not generate supports.

Loading the OBJ slicer...

How to slice an OBJ file to GCode

  1. 1

    Load the OBJ

    Drop the .obj file. Textures and the material file are not needed and are ignored; only the geometry is used.

  2. 2

    Set up-axis and units

    Most OBJ files are Y-up and the tool turns them upright by default. Pick the unit the file was exported in, then check the size in millimetres.

  3. 3

    Choose the print settings

    Select your printer and filament, then layer height, walls and infill. Use scale or target height to fit the part to the bed.

  4. 4

    Slice and download

    Press Slice, check the layers with the slider, and download the .gcode. Check the start G-code and temperatures for your printer before you print.

OBJ quirks and how they are handled

OBJ is a simple text format from the 1980s with no idea of printing. These are the usual surprises and what this page does about each.

UnitsNone are stored. Pick millimetres, centimetres, metres or inches; the default is millimetres.
Up directionMost 3D programs write Y-up. The tool rotates Y-up to the printer's Z-up by default, and you can switch it off.
Quads and polygonsFaces with more than three corners are split into triangles on load.
Textures and coloursIgnored, along with the .mtl file. Only the shape matters for printing.
Objects and groupsAll of them are merged into one model on the bed.
File and mesh limitsUp to 60 MB and 1.5 million triangles. Larger files are rejected with a message.
Open meshesHoles are reported as a warning; the slicer closes small gaps in a layer but cannot invent missing walls.

Why OBJ needs two extra questions

An OBJ file is a list of vertices and faces, nothing more. It does not record whether its numbers are millimetres, inches or metres, and different programs disagree about which axis points up. A model made in a game engine or sculpting program is often Y-up and a metre across, while a printer wants Z-up and millimetres. If the slicer guessed wrong, you would get a part lying on its side or one the size of a pinhead.

So this page asks. Set the unit to match the program that exported the file, or ignore it and type a target height in millimetres instead. If the part lies on its side, switch the up-axis, or use the 90 degree rotate buttons until it sits the way you want to print it. The size in the box updates as you change these.

Meshes that were never made for printing

Many OBJ files come from games, scans or sculpts, and are not watertight: they have holes, flipped faces, loose pieces or surfaces with no thickness. A slicer needs a closed solid to decide what is inside. This one warns about open edges and fixes small gaps layer by layer, but a thin sheet with no volume will slice to almost nothing. If that happens, close the mesh with the STL repair tool first.

Very dense meshes, such as raw scans, are heavy. The tool accepts up to 1.5 million triangles, and a file over 60 MB is refused; shrink it first with the STL size reducer after converting. No supports are generated, so check the overhang warning, and keep the thin details above about half a millimetre or they will be dropped.

Print it safely

Check the preview from the first layer to the last, and read the start G-code in the advanced section. Confirm the nozzle and bed temperatures suit the filament in your printer. Start with a small scale model if you are unsure about the size, since a wrong unit is easy to spot at a small size and costs little filament.

Stay with the printer for the first layer, and stop the print if the plastic does not stick. This page only writes a file and never talks to a printer, so everything that follows is under your control. Keep the file on a card or send it with your usual printer software, and open it in the G-code viewer if you want a second look at the paths. If the first layer looks rough or the corners lift, change the bed temperature or the Z offset on the printer, slice again with a slower first layer speed in the advanced section, and compare the two prints.

No model to print yet?

Make a printable 3D model from a photo or a short text prompt with AI, or turn a picture straight into an STL, then bring it back here and slice it for your printer.

More free OBJ, STL and G-code tools

OBJ to GCode questions

Drop the OBJ on the tool above, choose the up-axis and units, then set your printer, layer height and infill and press Slice. Preview the layers and download the .gcode. The file is read in your browser and never uploaded.
OBJ stores no unit. If the model came from a program that uses metres or centimetres, it will look far too small in millimetres. Choose the matching unit in the box, or type the height you want in the target height field.
Many programs write Y-up while printers use Z-up. The tool turns Y-up files upright by default. If yours still lies down, switch the up-axis to Z, or press one of the rotate buttons until it sits the way you want to print it.
No. Only the geometry is used, and the material file and image textures are ignored. The print is made in the one filament you choose.
No. There are no supports, so overhangs print in mid-air and can fail. The tool warns when a large share of the surface leans out, and you can rotate the model before slicing.
The mesh is probably not closed, has no thickness, or has flipped faces. Run it through the STL repair tool, or give a flat surface some thickness in your modelling program, then load it again.
Up to 60 MB and 1.5 million triangles. If you go over, reduce the polygon count in your modelling program or with the STL size reducer, then slice again.
Yes. Use the G-code editor to change temperatures or insert a pause, and the G-code viewer to inspect the layers once more.

Check the start G-code and temperatures for your printer before printing, and watch the first layer. This slicer only writes a file: it never sends anything to a printer. Print time is an estimate. Marlin and Klipper are named only to describe the G-code dialects; 3D AI is not affiliated with their projects.