Skip to main content
Original article by : Brian Greene

Making tables work on small screens is hard. Tables need a fixed layout. Users often compare values across columns and rows. They also need to scan for information quickly. But phone screens don't have much space.

Responsive tables require trade-offs between readability, comparison, interactivity, and technical feasibility. Different audiences will likely warrant different solutions.

This article will show the six most common responsive table patterns that balance readability, comparison, interactivity, and technical feasibility. It focuses on UX trade-offs and helps you pick the right approach for your data and users.

Before choosing a pattern:

  1. Keep tables semantic. Use proper table markup for content that is truly tabular, even if you later transform it. This ensures screen readers work correctly.

  2. Progressively enhance. Start from a plain, readable table. Add responsive behaviors via CSS and JavaScript as enhancements, not requirements.

  3. Honor the task. Choose patterns based on whether users primarily compare across rows and columns, or read one row at a time in detail.

  4. Standardize, don't hack. Solve responsive tables with a small set of documented patterns instead of custom fixes for each product or table.


A traditional table that shrinks with the viewport using percentage-based columns, with no structural changes at different breakpoints. (Out of the box, Bolt tables follow this structure.)


Best for:

Strengths:

Trade-offs:

Implementation: Low effort | Accessibility: Minimal impact

On narrow screens, each table row becomes a stacked block. The first column becomes a row header, with remaining columns displayed as label–value pairs underneath.


Best for:

Strengths:

Trade-offs:

Implementation: Low–medium effort | Accessibility: Good - if headers are preserved properly

Keep 2–3 key columns visible for quick scanning, with additional columns hidden in a per-row disclosure area. Expanding a row reveals the hidden data stacked below.


Best for:

Strengths:

Trade-offs:

Implementation: Medium effort | Accessibility: Requires focus management and proper disclosure patterns

Keep the first column fixed (usually the row label) and allow horizontal scrolling or swiping for remaining columns on narrow screens.


Best for:

Strengths:

Trade-offs:

Implementation: Medium–high effort | Accessibility: Needs scroll affordances and navigation support

At narrow sizes, render a completely different component—cards, lists, or a simplified summary—instead of adapting the table structure.


Best for:

Strengths:

Trade-offs:

Implementation: High effort | Accessibility: Good if both modes use semantic structures

Replace the table with a completely different interactive widget—comparator, calculator, configurator, visualization—when tabular layout is no longer the best mental model.


Best for:

Strengths:

Trade-offs:

Implementation: Very high effort | Accessibility: Must adhere to widget-level semantics and keyboard support

Ask these three questions to select the right pattern:

1. Do users primarily compare across many rows or columns?

2. Do users primarily read one row at a time?

3. Are mobile tasks fundamentally different from desktop tasks?


Thumbnail: Flowchart illustrating the decision process.
Figure 7: Decision Flowchart

Also consider:

Responsive tables aren't solved with a single pattern—they're solved with a toolkit. By adopting this library of six patterns, product teams can choose the right structural response based on the data, the user's intent, and platform constraints. This framework brings clarity, consistency, and accessibility to one of the most complex UI components in responsive design.

Display settings

Note: not all settings persist across pages

Default Compact (-1) Sparse (+1) XL (default) 2XL 3XL Default Min Max Light (default) System Dark Branded (default) Unbranded