Skip to content
UX Atlas
Plate PAT·022 · PatternGrid F2 · Rev. 2026-09-14

Undo

Reversing the last action, which is the single highest-value safety mechanism in most products.

PatternExpert heuristicIntermediate

Definition

Undo reverses a completed action, restoring the previous state. It replaces most confirmation dialogs and makes exploration safe, which changes how willing users are to learn by trying.

Expert heuristic. A review criterion developed by practitioners. Useful and widely taught, but evaluated by judgement rather than measurement.

On this plate
  1. 1Definition
  2. 2Implementation decisions that matter
  3. 3What undo has to cover
  4. 4Ways to make something reversible
  5. 5Undo people can find
  6. 6Three windows, and the reader has to know which one applies
  7. 7In practice
  8. 8Commonly confused with
  9. 9Local chart
  10. 10Continue from here

Reach for this when

  • Any reversible action.
  • Replacing confirmation dialogs.
  • Building content creation tools.

Common mistakes

  • Undo only available in a toast.
  • Windows too short to be useful.
  • Scope that does not match user expectation.
  • Offering undo in a toast that vanishes, while the action itself was permanent.

Implementation decisions that matter

  • Scope: is undo global, per document, or per surface? Users expect it to reverse the last thing they did, whatever that was.
  • Duration: long enough to notice the mistake. A four-second toast is not long enough for most people.
  • Reachability: the keyboard shortcut, a menu entry and an inline control, not only a transient message.
  • Depth: multiple levels where feasible, and a clear statement of the limit where not.
  • Collaboration: in shared documents, undo should reverse your own action, not someone else's.

What undo has to cover

DecisionOptionsNote
ScopeLast action, or a historyA history needs stable names for each step
WindowSeconds in a toast, or permanentSay which, at the moment of the action
ReachThis device, or the accountA collaborative product needs to answer this explicitly
ConflictsWhat happens if someone else edited sinceThe case that decides how hard this is
DiscoverabilityA visible control, not only a shortcutCtrl+Z is invisible to most readers

Ways to make something reversible

Undo is one mechanism among several. The right one depends on how long the reader might take to notice.

  • A command history, reversing the last action and the ones before it, for editing surfaces.
  • Soft delete with a trash, for anything a person might miss a day later.
  • Version history, for documents, where the reader wants a point in time rather than a step count.
  • A send delay of a few seconds, which converts an irreversible action into a cancellable one at almost no cost.
  • Drafts and autosave, which make an interrupted session recoverable rather than lost.
  • An export, which is the last resort reversibility for anything the product itself cannot restore.

Undo people can find

Do

  • Put a visible control beside the result of the action, as well as on the shortcut.
  • Keep the offer long enough to notice the mistake, and say how long it lasts.
  • Say what was undone afterwards, so the reader can tell it worked.
  • Undo the reader's own last action in a shared document, not whatever happened most recently.

Do not

  • Rely on a toast that vanishes in four seconds as the only route.
  • Offer undo for something the server has already made permanent.
  • Silently drop the undo stack on navigation, so the option was real and then was not.
  • Undo a batch as one step when the reader expected to reverse a single item.

Three windows, and the reader has to know which one applies

Inline undoin place, not a 4s toastTrashrestorable, window statedPermanentnothing left to recoverthe actionundo offer endstrash emptiedSay which window applies at the moment of the action, not in a help page.
Most products offer the first and the third and nothing in between, which is why deletion feels risky in products that have a trash nobody mentions.

In practice

  1. i.

    Undo instead of confirm

    Mail and task tools

    Send with a short undo window replaced the confirm-before-send dialog and is now the expected behaviour. Nobody is interrupted, and the mistake is still recoverable.

  2. ii.

    Undo instead of asking

    What it replaces

    Replacing a confirmation dialogue with an immediate action plus undo removes an interruption from every correct use and keeps the protection for the rare mistake. That trade is why undo is the stronger pattern.

Commonly confused with

Close neighbours that get substituted for each other. The difference is stated first, then the condition that picks one over the other.

vs.

Confirmation

Pattern

A prompt that requires approval before an action is carried out.

Key difference

Confirmation asks before, and taxes every action to catch the rare mistake. Undo forgives after, and costs nothing when the reader was right. Reach for confirmation only where undo is genuinely impossible.

Use Undo when

  • The previous state can be restored.
  • The action is frequent, and a prompt would be dismissed by reflex.
  • You want people to explore without fear of breaking something.

Use Confirmation when

  • The action truly cannot be reversed, such as a permanent deletion.
  • It is rare enough that the prompt will still be read.
  • The consequence reaches beyond the reader, as with sending or publishing.

Learn about Confirmation

Local chart

PAT·022 · Region III · Grid F2

This entry and the entries it is stated to connect with. Each line is labelled with what the connection means.

Each link says what the connection is, so you can tell a principle from an alternative from a thing people mix this up with.

Principles behind this

The reasoning this solution is an application of.

Depends on

Get these right first, or this one will not hold.

Often used with

These usually appear in the same screen or the same decision.

Related concept

Connected closely enough to change how you apply this.