Skip to main content

CRUD UX Patterns

When to use: Designing data management interfaces. Building admin panels, lists, forms.

The test: Can users Create, Read, Update, Delete without confusion about what will happen?


Quick Reference

OperationUser QuestionDesign Answer
Create"How do I add one?"Obvious + button or CTA
Read"Where is it?"Scannable list with search/filter
Update"How do I change it?"Inline or modal edit
Delete"What if I make a mistake?"Confirmation + undo option

Create

Checklist

  • Clear "Add" or "Create" button visible
  • Button near the list it adds to
  • Form fields match expected data
  • Required vs optional fields clear
  • Success feedback after creation
  • New item visible in list immediately

Decision: Modal vs Page

Use Modal WhenUse Page When
1-5 simple fields6+ fields
Context mattersComplex validation
Quick add flowRelated sub-items

Read (List View)

Checklist

  • Key identifier visible (name, ID, date)
  • Status indicators if applicable
  • Sortable columns
  • Search/filter for large lists
  • Empty state with CTA to create
  • Pagination or infinite scroll

Information Density

Data VolumePattern
< 20 itemsShow all
20-100 itemsPagination
> 100 itemsSearch required

Update

Inline Edit

  • Edit icon or clickable text
  • Clear save/cancel controls
  • Validation before save
  • Visual feedback on change
  • Clear "Edit" affordance
  • All editable fields in modal
  • Save and Cancel buttons
  • Escape key cancels

Page Edit

  • "Edit" link in list row
  • Back navigation clear
  • Save button prominent
  • Unsaved changes warning

Decision Matrix

ScenarioBest Pattern
Single field changeInline
2-5 fieldsModal
Complex formPage
Context neededModal
URL requiredPage

Delete

Checklist

  • Delete action clearly destructive (red, warning icon)
  • Confirmation dialog for destructive action
  • Item name shown in confirmation
  • Consequences stated ("This cannot be undone")
  • Undo option if possible (soft delete)
  • Success confirmation after delete

Confirmation Dialog

Title: Delete [Item Name]?

Body: This will permanently remove [Item Name] and all associated data.
This action cannot be undone.

[Cancel] [Delete]

Soft Delete Pattern

  1. Mark as deleted (don't remove from DB)
  2. Show "Deleted" toast with Undo button
  3. 10-second window to undo
  4. After timeout, hide from UI
  5. Actually delete after 30 days (background job)

Bulk Operations

Checklist

  • Select all / deselect all
  • Count of selected items shown
  • Bulk actions disabled when nothing selected
  • Confirmation for bulk delete
  • Progress indicator for long operations

UI Pattern

┌─────────────────────────────────────────────┐
│ ☑ Select All (3 selected) [Delete] [Export]│
├─────────────────────────────────────────────┤
│ ☑ Item 1 │
│ ☑ Item 2 │
│ ☑ Item 3 │
│ ☐ Item 4 │
└─────────────────────────────────────────────┘

State Management

Loading States

  • Skeleton while loading
  • Disabled actions during save
  • Progress indicator for long saves

Error States

  • Field-level validation errors
  • Form-level error summary
  • Retry option on failure
  • Data preserved on error

Empty States

  • Friendly message (not "No data")
  • Illustration optional
  • Clear CTA to create first item

Keyboard Shortcuts (Power Users)

ActionShortcut
Create newN
Edit selectedE
Delete selectedDelete/Backspace
Select allCmd/Ctrl + A
Search/ or Cmd/Ctrl + F
SaveCmd/Ctrl + S
CancelEscape

Quick Diagnosis

SymptomLikely CauseFix
Users can't find "Add"Button not prominentMove to top-right, use + icon
Accidental deletesNo confirmationAdd confirmation dialog
Lost workNo save warningWarn on navigation with unsaved changes
Slow for power usersMouse-onlyAdd keyboard shortcuts
Confusion on editUnclear where to clickAdd explicit Edit button

References