How to convert STL to G-code here
- Drop the STL (any model the viewer opens works too). The Slice panel opens on the right.
- Choose a printer profile and check the bed size, nozzle and filament diameter.
- Set layer height, walls, infill, temperatures and supports, then press Slice. A progress bar runs and Cancel stops it.
- Read the time, the filament in m and g, and the layer count. Press Preview layers to inspect the toolpath, or Download G-code.
Settings are remembered in this browser, so the next part starts from your last profile.
Printer profiles and settings
| Group | What you set |
|---|---|
| Printer | Generic Marlin, Ender-3 class (220 × 220 × 250); Prusa MK4 / MK4S (250 × 210 × 220); Bambu Lab-size bed with Orca-style Marlin G-code (256 × 256 × 250). Bed size is editable |
| Material | Filament 1.75 or 2.85 mm, nozzle diameter, nozzle and bed temperature, fan % |
| Shape | Layer height up to 90 % of the nozzle, line width, walls, top and bottom layers |
| Infill | 0–100 %, grid or lines (0 % = hollow, 100 % = solid) |
| Motion | Speeds for walls, infill, first layer and travel; retraction length and speed |
| Adhesion | Skirt, brim with width, or none |
| Supports | None, from the bed only, or everywhere, with an overhang angle |
What the slicer writes
It cuts the mesh at the middle of each layer and builds closed outlines; overlapping bodies merge and inside-out meshes still slice. Walls print inner-first, the outer wall last, with an aligned seam at the back. Top and bottom skins are solid, also on sloped sides.
Infill turns 90° every layer and solid areas use zig-zag lines. Retraction happens only when a travel leaves the infill area. Short layers slow down to a minimum layer time.
The output is Marlin G-code with relative extrusion. Prusa and Bambu profiles get M73 progress lines, and the header lists time, filament (mm, cm³, g) and layer count.
Tested numbers
- A 20 mm cube gives 100 layers, 4 bottom and 5 top solid layers, and a printed width of 20.00 mm.
- A cylinder with Ø 20 comes out 20.00 mm across; a cube with an 8 mm hole keeps two outer loops on every layer.
- 3DBenchy (225,706 triangles, 240 layers) slices in about 1.1–1.5 s; a 200,000-triangle torus takes about 1.3 s in the browser worker.
- A model larger than the bed is refused, with its size and the bed size in the message.
Supports were checked on a plate standing on a post: columns on layers 1–47, two dense interface layers on 48–49 and one layer of air under the plate at Z 10.
Supports and what is not done yet
Areas steeper than the overhang angle (50° by default) get straight support lines 2 mm apart, kept 0.7 mm away from the part. With supports off, the panel warns where the part prints over air, with Z and mm².
Several features are not built yet:
- tree supports and support painting;
- bridge detection (bridges print as normal solid infill);
- gap fill and variable-width walls, so walls thinner than two lines are left out;
- ironing, multi-material and a wipe tower;
- infill patterns other than grid and lines, and variable layer height;
- arc moves (G2/G3) and Klipper-specific commands.
For a part that needs any of these, use a desktop slicer.
Before you slice
A mesh with holes slices badly, and you may only notice when a wall comes out open after hours on the bed. Run STL repair first if the Info panel says the model is not watertight. After slicing, check the time on the 3D print time calculator and price the job with the 3D print cost calculator.
Questions and answers
Can I convert STL to G-code online without installing a slicer?
Yes. The slicer runs in a background worker of this tab, so the STL is not uploaded. It is our own code, built without any desktop slicer engine inside.
Has this G-code been printed on a real printer?
Not yet. The start and end G-code follow the public Marlin reference, but no profile has been test-printed. Stay near the printer for the first layer.
Will it work on a Bambu Lab printer?
Those printers normally take .gcode.3mf from their own slicer, and we do not write that package. The Bambu-size profile writes plain Orca-style Marlin G-code.
How do I add supports?
Pick from the bed only or everywhere in the Supports field and set the angle. You get simple vertical columns; tree supports are not available.
Why is my thin part missing walls?
There is no gap fill yet: a wall thinner than two line widths is left out. For such parts a desktop slicer is the better choice.