Pillowing on top surfaces: shell count, infill support and internal bridge settings
Short answer
Pillowing is a top surface with bulges or pinholes between the infill lines underneath. Prusa explains that the first top solid layer is a bridge over the infill, so it sags, and the sag grows as infill density drops; it recommends at least 3 top layers and more layers at small layer heights [1]. OrcaSlicer and Bambu Studio add internal bridge options that support that first solid layer [8, 10].
Prusa’s slicer documentation gives the mechanism in two sentences: the top solid infill is essentially bridging over the infill pattern, so the first few solid lines almost always sag, and the lower the infill, the longer the bridge and the bigger the sag [1]. If the layers above do not cover that sag, it shows through as rounded bumps between the infill lines or as small holes. OrcaSlicer describes a second route on slanted or curved tops, where unsupported solid infill curls up and causes pillowing [8].
Sag, curl or under-extrusion
Look at the top under raking light before changing settings.
- Domes or pinholes that line up with the infill grid below. Classic pillowing from sag. The fixes are shell count, infill support and internal bridges.
- Rough or lifted areas mainly on sloped or curved tops. OrcaSlicer’s curl case, addressed by its internal bridge filtering option [8].
- Even gaps between every top line across the whole surface. That is too little material, not sag. Prusa’s extrusion multiplier guide says small gaps between lines mean the flow is too low [5]. See under-extrusion and flow rate calibration.
Symptom, likely cause, what to check
| Symptom | Likely cause | What to check |
|---|---|---|
| Bumps between infill lines on flat tops | Too few top layers to cover the sag | Top layer count, at least 3 [1] |
| Pillowing appeared after lowering layer height | Same layer count now makes a thinner shell | Minimum top shell thickness [1, 7] |
| Worse over low-density or lightning infill | Longer bridge spans under the first solid layer | Infill density or a pattern that densifies under the top [3, 11] |
| Bumps on slanted or curved top surfaces | Unsupported solid infill curling | OrcaSlicer internal bridge filtering [8] |
| Sagging first solid layer on a fast printer | Large speed gap between bridge and solid infill | OrcaSlicer extra bridge layers [8] |
| Even gaps between all top lines | Flow too low | Extrusion multiplier or flow ratio [5] |
| Holes and protrusions in TPU tops | Flexible filament bridges poorly | More top layers, thicker layers [6] |
Top shell count and thickness
Prusa suggests at least 3 top layers and points out that low layer heights need more of them for the same thickness: 3 layers at 0.3 mm, 9 layers at 0.1 mm. PrusaSlicer also lets you set a minimum thickness next to the layer count, which Prusa calls especially useful with variable layer height [1].
| Slicer | Layer count | Thickness floor |
|---|---|---|
| PrusaSlicer | Top solid layers (Print Settings → Layers and perimeters) | Minimum thickness, set beside the layer count [1] |
| OrcaSlicer | top_shell_layers (Shell layers) |
top_shell_thickness; 0 disables it [7] |
| Bambu Studio | Top shell layers | Top shell thickness [10] |
OrcaSlicer recommends at least 3 shell layers for most prints and raises the layer count automatically when the count would give a shell thinner than the thickness setting [7]. Setting a thickness rather than relying on a fixed count keeps the shell from thinning when you change layer height.
Infill that supports the top
Prusa states that the main purpose of infill is to support the top layers, and that most models print with 10–15% infill [2]. Pattern matters as much as density:
- Rectilinear gives double the support for top layers compared with Grid for the same amount of material [3].
- Support cubic gets denser only as it approaches a top layer, and Lightning builds a branching structure that gets denser toward top surfaces; both save material without adding strength [3].
- In Bambu Studio, the Lightning density setting applies only to the layer directly below the top surface, and Bambu Lab positions it for decorative parts [11].
Prusa also suggests a modifier mesh that raises infill density for the last few layers before the top solid infill [1]. That targets the problem area without making the whole part heavier.
Internal bridge settings
The first solid layer over sparse infill is an internal bridge, and the newer slicers expose settings for it.
OrcaSlicer [8]:
internal_bridge_flow: raising it above 1.0 can improve strength and the quality of the layers above.thick_internal_bridges: prints the bridge at a height equal to the nozzle diameter; the wiki recommends enabling it for internal bridges over sparse infill.enable_extra_bridge_layer: an extra bridge layer reduces pillowing on top surfaces, which the wiki says helps most on fast printers where bridge and solid infill speeds differ a lot. The internal bridge layers count toward the top shell count.dont_filter_internal_bridges: by default small internal bridges are filtered out; Limited filtering adds bridges on heavily slanted surfaces where low-density infill would otherwise leave solid infill to curl.
Bambu Studio has Internal bridge support thickness, which prints support loops under the edges of internal bridges so they do not extrude over air; Bambu Lab says this improves top surface quality, especially at low sparse infill density, and it needs a sparse infill density above 0 [10]. Its Sub-top surface pattern sets the layer under the top surface to Monotonic by default to reduce marks showing through, and does not apply when that layer is a bridge [10].
Ironing as a finish
Ironing runs the hot nozzle over the finished top layer at the same height with a small extrusion, which flattens plastic that curled up and fills small holes [4]. It is a finishing pass, not structural support.
- PrusaSlicer: Print settings → Infill → Ironing (Advanced or Expert mode). Prusa recommends combining it with Monotonic top infill and warns about longer print time, slightly fuzzy edges and heat creep on large PLA surfaces [4].
- OrcaSlicer:
ironing_type(top surfaces, topmost surface, all solid layers),ironing_flowas a percentage of normal flow, andironing_spacingat or below the nozzle diameter; the wiki also warns of heat creep and clogs [9]. - Bambu Studio: ironing is off by default. Bambu Lab cautions that the nozzle presses on the top layer, so a poorly adhered part can be knocked off the plate, and that too high an ironing flow leaves over-extrusion on the surface [12].
Order of checks
- Identify sag, curl or flow from the surface pattern.
- Set at least 3 top layers and a minimum top shell thickness.
- Raise infill density or use a pattern that densifies under the top, or add a modifier mesh under flat tops.
- In OrcaSlicer, enable thick internal bridges and an extra internal bridge layer; in Bambu Studio, set internal bridge support thickness.
- Calibrate flow if gaps are uniform across the surface.
- Add ironing last, for finish.
Flexible filaments need extra margin because they bridge poorly [6]; the TPU guide covers their other settings.
Questions
How many top layers prevent pillowing?
Prusa suggests at least 3 top layers and notes that thin layers need more: 3 layers at 0.3 mm, 9 layers at 0.1 mm for the same thickness [1]. OrcaSlicer also recommends at least 3 shell layers and offers a minimum shell thickness setting [7].
Will ironing fix pillowing?
Ironing flattens curled plastic and fills small holes in the top layer [4], but it does not add support under a sagging layer. Fix shell count and infill first, then iron for finish.
Why do flexible filaments pillow more?
Prusa's flexible materials guide says TPU-type filaments bridge poorly, and that thin layers combined with poor bridging lead to holes and protrusions [6].
Sources
- Layers and perimeters. Prusa Knowledge Base. Slicer documentation. Top solid infill bridges over infill; at least 3 top layers; layers needed at low layer heights. Accessed October 12, 2026.
- Infill. Prusa Knowledge Base. Slicer documentation. Infill supports top layers; 10–15% for most models. Accessed October 12, 2026.
- Infill patterns. Prusa Knowledge Base. Slicer documentation. Rectilinear vs grid top support, support cubic, lightning. Accessed October 12, 2026.
- Ironing. Prusa Knowledge Base. Slicer documentation. How ironing works, where to enable it, downsides. Accessed October 12, 2026.
- Extrusion multiplier calibration. Prusa Knowledge Base. Slicer documentation. Gaps between top lines indicate too little flow. Accessed October 12, 2026.
- Flexible materials. Prusa Knowledge Base. Manufacturer documentation. Flexible filaments bridge poorly. Accessed October 12, 2026.
- Top and Bottom Shells. OrcaSlicer Wiki. Slicer documentation. top_shell_layers, top_shell_thickness. Accessed October 12, 2026.
- Bridging. OrcaSlicer Wiki. Slicer documentation. Internal bridge flow, thick internal bridges, extra bridge layers, internal bridge filtering. Accessed October 12, 2026.
- Ironing. OrcaSlicer Wiki. Slicer documentation. ironing_type, ironing_flow, ironing_spacing, heat creep warning. Accessed October 12, 2026.
- Strength Advanced Setting - Bambu Studio. Bambu Lab Wiki. Slicer documentation. Internal bridge support thickness, sub-top surface pattern. Accessed October 12, 2026.
- Fill Pattern Introduction. Bambu Lab Wiki. Slicer documentation. Lightning infill density applies only below the top surface. Accessed October 12, 2026.
- Ironing. Bambu Lab Wiki. Slicer documentation. Ironing types, flow, spacing, heat creep and adhesion cautions. Accessed October 12, 2026.