Skip to content
Open beta — everything’s free right now, and your rate is locked when it ends.

The percent field: 50 means 50%

How Tabla stores percentages as the number you see — type 50, read 50% — and what that means for formulas, filters, and anyone bringing 0–1 fractions from Airtable's API.

Updated August 2026

A percent field stores the number you'd say out loud. Type 50, the cell reads 50%, and the stored value is 50. No hidden division, no 0-to-1 fraction behind the scenes — what you see is the number.

In the demo plant shop, Discount on the Orders table is a percent field: an order with a ten percent discount holds 10.

Adding a percent field: the type picked in the field editor, with its "type 50 for 50%" description and the Decimals and Separators options.

The options

Same pair as a plain number, because underneath it is one:

  • Decimals — displayed decimal places, 06 or Auto. Display only; the stored value keeps its precision.
  • Separators — thousands separators, for the rare percent that earns them.

The % sign is presentation. The grid appends it, the record panel shows it as a suffix on the input, and the stored number never contains it.

In formulas, you divide

Because the cell holds 10, not 0.1, a formula that applies the discount divides by 100 itself. The demo's To collect field does exactly this:

{Total} * (1 - {Discount} / 100)

An order with Total 63 and Discount 10 collects 56.7. If Tabla stored fractions you'd skip the / 100 — it doesn't, so don't.

Coming from Airtable: the ×100 conversion

Airtable shows 50% in a cell but its API sends 0.5 — a 0-to-1 fraction. Tabla's Airtable import converts on the way in, multiplying every percent value by 100, so the number you saw in Airtable is the number you get in Tabla. A cell that read 50% there reads 50% here, and stores 50.

The place this bites is scripts. If you're porting code that wrote 0.5 to Airtable's API, change it to write 50 to Tabla's — send the fraction unchanged and every value lands a hundred times too small. More for switchers at Coming from Airtable.

Filters, sorts, summaries

Numeric, like every number-family field: Discount is at least 15 finds the big discounts, sorting is by value, and Average in the summary bar averages the filled cells (blank is not zero — the details are on the number field page).

Over the API

A plain JSON number, no sign, no fraction:

{ "fields": { "Discount": 10 } }

Write 10 for ten percent. Clear with null.

When it's the wrong field

Nothing stops you storing 150 — a percent field is a number and some percentages are honestly over 100. But if the value is a share of money, store the currency amount instead and let a formula derive the percentage. And a true 0-to-1 probability from another system is happiest in a plain number field, where nobody expects the % sign to mean anything. Switching between all of these is free — same storage, different clothes.

Tabla is the database we build these on.

A no-code database with real Postgres underneath: every feature on every plan, a million records per database, and your whole database back out in one file, any day.

More guides