Make: Projects

Getting Started With Slic3r

Slic3r is a free program that converts .STL files into .GCODE files for 3D printing.

  • By
  • Time Required: As long as you're willing to spend.
  • Difficulty: Easy
Getting Started With Slic3r

So you have a 3D printer and a 3D file, but now what? Well, you have to slice it up into layers and create a .GCODE file, which you’ll then send to your 3D printer. There are many options for slicing parts in preparation for 3D printing, but Slic3r’s nice because it’s open source, free to use, relatively quick, and extremely customizable.

I’ll describe how each of the many settings relates to the actions of your 3D printer, and how to correctly adjust them to optimize your machine for your application. I don’t have experience with tweaking all of these settings (there are a lot), but I’ll do my best to describe what they do.

I recently read RichRap’s fantastic guide, Slic3r is Nicer, and recommend that you give it a read as well. Although Rich has a lot of nice photos and great explanations in his tutorial, it is almost a year old, and a lot has been added to Slic3r since then. Unlike me, he does cover extruder calibration in his tutorial, which is an optional, although beneficial, process.

The manufacturer of your 3D printer most likely provides either their default slicing settings, from which you’ll have to manually enter numbers into Slic3r, or an exported profile. If you have a .INI Slic3r profile, I’d recommend starting with that and tweaking settings from there (you can import a profile in Slic3r by going to File -> Import Config).

*Unless otherwise noted, photos of prints in progress are from John Abella.

*Main photo is from the Slic3r homepage.

Disclaimer: Despite the fact that I provide good starter settings here, there is no “set formula” that will work well for all machines, so experimentation is required if you really want to optimize your prints.

You can download Slic3r for free from the website or GitHub. Now open it up and let’s get started!


Step #1:

Getting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3r
  • The application is broken up into four tabs: Plater, Print Settings, Filament Settings, and Printer Settings. The Plater tab is the most self-explanatory, and typically the last place you'll end up before slicing, so we'll come back to that later.
  • One of the neat things about Slic3r is how easy it is to create, and recall, a bunch of different profiles.
  • After changing any setting, clicking the Save icon will bring up a text box, where you can change the name of the profile.
  • Try creating a profile not only for each separate printer, but for each specific type of print as well, like "Ultimaker Hollow Part" or "Ultimaker Super Fast."

Step #2:

Getting Started With Slic3r
  • The first subset of Print Settings is "Layers and Perimeters". The "Layer Height" is the distance the Z-platform (or extruder) moves between each layer. So, a smaller layer height will generally result in a better looking, smoother part, but will also take longer to print. Anywhere between 0.2 and 0.3mm is probably a good place to start.
  • The "First Layer Height" is exactly what it sounds like, and can be entered in mm or % (a First Layer Height of 50% will be half of the standard Layer Height).
  • Many machines on the market today will handle a layer height of 100 microns (0.1mm) without a problem.
  • Remember: a print with layer height 0.1mm will have twice as many layers as a print with a 0.2mm layer height, and will therefore take twice as long to slice and print.

Step #3:

Getting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3r
  • Perimeters (or shells) are also important. A value of 2 here implies that the printer will draw two solid outlines around the edge of the part it's printing, on every layer. I've found that 2 is usually a good place to start, but 3-perimeter prints are common as well.
  • Randomizing the starting point of perimeters will prevent a visual indentation from appearing on the side of your part, so I'd recommend keeping that box checked. Allowing Slic3r to generate extra perimeters when needed is also a good idea.
  • Solid layers are completely filled in with plastic, which is why it's usually smart to have a few of them on the bottom and top of your part. I'd recommend doing at least two solid layers on the bottom, and stick with at least one on the top.
  • Keep in mind that if you're printing a very large part, each solid layer will take up a good chunk of time, so dial those values down if you value print time over part strength.

Step #4:

Getting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3r
  • "Fill density" is the percentage of each layer that will be filled in with plastic (0.2 = 20%). You shouldn't have to go above 60% for any reason, unless you want a really dense part. 20% fill is just fine for your everyday prints, but adjust at will and play with the parts once they're complete to feel the difference in structural stability.
  • A density of 0 will only print the perimeter(s) of your part, so it will be completely hollow.
  • The "Fill Pattern" is the path that the extruder takes when doing the infill. These don't have a huge impact on structural stability of the part. The "Top/bottom fill pattern" is the pattern used on the top and bottom solid layers.
  • The advanced settings give you even more control over the infill, although I don't think I've ever touched them. "Infill every 2 layers" will alternate between layers of filled (with the fill density you chose) and hollow. "Infill every 3 layers" will have two hollow layers between every filled layer, etc. I've always left this at 1, the default.
  • You can also choose to insert a solid layer every __ layers, for extra stability. The "Fill angle" is the angle at which the extruder will do its filling paths, based on the axes' orientation of your machine. I don't see how changing this will affect your part very much, but it may have varying levels of impact based on the Fill patterns you use.
  • I typically leave "Only retract when crossing perimeters" unchecked, as is default. We'll learn about retraction soon, and then this will make sense.

Step #5:

Getting Started With Slic3r
  • Now onto speed! "Perimeter speed" is how fast the perimeters will be printed. 50 is a good place to start. "Small perimeter" speed is how fast small features will be printed. This is typically slower than your normal perimeter speed, to give the plastic more time to cool down.
  • "External perimeters" are the outer perimeters of your part — the most important ones. I'd start with a speed similar to, if not exactly the same, as the standard perimeter speed, and go from there.
  • "Infill" speed is how fast your machine will print during the infill stage. Since clean lines and extreme accuracy aren't paramount here, crank it up! The speed I'm using here, 80 mm/s, is quite conservative, especially for the Ultimaker, but it's probably a good place to start.
  • "Solid infill" speed is how fast the solid infill layers will be printed. These paths are more important than your everyday infills, so keep this slower than your standard infill speed. Don't bring the speed down too much, however, since 100% infill layers take awhile.
  • The "Top solid infill" speed is how fast the top, 100% filled layer(s) will be printed. Since it's important that these look nice, keep this speed lower than your two other infill speeds.
  • "Bridges" are used to fill in a gap, where the extruder stretches filament between two walls over air. If the gap's any greater than around 0.5", you're going to get drooping, no matter how fast you move, but moving quickly will prevent anything major. Printing material and nozzle temperature will have an effect on plastic droop during bridging.
  • "Travel" speed is the speed at which your machine will move between two extrusion points. Since you'll never be extruding at this time, you might as well crank up the speed here as well. I'd recommend starting at 175 mm/s and moving up from there. Machines that use a light, Bowden extruder (like the Ultimaker) can move as quickly as 300 mm/s.
  • "First layer speed" will modify how quickly your machine prints the first layer. I'd start with 50% and go from there. Read the second part of Rich's tutorial on getting your first layer to stick.

Step #6:

Getting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3r
  • The "Skirt" is an outline around the perimeter of your part, drawn by your printer before it does anything else. This is a great opportunity to "prime" your extruder, make sure your nozzle's at a good height, and kill the print before it gets too far, if any adjustments are needed.
  • If your extruder typically takes a few seconds before the plastic appears, increase the number of loops, so it will makes its way around your part more than once. Typically, the skirt is kept at one layer high, and anywhere from 3 to 10mm away from the object.

Step #7:

Getting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3r
  • Automatically generating support material during slicing will cause your printer to print scaffolding under overhangs and tough angles, giving you better overall results once the support's pulled away. Just check that box, and Slic3r will do all the tough work for you.
  • The overhang threshold is the angle past which support will be generated. To prevent the machine from generating support for tiny protrusions that really don't need it, start with 45 degrees.
  • You can also select a pattern of support, just like you did with the infill, but it's probably more important here, since certain patterns are easier to break away post-print than others. "Rectilinear" is a good place to start.
  • The pattern spacing will also have a major effect on the structure of the support — a higher value will generate support that's easier to break away. The pattern angle is the angle at which the support will be printed, with respect to the X and Y axes of your machine.
  • Too low of a pattern spacing will yield support that's more similar to the rest of the part, and will be hard to break away. But, too high of a pattern spacing may not provide enough support for the overhangs.

Step #8:

Getting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3r
  • Notes are useful for your own records, are completely optional, and have no effect on the print. After printing a part and noticing how your changes affected the output, type your notes in here so you know what to change in the future.
  • You'll only need to mess with "Sequential printing" if you have an automated way to remove parts from the print bed, and want to print many parts in sequence. I've never bothered with changing the "Output file" settings, but they're useful if you'd like create a standard format for GCODE filenames, for example.
  • The "Multiple Extruders" settings are designed for machines with just that — more than one extruder. Here you can specify specific tasks for each extruder, like support and infill.

Step #9:

Getting Started With Slic3r
  • I haven't messed with any of the Advanced settings except for the "Extrusion width." With accurate plastic and nozzle information (which we'll enter later), Slic3r can adjust the height of the extruder to widen the width of extrusion.
  • You may want to bump the first layer width up past 100% in order to get the plastic to stick to the bed more efficiently, but I've never felt the need to adjust the other widths.

Step #10:

Getting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3r
  • Now we're moving onto the second main tab, "Filament Settings." Your machine probably came with some plastic, or you may have bought some other spools in different colors or materials. Your filament is advertised as being 3mm or 1.75mm in diameter, but that's never quite right.
  • So, take a caliper or micrometer to your filament at a few different positions, and average your readings. Input them into Slic3r with more accuracy than I did here (ex: 1.69mm or 2.92mm).
  • The "Extrusion multiplier" will simply alter the value you just entered into the "Diameter" box. Unless you have a specific reason to do so, leave this at 1.
  • Extruder and bed temperature are also very important. You can specify a different temperature for the first layer. If anything, run your extruder hotter than usual to start, to promote extra gooeyness and stickiness.
  • For PLA, an extruder temperature of 185 is probably as low as you want to go (This Ultimaker profile is set for PLA printing). For ABS, I'd recommend starting at 220.
  • If you have a heated bed, use it at whatever temperature you feel comfortable with, since anything will help. For PLA, 60 is probably a good place to start, and 110 is good for ABS (although if your bed takes forever to get that hot, dial it down, so you won't have to wait hours for a print to start).
  • If you don't have a heated bed, keep the bed temperature at 0. If it isn't at 0, the print will never start.

Step #11:

Getting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3r
  • Fan settings: If your machine doesn't have a fan directed at the extruder, you can skip this step. If you have a fan, check "Enable cooling" and read the description that pops up — this will intelligently cool the nozzle only when needed, and keep the fan off at all other times.
  • As you adjust the following settings, refer back to the description under the "Enable cooling" box to see how your edits will change the intelligent cooling activity of the machine during printing.
  • "Fan speed" is a percentage, and is really up to you. Do a few prints with cooling enabled and increase the minimum fan speed if you notice that your plastic is drooping or excessively sticking to the nozzle. "Bridges fan speed" is how fast the fan will turn during bridging — keep this high to promote cooling and less drooping.
  • I like to disable the fan for the first layer to keep the plastic as gooey and liquidy as possible, to keep it stuck to the bed (this is especially popular with PLA printing). You can also check a box to keep the fan on at all times, from print start to end.
  • The cooling thresholds give you more advanced control over when the fan starts. In general, layers with shorter print times are more difficult for the printer to complete successfully, and therefore benefit most from additional airflow.
  • The thresholds to set for decreased printing speed will come with time and lots of experimentation, but I think the times I have here are a good place to start. The "Min print speed" can be set fairly low, and will result in a great variation in print speed during a print with lots of challenges.
  • You may find that separate cooling thresholds are necessary for different parts, so creating a different slicing profile for each may be the quickest solution. Ex: one for tough columns, one for hollow objects, one for busts (where detail is important), etc.

Step #12:

Getting Started With Slic3r
  • Now we can move onto the Printer Settings tab. Before we start with General settings, break out the ruler. Measure the length and width of your print area, and input the results into the "Bed size" boxes. The "Print center" should be half of the Bed length and width, so the print starts at the exact center of the build platform.
  • The Z offset is at 0mm by default, and should be left there unless you frequently change to a build platform of a different thickness. If, for example, your heated glass platform is removable, you can set the Z offset to its thickness so your machine will automatically adjust for it when you slice a part with that profile.
  • The "G-code flavor" should be fine at RepRap (Marlin/Sprinter), but definitely take a look at the drop-down and select the one that most accurately describes your machine. The manufacturer of your machine and the electronics they use will be much more influential in this than I…
  • Leave the "Use relative E distances" box unchecked unless you're absolutely sure that your machine uses relative positioning. Most use absolute positioning, which states the end point of the current move in the G-code, regardless of where you are.
  • The "Extruders" number should only be changed from 1 if you have more than one extruder on your machine. If so, go back to the "Multiple Extruders" section of the Print Settings tab and mess with those settings.

Step #13:

Getting Started With Slic3r
  • Custom G-Code is important, and is probably something that the manufacturer of your machine can help you with more than I can. In general, the "Start G-Code" usually includes commands to zero out all three axes, heat up the extruder and heated bed, do some sort of test extrusion, and start the print.
  • The "End G-Code" typically turns both the extruder and heated bed off, zeros out all three axes again, and lowers the Z platform for easy part removal.

Step #14:

Getting Started With Slic3r
  • Now onto the "Extruder 1" section of Printer Settings. The "Nozzle diameter" should be provided by your manufacturer, but if not, take a pair of digital calipers to it and measure it yourself. It will most likely be 0.35, 0.4, or 0.5mm. Giving Slic3r this information will allow it to accurately place extrusion paths.
  • Don't bother with "Extruder offset" unless you have more than one extruder. If you do, this is the horizontal and vertical distance between your extruders.
  • Since there's so much to talk about when it comes to retraction, I'm devoting the whole next step to it…
  • But before you go there, check out this video of a custom Ultimaker extruder retracting, so you can get an idea of what it's all about.

Step #15:

Getting Started With Slic3r
  • Retraction is one of the coolest features in Slic3r, and will greatly improve the quality of your prints. By retracting the hot filament with the extruder motor during travel moves, plastic oozing is prevented. The length of filament to retract before moving to the next extrusion path will depend wildly on the motor and gearing you have.
  • If you have no idea what to put here, I'd recommend starting with 0.75mm and moving up from there if you notice that you're still getting stringing between gaps. The value I'm using here is so high because of the Ultimaker's extruder gearing.
  • "Lift Z" will raise the extruder (or lower the bed) during retraction and before moving to the next path, where it will lower, in order to avoid knocking the part off the platform or dragging plastic with it. If you're building tall parts that may get knocked off the platform easily, set this to one layer height. If not, I would leave this at 0.
  • "Speed" is how quickly your extruder motor will reverse to retract the filament. You want this to be quick, so do some tests with your extruder and see just how fast you can retract. I'd recommend starting at 15mm/s and building up from there, since once again, extruders will differ wildly in gearing and motor speed.
  • "Extra length on restart" is the length of plastic you'd like to extrude after travelling to a new path and prior to moving again. I don't use it, since it would just put extra plastic down where I don't necessarily need it.
  • The only application for this may be when your extruder has serious problems starting up again after retraction, but in that case I'd just recommend dialing down your retraction length and/or speed. So yeah, leave this at 0.
  • "Minimum travel after retraction" is the minimum distance required for the printer to retract at all between paths. In this case, if the two paths are closer than 3mm, the extruder won't retract, to prevent the motor from doing tons of unnecessary work during an extremely complicated print. I think 2mm is a good place to start.
  • The last two settings here are for multi-extruder setups. When one of the extruders is disabled, you can have it retract to prevent it from oozing while the other's working. You can also add extra length on restart here, where it may have more use, since extruders in a multi setup are often idle for longer and may require additional "priming".

Step #16:

Getting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3r
  • Now we can finally move back to the Plater tab! Load a part by clicking "Add", or dragging it into the grid on the left. The part will automatically snap to the center of your build platform.
  • You can add additional parts in the same manner, and then duplicate them by clicking "More" after selecting them (selected parts will be red). They'll be automatically arranged as you add them onto the plate.
  • You can also rotate the parts with the "45° ccw," "45° cw," and "Rotate…" buttons. Clicking "Rotate…" will bring up a text box, into which you can enter a specific angle. Scaling is also possible with the "Scale…" button, and works similarly to the "Rotate…" button.

Step #17:

Getting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3rGetting Started With Slic3r
  • If you import an assembly of multiple .STLs, like this "nautilus_plate" (file here), you can split it up into its separate .STLs with the "Split" button.
  • This is useful if you needed to print a few extra gears, but also wanted to print a single piece of the other .STLs as well.

Step #18:

Getting Started With Slic3r
  • That's it! Enjoy using Slic3r.
  • I don't want this to be a once-and-done thing, so please email me ([email protected]) or post a comment here if you have any suggestions on how to make this tutorial better.
  • If you'd like to contribute any related photos, that would be helpful as well, since this is a bit too text-heavy for my tastes. :P
  • The free in-browser G-code viewer used for a few of the photos is by Jeremy Herrman, and can be found here.
  • All test prints used in this demo can be found on the MAKE 3D Printing page.
Eric Weinhoffer

Eric Weinhoffer

Eric is a Senior Mechanical Engineer at Other Machine Co., where he designs and builds CNC machines for the masses. When not building things, Eric enjoys skiing, cycling, and climbing.

  • will

    Good information!! I have only one question, If I use a Match3 board can I control de fan and the extruder??

    • Eric Weinhoffer

      Hi Will,

      Yes, you should be able to control the fan, no matter what extruder you’re using.

  • A good pictorial representation of the various Slic3r options can be found in this powerpoint presentation and pdf –

  • Tim Good

    Very nice tutorial!

    My question is when printing multiple parts, is there a setting in Slic3r to generate the layer for ONE part before generating the layer for another part. When I print multiple parts, the slicer appears to do a ring for one part, then a ring for another part, then another. It never completes one layer of one part first, then goes to the next part. Not that it is really messing up the parts, but it seems like there is a bunch of wasted time making a lot more moves from part to part then if it would simple lay down the layer of one part completely and then go to the next part.

    Does such a setting exist in Slicer?

    Or is everbody just printing one part at a time?

    • Eric Weinhoffer

      To be honest, Tim, I’m not sure. One thing I do know is that Slic3r doesn’t support multiple-part printing where one part is completed before moving onto the next. That is one advantage of Cura – the Project Planner can be used to arrange parts on the plate and have them printed in sequence instead of all at once.

  • G.Esteban

    to me, the instruction on downloading slic3r is somewhat confusing. I followed the instruction, press he window selection,it downloaded git-hub(later on I had to find directory where it was downloaded too, found git hub setup application-did this manually) next instruction choose between 2 citruses, choosed one of those and again had to look for where it was downloaded to,found it and still doesnt have slic3r. Is there an easy waya to download slic3r???? that anybody knows of. On the page it say git hub git//slic4 alex jr. Where do you place this command?? Thanks for any help

    • Eric Weinhoffer

      Hi Esteban,

      The easiest way to download is to use their own website:
      Just hit the “Download Now” button!

      • GE

        Hey thanks, I found a way of doing it easier after spending time on the internet reading blogs and experiences of other users. Surely you should look seriously on your downloading procedure and make it less complicated. Many of the viewers are probably a neophyte as I am. Thanks for this reply

  • Clementine

    Hello Eric,

    Great write up!

    Is it allowed to translate this guide in Dutch and post it on my website with source reference? :)

    • Yes, have at it! Please email me ([email protected]) a link to it when it’s translated :)

  • George

    Hi Eric,
    We have the following problem. Poorly printed thin vertical walls. Typically the pipe wall thickness 1.4 mm. The printer prints the inner and outer perimeter, but the inside is ignored. We have a 0.5 mm nozzle and filling is 0.99 (1.0 does not want to), but it probably is not a major problem. We use Slic3r version 0.9.10b. I found the discussion of solutions (like me), author returned to the old version 7.2 Do you know where the error may be?

    • Hi George,

      I think your wall thickness and nozzle size are preventing the inside from being printed — since the nozzle’s 0.5mm and the wall thickness is 1.4mm, it can only fit in two full perimeters (1mm total). If the wall thickness was greater than 1.5mm, Slic3r should correct itself and add in an additional perimeter.

      Hope that makes sense and helps!


  • Today, while I was at work, my sister stole my apple ipad and tested to see if it can survive a 40 foot drop, just so she can be a youtube sensation.
    My iPad is now destroyed and she has 83 views. I know this is entirely off topic but I had to share it with someone!

  • Pingback: Slic3r « Makerlife365()

  • Pingback: Vision 3D Printer – Turning It On | burnsed()

  • Pingback: Getting Started With Slic3r | 3Dcosmos()

  • Pingback: Getting Started with Slic3r()

  • rita

    that is very useful for me, can you share with us how to use slic3r for dual extruder printers? please…

  • Pingback: How do I convert stl into a gcode file? | chloepersonalproject()

  • Pingback: How does Slic3r work? | chloepersonalproject()