The final version of PrusaSlicer 2.3 with Paint-on supports, Monotonic infill and Ironing is out! Big thanks to all of you who tested alpha, beta and release candidate versions and shared feedback with us. PrusaSlicer releases bring major changes and improvements and version 2.3 is no exception. Let’s take a look!

What’s new in PrusaSlicer 2.3

Before we jump into a detailed description of new features, here’s a quick overview of the biggest additions:

On Windows, you can choose from two installers:

A new auto-updating lightweight PrusaSlicer installer – contains just PrusaSlicer, but you can choose the download sample objects during installation. This installer is in the beta-version, please, report any bugs to [email protected].

PrusaSlicer & Drivers installer – also includes sample objects and printer drivers. This is also the main installer for Mac & Linux distributions.

As the number of features and tools in PrusaSlicer keeps growing steadily, we also keep continuously expanding the PrusaSlicer documentation.

Paint-on supports

The community feedback is very important to us and for a while the most requested feature was a better way of manually placing supports. And to be able to easily adjust the auto-generated ones. In the past, we’ve added support blockers and enforcers – basic shapes that you could use for better control of support material placement. It was and still is a decent solution to customizing supports. However, the user experience of placing these shapes was, especially with organic-looking models, far from ideal.

The new Paint-on supports tool lets you paint directly on the object and select areas, where supports should be enforced or blocked. It is very intuitive and quick to use. You’ll find the tool in the left toolbar after you switch to the Advanced or Expert mode. After selecting an object and clicking the toolbar icon, all other objects will be hidden so they do not obscure the view. You can adjust the cursor size and paint enforcers/blockers using the left/right mouse button respectively (shift+left mouse button erases painting). You can even visualize overhangs and automatically paint the model based on a set overhang angle. Paint-on supports are also saved in the 3MF project file. So if you share the 3MF with others, they can take advantage of your custom supports. You can see the tool and all its features in our dedicated YouTube video:


The top surface of 3D prints is typically not perfectly smooth. As the nozzle draws the perimeters and solid infill, small gaps and ridges remain visible between the toolpath lines. However, if your model has flat areas parallel to the print bed, you can use Ironing to smooth them. It works best with nameplates, logos, badges, boxes, lids, etc. It has little to no effect on figures and organic shapes in general, but it does increase the print time. So keep it off for such models.

How does ironing work? Ironing smooths flat top surfaces by running a special second infill phase in the same layer. As the hot nozzle travels over the just printed top layer, it flattens any plastic that might have curled up. The nozzle also extrudes a small amount of filament to fill in any holes in the top surface. We have a dedicated article and video about Ironing:

Monotonic infill

Remember those lines or scars on the top surface when there’s a hole or a text nearby? With our new default infill pattern for both top and bottom layers, these artefacts are greatly suppressed. The “monotonic” infill is essentially a good old rectilinear infill with modified path planning. The infill lines are extruded always in the same direction, left to right monotonically. This strikingly simple strategy leads to a homogenous texture without ridges.

Seam painting

Unless you’re printing in the Spiral vase mode, each perimeter loop has to start and end somewhere. Furthermore, the printer has to stop extruding for a brief moment when the print head moves up to the next layer. This start/endpoint creates a potentially visible vertical seam on the side of the object. It’s also commonly referred to as zits, layer seams or scars. PrusaSlicer does its best to hide these artifacts in a corner of a model. Alternatively, you can set the seam position in the Print Settings to randomize the seam position or align it with the back of the model.

The new seam painting tool provides more detailed control over the seam placement. The tool works almost exactly like Paint-on supports. Except you’ll be choosing where the enforce/block the seam position, rather than supports. It is accessible from the left toolbar and it is only shown in Advanced and Expert modes. Check the documentation for more details.

Adaptive cubic infill

This infill gets automatically more or less dense, depending on the distance to the nearest wall. This is especially useful for large prints with a big internal volume. The result is shorter print time and lower filament consumption while maintaining great support for top layers and similar mechanical properties.

The Support cubic infill gets automatically denser depending only the distance to the nearest top layer. The result is even shorter print time and lower filament consumption while maintaining great support for top layers. The mechanical properties will be affected though, the bottom of the print will be nearly hollow in this case.

The legend in the preview now shows a breakdown of print time by feature. This can be extremely useful when trying to speed up a print. You’ll see where the most time is spent, you can adjust the settings and watch how the estimate changes. You can also click any of the features to hide them in the preview.

Standalone G-code Viewer application

The PrusaSlicer G-code Viewer is a lightweight application, which you can use to quickly preview G-codes from all popular slicers. Its behavior is identical to the preview in PrusaSlicer (the same code is used), however, you can load an external G-code file. If you associate the .gcode file extension with the G-code viewer, you’ll be able to launch it simply by opening the file (double-clicking on it or pressing Enter).

Better auto-arrange with a customizable gap

The Arrange function is newly customizable. Right-clicking the ‘Arrange’ icon at the top toolbar opens a dialog to tune distance between objects and to allow rotation of objects around their Z-axis during the arrangement. As a result, you’ll be able to fit more parts on the build plate.

Transfer settings / Unsaved changes

If you make any changes to settings and then decide to choose a different print profile, you’ll be offered to transfer your changes to the new profile. E.g. if you turn on supports, they will stay turned on even when you switch to a different print profile.

Not sure where a specific setting is located? Use the new search function and it will take you directly to the correct settings page.

Reworked Avoid crossing perimeters function

Avoid crossing perimeters is an algorithm to minimize crossings of external perimeters during travels, which reduces stringing and improves overall print quality. The new algorithm is much more accurate and significantly faster.

Physical printers (network settings)

PrusaSlicer used to store the printer network connection settings into the Printer profile. This became inconvenient in various scenarios (owning multiple printers that use the same profile). Starting with this version, PrusaSlicer separates the physical printer connection settings from the Printer profile into new Physical Printer profiles.

Many new 3rd party printer profiles

Big thanks to all the community contributors for the 3rd party printer profiles! The collection is growing nicely. If you’d like to learn more about how to submit a 3d party printer profile, check our guide.

SLA improvements

SLA slicing got many improvements, including:

  • Importing both the model and its print profile from an existing .SL1 archive
  • SLA mini supports in regions where the normal supports would not fit.
  • Improved supports of overhangs created by hollowing.
  • Improved hollowing of meshes with intersecting or overlapping watertight parts.

Floating settings window, collapsible sidebar

You can now choose to display settings in a non-modal window. This is especially useful in a multi-monitor setup. You can edit settings on one screen and see the preview update on the other one. You’ll find this option in the Configuration – Preferences – GUI menu. On the other hand, laptop users will appreciate the collapsible sidebar (Shift+Tab).

And even more news!

The list of new features is nearly endless. New notification system replaces some of the old pop-up windows. You can copy and paste custom settings and modifiers in the object list. PrusaSlicer now starts much faster and has a splash screen. PrusaSlicer can now convert to/from imperial units. New ‘Fill bed with instances’ feature fills the print bed with the maximum number of copies of a selected object. Infill now has a customizable anchoring to perimeters.
And that’s still not all. If you want to read the full changelog, check PrusaSlicer’s GitHub releases page.

What should we add next?

Do you have a feature in mind that you’d love to see in PrusaSlicer? Let us know in the comments, tag us (@Prusa3D) in a tweet or create a new GitHub issue. We have plenty of ideas on the to-do list already, but we shift our priorities based on your feedback!

We are very proud of our PrusaSlicer team and the incredible work they’ve done. After a while of using version 2.3, it’s hard to imagine not having these great new features. And we’re looking forward to push PrusaSlicer even further in 2021! 🙂