---
title: "Table Cell Types"
description: "Every way a Table widget can format a column, from plain text and currency to status pills, progress bars, in-cell sparklines, heatmaps, and saved views."
section: "Dashboards"
canonical: "https://banksync.io/docs/dashboards/dashboards-table-cell-types"
---

A **Table widget** lists rows from your data, and every column decides how its values look. That look is the column's **cell type** (also called the column's "format"). A cell type can be as plain as left-aligned text, or as rich as a colored status pill, a tiny inline chart, or a progress bar. This page is the full reference: every cell type, when to reach for it, and how saved views let you keep your own arrangement of a shared table.

If you are new to tables, start with [KPI, Table & Gauge Widgets](kpi-table-gauge) for the basics of adding columns, then come back here when you want to control exactly how a column reads. To shape the data behind the table (which fields, grouping, totals), see [Binding Data](binding-data).

> **Where cell types come from:** A cell type is set per column, so two columns of the same table can read completely differently. You change a column's type in the table's column manager (open a Table widget, then open a column in the inspector and pick its Format).

## The two everyday paths

There are two ways a column ends up with a cell type:

1. **You pick it in the inspector.** Open a column and choose a Format. The dropdown covers the nine everyday types that suit almost every finance table: Text, Number, Currency, Percent, Date, Relative date, Boolean, Duration, and JSON. Pick Currency and a second control appears so you can choose the currency code (USD, EUR, GBP, and more).
2. **A richer type comes from a template or an AI agent.** The other types below (status pills, progress bars, sparklines, heatmaps, ratings, chips, and so on) render perfectly in the table, but they are not yet offered in the inspector dropdown. They arrive when you start from a [template](dashboard-templates) that already styles a column that way, or when you ask an AI agent to build the table for you (a staging-only capability today). Once set, they display exactly as described here.

![The table column manager showing a Date column and an Amount column, each with reorder grips and per-column format, alignment, and pin settings, plus two more fields available to add.](https://cdn.banksync.io/screenshots/dashboards/table-inspector.354ae711218831ee.png "The column manager: each column card carries its own Format, alignment, pin, and width. The Format dropdown offers the nine everyday cell types.")

## Everyday cell types

These nine are available directly in the column Format dropdown. They cover the vast majority of finance and operations tables.

| Cell type         | What it shows                                                                                | When to use it                                                                                         |
| ----------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| **Text**          | The raw value as a single line, with an ellipsis (…) and a hover tooltip if it is too long   | Names, descriptions, references, IDs, anything that is not a number or date                            |
| **Number**        | A formatted number with thousands separators, right-aligned and using even-width digits      | Counts, quantities, scores, anything numeric that is not money or a percentage                         |
| **Currency**      | A money amount with the currency symbol and code you choose                                  | Amounts, balances, totals. Pick the currency code from the second dropdown                             |
| **Percent**       | The value as a percentage                                                                    | Rates, shares, margins, allocations                                                                    |
| **Date**          | A formatted calendar date                                                                    | Transaction dates, statement dates, due dates                                                          |
| **Relative date** | How long ago, in words (for example "3 days ago")                                            | Last-synced, last-seen, recent activity, where "when" matters more than the exact date                 |
| **Boolean**       | A green check for true and a grey cross for false                                            | Yes/no flags: reconciled, cleared, active, flagged                                                     |
| **Duration**      | A length of time written as "1h 23m" or "2d 4h"                                              | How long something took, time between events. Set whether the stored number is seconds or milliseconds |
| **JSON**          | A compact, single-line preview of a structured value, truncated with the full value on hover | Raw metadata or nested objects you want visible without breaking the row                               |

> **Money and percentages can color themselves:** Currency and Percent columns have an optional color-by-sign setting: negatives turn red and positives turn green. This is handy for a cashflow or profit-and-loss column where you want losses to jump out. It is part of the column's saved configuration rather than the basic dropdown, so it usually comes from a template.

## Richer cell types

These render in the table today but are set through a template or an AI agent rather than the inspector dropdown. Reach for them when a plain number or text would hide something useful. In a single row you might see a green-or-red Currency amount, a colored Status pill, a Progress bar filled to a budget figure, and a tiny inline Sparkline trend all sitting side by side, each carrying more meaning than the bare number it replaces.

### Status and signals

| Cell type  | What it shows                                                                                                                                   | When to use it                                                                                               |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| **Status** | A rounded, colored pill. You map each value to a tone: neutral, success (green), warning (amber), danger (red), info (blue), or accent (violet) | Transaction status (posted/pending), reconciliation state, health, anything with a small fixed set of states |
| **Icon**   | A single glyph chosen from a value-to-symbol map, with a fallback when nothing matches                                                          | Compact flags or category markers where a symbol reads faster than a word                                    |
| **Rating** | A row of stars (up to a maximum you set), with half-stars for fractions                                                                         | Scores, confidence, quality ratings out of 5                                                                 |

### Bars and inline charts

| Cell type     | What it shows                                                                                                                 | When to use it                                                                                     |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| **Progress**  | A small bar filled to the value as a percentage of a maximum, with the percent beside it                                      | Budget used, goal completion, utilization                                                          |
| **Sparkline** | A tiny inline chart drawn from an array of numbers in that row. Shapes: line, area, or bar (a win-loss shape renders as bars) | A trend per row, such as the last few months of spend for each category, without leaving the table |
| **Heatmap**   | A colored background whose intensity scales with the value across the column                                                  | A "where are the big numbers" view, such as spend per cell in a grid of categories                 |
| **Range**     | Two values shown as "low to high", optionally with a small inline bar                                                         | Min/max, budget bands, an amount range                                                             |

> **Heatmap and range scale to your data automatically:** 'A heatmap or range bar needs a low and a high bound to know how to color or size itself. Unless a template pins explicit bounds, the table measures the smallest and largest values in that column across the rows on screen and scales to them. So the brightest heatmap cell is your largest value and the dimmest is your smallest, with no setup.'

### Text and content

| Cell type    | What it shows                                                                     | When to use it                                                        |
| ------------ | --------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| **Markdown** | A small subset of formatting (bold, italic, inline code) rendered inside the cell | Short notes or labels that benefit from emphasis                      |
| **Chips**    | Each item in an array shown as its own small rounded tag                          | Tags, labels, multiple categories on one row                          |
| **Link**     | The value as a clickable link, opening in the same tab or a new one               | A reference that points somewhere, such as an invoice or document URL |
| **Image**    | A small thumbnail loaded from an image URL in the cell                            | Logos, avatars, receipt thumbnails                                    |
| **Diff**     | An old value struck through, an arrow, then the new value                         | Before/after changes, such as a corrected amount or a renamed payee   |

## The two types that fall back to plain text

The cell-type system has 23 types in total. Two of them do not yet render specially and instead show as plain text:

- **Formula** is reserved for a computed cell. There is no calculation engine behind it yet, so a Formula column displays its raw value as text. To compute a value today, do it in the data layer (see [Binding Data](binding-data)) rather than in the cell.
- **Custom** is reserved for a cell drawn by your own code widget. It has no in-cell host runtime, so it also degrades to text. Custom widgets themselves are a separate, code-authored surface noted in [Troubleshooting](dashboards-troubleshooting).

Choosing either of these will not break the table; the column simply reads as text until those capabilities ship.

## Per-column controls (any cell type)

The cell type decides how a value looks. These settings, available on every column in the column manager, decide where and how the column sits in the table:

- **Header**: a custom title for the column, plus an optional small icon and a hover description.
- **Alignment**: left, right, or center. Numbers and money usually read best right-aligned.
- **Pin**: stick the column to the left or right edge so it stays put while you scroll wide tables sideways. There is also a table-level "sticky first column" that pins the first visible column for you.
- **Width**: a fixed width, or minimum and maximum bounds.
- **Visible**: hide a column without removing it.
- **Sortable**: allow clicking the header to sort by that column.

> **A worked example: a clean transactions table:** Say you point a Table at your Transactions feed. You set Date as the first column (Date format, pinned left so it stays visible). You set Payee as Text. You set Amount as Currency in USD with color-by-sign, so refunds show green and charges show red, right-aligned. You set Status as a Status pill mapping 'posted' to success and 'pending' to warning. The result reads at a glance: when, who, how much (with losses in red), and whether it has cleared.

## Saved views

A **saved view** is a named arrangement of one table: which columns are shown and in what order, their widths, what is pinned, how it is sorted, any column filters, grouping, the row density, and the page size. Saved views let one shared table serve several purposes without anyone re-arranging it each time.

A saved view captures:

- **Column visibility, order, and widths**: your layout of the same underlying columns.
- **Pinning**: which columns stick to the left or right.
- **Multi-column sort**: sort by more than one column at once (for example by Date, then by Amount).
- **Column filters**: per-column rules that narrow the rows. A column filter can reference a dashboard-wide filter, so the table follows the dashboard's date range or category picker automatically. (See [Filters and Cross-Filtering](filters-and-cross-filtering) for dashboard filters.)
- **Grouping**: group rows by one or more columns.
- **Density**: comfortable, compact, or tight row spacing.
- **Page size**: how many rows per page.

A view can be **default** (the one the table opens with) and scoped to just you or to the whole workspace.

> **How saved views are created today:** 'Saved views are stored in a typed, durable form so they survive edits and can be reasoned about by an AI agent. Today they are written by an agent through the table saved-view tool (a staging-only capability), not yet by a button in the inspector. The underlying table still supports sorting, resizing, and paging on the fly; a saved view simply captures one such arrangement under a name.'

## Tips for picking a cell type

- Start with the everyday nine in the dropdown. They cover most finance tables and are the only types you can set yourself right now.
- Use **Currency with color-by-sign** for any money column where direction matters.
- Use a **Status** pill instead of raw text for a small fixed set of states; it reads far faster.
- Use a **Sparkline** or **Progress** bar when a row carries a trend or a "how far along" value you would otherwise have to read as a list of numbers.
- Let **Heatmap** and **Range** scale themselves to your data unless you have a specific reason to pin bounds.
- If you want a richer type that is not in the dropdown, start from a [template](dashboard-templates) that already uses it, or ask an AI agent to build the table.

## Related guides

- [KPI, Table & Gauge Widgets](kpi-table-gauge): the basics of adding columns and the three non-chart widget types.
- [Binding Data](binding-data): choose the fields, grouping, and totals behind the table.
- [Filters and Cross-Filtering](filters-and-cross-filtering): dashboard-wide filters a column filter can follow.
- [Templates](dashboard-templates): a fast way to get richly formatted tables without setting each cell by hand.
- [Publishing and Sharing](publishing-and-sharing): share a finished dashboard or a single table widget.
- [Dashboards Overview](dashboards-overview): how the whole dashboard editor fits together.
