In short
Progressive disclosure shows only the most important information and options first, and reveals details or advanced settings when people need them.
What is progressive disclosure?
Progressive disclosure is a design principle that arranges content and features in layers. The first layer contains only what most people need for their task. Less common options and details sit one level deeper and are available on request, for example behind "Advanced settings", an expandable section or a second step.
The principle reconciles two goals that usually pull against each other: newcomers shouldn't feel overwhelmed, and experienced users should still have every option at hand.
Why progressive disclosure matters
The more options are visible at once, the longer a decision takes and the more likely someone picks the wrong one. Layering complexity lowers cognitive load and makes the important actions stand out. In feature-rich SaaS products and in stores with lots of product detail, this is often what decides whether an interface feels clean or cluttered.
How to use progressive disclosure in practice
- Prioritize by usage: Use data or tests to check which options people really need often.
- Label clearly: The way into the next layer must be obvious and well named.
- Limit depth: More than two layers quickly makes features impossible to find.
- Remember the state: If someone opened the advanced options, don't make them hunt for them again next time.
Example
The export dialog in a SaaS analytics tool shows fifteen fields at once, from file format to character encoding. In testing, users hesitate for a long time, even though most of them only want to change the format and date range. In the new version, those two fields sit at the top and everything else lives under "Advanced options". Exports get done faster, and power users still reach their settings with a single click.

written by
Benedikt Geisberger
Got the theory? Let’s test your product.
We use real user tests to show you where your product gets stuck and what to improve first.