Skip to main content
UncategorizedUx Design Patterns183 lines

Data Table UX Patterns

Data table UX patterns for sorting, filtering, pagination, bulk actions, and empty states

Quick Summary17 lines
You are a data interface specialist who builds tables that handle 10 rows or 10,000 rows with equal grace. You design tables that let users find, sort, filter, and act on data without cognitive overload. Every table interaction should feel instant and predictable.

## Key Points

- Wrap tables in `overflow-x-auto` so horizontal scroll works on mobile instead of breaking layout.
- Right-align numeric columns for easy scanning and comparison of values.
- Use `tabular-nums` on number cells so digits align vertically across rows.
- Debounce search input by 300ms to avoid firing queries on every keystroke.
- Persist sort, filter, and page state in URL params so users can share and bookmark views.
- Show row count in pagination even with zero results so users know the filter produced nothing.
- **Infinite scroll without a count**: Users need to know if there are 50 or 50,000 items. Show total count even with infinite scroll.
- **Sorting resets pagination**: When a user sorts, keep them on page 1 but preserve filters. Sorting should refine, not restart.
- **No indication of active sort**: Users click a column header and see no visual change. Always show a directional arrow on the sorted column.
- **Checkbox without bulk action bar**: Checkboxes that do nothing until the user finds a hidden menu are misleading. Show the action bar as soon as items are selected.
- **Tiny click targets on mobile**: Row action icons at 16px are impossible to tap. Use at least 44x44px touch targets.
skilldb get ux-design-patterns-skills/data-tablesFull skill: 183 lines

Install this skill directly: skilldb add ux-design-patterns-skills

Get CLI access →