Convert an STL to G-code for your 3D printer, in the browser
An STL is only a shape; a 3D printer needs G-code, the layer-by-layer moves, temperatures and extrusion for one particular machine. The conversion is called slicing. Upload the STL or 3MF, pick your printer among 380+, and SpeakCAD's online slicer converts it with OrcaSlicer and that printer's own profile: a .gcode file, or a sliced .gcode.3mf for Bambu Lab.STL to G-code in four steps
Besides the file, the conversion needs the printer, the material and a few print settings. Everything else comes from the printer's profile.Pick the printer
Its profile sets the bed size, the nozzle, the firmware flavour and the start and end G-code. The preview warns when the model does not fit the bed.Choose the material and quality
Layer height from the printer's presets, a filament preset (PLA, PETG, ABS, ASA, TPU and more), infill, supports, speed, walls and bed adhesion.Download the G-code
A .gcode file, or a .gcode.3mf for Bambu Lab, with the print time, the filament in grams and metres, the layer count and the printed height.STL to G-code: formats, output and limits
| Setting | Value |
|---|---|
| Input | STL or 3MF, up to 50 MB |
| Output for Bambu Lab (A1, A1 mini, P1S, P2S, X1 Carbon, H2D…) | A sliced .gcode.3mf |
| Output for Prusa, Creality, Elegoo, Anycubic, Voron, Qidi, Sovol and the rest | A plain .gcode file |
| Printers | 380+ models from 60+ brands, with OrcaSlicer's bundled profiles |
| Slicing engine | OrcaSlicer 2.4.2, unmodified, on SpeakCAD's slicer service |
| Reported with the file | Print time, filament in grams and metres, layer count, printed height, supports added and their weight |
| Free | 1 free slice with a free account, no card. |
| After the free slice | Slicer pack: 20 slices for $3, once, never expire; or 5 credits per slice; included in Pro and Unlimited |
| Same file, other settings | Spends nothing within 10 minutes of the slice |
| Starter credits | $5 once = 50 credits = 10 slices, no subscription |
| Daily limit | 60 slices per account per day, on every plan |
| Your file | Sliced in a temporary folder deleted when the job ends; not kept |
| Devices | Any current browser: computer, Chromebook, iPad, phone |
Why an STL has to be sliced first
An STL file describes the surface of a part as triangles and nothing else: no layers, no nozzle, no temperature, not even a unit (slicers read it as millimetres). A 3D printer cannot print triangles. It runs G-code, a list of commands that move the nozzle, push filament and set temperatures, one layer after another. Slicing is the conversion from one to the other, and it depends on the printer: the same STL gives a different G-code for a Bambu Lab A1 and for a Creality Ender-3.
A 3MF holds the same kind of triangles plus the unit and other details about the model, and it is sliced the same way. STL vs 3MF compares the two.
What a G-code file contains
Open a .gcode in a text editor and you find:
- A header with the settings it was sliced with and, when the printer's profile asks for them, preview images for the printer's screen.
- The start G-code from the printer's profile: home the axes, heat the bed and the nozzle, prime a line.
- Thousands of moves, each a line such as
G1 X112.4 Y98.2 E0.0421: go to this point and push this much filament. - Temperature, fan and retraction commands from the filament and process presets.
- The end G-code: heaters off, the nozzle lifted and parked.
Why the G-code must match your printer
G-code is not portable. It carries the printer's bed size and origin, its nozzle diameter, its firmware flavour (Marlin, Klipper, RepRapFirmware and others) and its start sequence. A file sliced for another machine can print outside the bed or at the wrong temperatures, and some printers warn that the file was made for another model. That is why the conversion starts with the printer: each of the 380+ models has the profile OrcaSlicer bundles for it, and the file is sliced with exactly that profile. The online slicer lists the brands and model counts.
The settings that change the print
Most of what a slicer decides comes from the printer's profile. These are the settings you choose, and what each one changes:
| Setting | What it changes | Where to start |
|---|---|---|
| Layer height | Finish against time: thinner layers look smoother and take longer | The printer's standard preset |
| Filament | Temperatures, cooling, flow and speed limits | The material on the spool |
| Infill | Strength and weight inside the part | Low for decorative parts, higher for parts that carry a load |
| Walls | Strength of the outer shell and around screw holes | The profile's count; one or two more for loaded parts |
| Supports | Material printed under overhangs | Auto: only where an overhang needs them |
| Bed adhesion | A brim or a skirt around the first layer | Auto; a brim for small feet or warping materials such as ABS |
| Speed | Quiet (0.6 x), Normal or Fast (1.3 x), capped by the printer's and the filament's limits | Normal |
| Orientation | Which face sits on the bed | Auto-orientation: the flattest base and the fewest overhangs |
Temperatures, retraction, accelerations, seams, and top and bottom layers come from the printer, process and filament presets as OrcaSlicer ships them. The guides go further: which settings matter for a functional part and print settings by material.
Bambu Lab: a .gcode.3mf, not a .gcode
Bambu Lab printers print a sliced .gcode.3mf, which packs the G-code with its preview images and settings. That is what the converter gives for every Bambu Lab model in the list (A1, A1 mini, H2D, H2D Pro, H2S, P1P, P1S, P2S, X1, X1 Carbon, X1E, X2D): copy it to the printer's microSD card, or open it in Bambu Studio to send it over the network. Every other brand gets a plain .gcode.
After the conversion
- SD card or USB stick: copy the .gcode (or .gcode.3mf) to it and start the print from the printer's screen.
- Over the network: upload it through the printer's web page or app (Mainsail or Fluidd on Klipper printers, OctoPrint, PrusaLink).
- From a phone or a tablet: the file lands in Files or Downloads, and the printer's app or web page takes it from there. From a phone to the slicer covers each route; the iPhone, iPad, Android and Chromebook pages go device by device.
What a conversion costs
The online slicer gives every account 1 free slice, its first (a free account, no card). After that, a slice uses one slice from a Slicer pack (20 slices for $3, once, never expire) or 5 credits, and slicing is included in Pro and Unlimited. Re-slicing the same file with other settings within 10 minutes is free. Slicer pack slices work only in the online slicer. Starter credits ($5 once, 50 credits, no subscription) also pay for 10 slices. Pro ($14.99 a month) and Unlimited ($39.99 a month) include slicing. On every plan, an account can start up to 60 slices a day.
Your file
The file goes from your browser straight to the slicer service, never through SpeakCAD's web servers. It is sliced in a temporary folder that is deleted when the job ends, and it is not kept. The one exception is a file dropped on SpeakCAD's slicer page before signing up: it waits, as a compressed 3MF, in private storage until you open it in the slicer and for 24 hours at most, then it is deleted.
Need to change the model first?
Converting keeps the model exactly as it is. To change a size, widen a hole or add a mount before slicing, edit the STL: SpeakCAD's AI rebuilds it as an editable model with exact millimetres. To make a part from scratch, describe it. Both download G-code for the same printers.
Questions
Slice it: a slicer turns the STL's triangles into G-code for one printer. Online, upload the STL or 3MF to SpeakCAD's online slicer, pick your printer among 380+, choose the layer height, filament, infill and supports, and download the .gcode (a .gcode.3mf for Bambu Lab). On a computer, a desktop slicer such as OrcaSlicer, PrusaSlicer or Cura does the same.
Yes. SpeakCAD's online slicer runs in the browser on a computer, a Chromebook, an iPad or a phone, with OrcaSlicer 2.4.2 and your printer's profile doing the slicing. The online slicer gives every account 1 free slice, its first (a free account, no card). After that, a slice uses one slice from a Slicer pack (20 slices for $3, once, never expire) or 5 credits, and slicing is included in Pro and Unlimited. Re-slicing the same file with other settings within 10 minutes is free.
An STL is the shape of a part, as triangles; G-code is the list of instructions one printer follows to build it, layer by layer: moves, extrusion, temperatures and fan speeds. An STL works with any slicer and any printer; a G-code file is made for one printer, one nozzle and one material.
Yes. The converter takes 3MF as well as STL, up to 50 MB, and slices it the same way with your printer's profile.
Upload the STL, pick your Bambu Lab printer (A1, A1 mini, P1S, P2S, X1 Carbon, H2D or another Bambu model) and slice: the download is a sliced .gcode.3mf. Copy it to the printer's microSD card, or open it in Bambu Studio to send it over the network.
SpeakCAD's online converter is partly free and needs no install: 1 free slice with a free account, no card. It does not renew. After that, a slice uses one slice from a Slicer pack (20 slices for $3, once, never expire) or 5 credits, and slicing is included in Pro ($14.99 a month) and Unlimited ($39.99 a month). Re-slicing the same file with other settings within 10 minutes spends nothing. It is not unlimited: an account can start up to 60 slices a day. Desktop slicers are free: OrcaSlicer, PrusaSlicer and Cura are apps you install on a computer.
Layer height, filament, infill, walls and supports. The rest (temperatures, accelerations, retraction, start and end G-code) comes from the printer's and the filament's OrcaSlicer presets.
Yes. With the file you get the estimated print time, the filament in grams and metres, the layer count, the printed height, and whether supports were added and how much they weigh. The print time and cost calculator gives the same numbers, with the cost, without an account and without the G-code.
Not with this converter: it goes one way, from STL or 3MF to G-code. Keep the STL; it is the file to slice again for another printer or other settings.