Thinking

Modal or Page: The Question Nobody Asks Before Shipping

Interaction DesignProcess·April 28, 2026·2 min read

"Let’s just do it in a modal" is a sentence I’ve learned to be suspicious of, mostly because it gets said so casually, usually about something that feels small. And small things go in modals, right?

Then everyone nods and it ships, and nobody stops to ask what the user needs to remember while they’re in it.

At Scaler, analysts would set up a big emissions table with the filters exactly how they wanted them and then scan through it row by row. In some modules, clicking anywhere on a row opened a full detail page. One slightly wrong click while scanning and you were on another page, and when you went back, your scroll position and your filters were gone. I’d have sworn at my screen too.

We ended up with two levels. Clicking a row opens the record inline, right there in the table, and nobody goes anywhere. If you want the full record, there’s an explicit "View full record" button, and the detail page always has a breadcrumb that takes you back to the same scroll position with the same filters.

Do

A click opens the row in place

Emissions, 2024Scope 2 filter on
Scope 1: 3,907.3 tCO₂eUpdated 12 Sep
Gdańsk plant opened in place. You’re still in the table.

Illustrative data

Don’t

A click on the row opens a new page

Gdańsk plant

Scope 1
3,907.3 tCO₂e
Scope 2
5,122.8 tCO₂e
Updated
12 Sep 2024
Source
Utility invoices
One click on the row, and you've left the table for Gdańsk plant.

Illustrative data

Before anyone says modal now, I ask whether the person needs to see what’s behind it while they work, and whether it’s one quick decision or a whole chain of them. If they need the context and it’s one decision, a modal is fine. If it’s a chain of decisions, or something they’ll do every day, it deserves a page with its own URL.

Choose the surface from the task, before anyone argues about it

The decision filter, condition by condition

ConditionSurface
More than 3 decisions requiredPage
User needs context from current surfaceModal or Panel
Task done repeatedly by same userPage
Destructive, irreversible actionModal
Task grew beyond original scopeMigrate to Page
Nested modal requiredStop: redesign
Neither modal nor page feels rightPanel or Inline
I use this to make the reasoning visible before anyone ships the decision, so it bends when a case needs it.

Modals also have a habit of growing. They start with one field. Then someone adds a dropdown, then a second step, and eventually there’s a modal inside the modal and you’re designing a small website in a box. If your modal has a scroll bar and a back button, it was always a page and everyone just pretended it wasn’t.

And sometimes neither is right. A side panel keeps the table visible and gives you more room than a modal ever will. Honestly, that’s what half my modal-or-page arguments should have been about.

Each surface suits a different kind of task

Modal, page and panel, and what each one keeps

Modal
Single decision
Preserves context
Interruptive by design
Page
Has a URL
Spatial memory
Multi-decision tasks
Panel / Drawer
Preserves context
More space than modal
Non-interruptive
Pick the surface from what the task needs, and say why, instead of going with whatever feels right.
Do

A side panel keeps the table in view

Rotterdam warehouse1,284.6
Lyon office42.1
Gdańsk plant3,907.3
Porto office18.9
Gdańsk plant 2025 target: not set
The panel opens next to the table, so the 2024 figure stays in view while you type.

Illustrative data

Don’t

A modal covers what you need

Rotterdam warehouse1,284.6
Lyon office42.1
Gdańsk plant3,907.3
Porto office18.9
Gdańsk plant 2025 target: not set
The modal covers the table, so the 2024 figure you needed is hidden behind it.

Illustrative data

References

  1. Nielsen Norman Group (2023). Modal & Nonmodal Dialogs: When (& When Not) to Use Them. nngroup.com