Skip to content

Formatting Data for Import

The cleaner your data, the better InstaCharts can detect column types and build a chart for you. You don’t need to summarize or reshape anything first; just follow a few simple rules so your spreadsheet imports the way you expect.

This guide applies to every import method: uploading a file, connecting a Google Sheet, or pasting in text.

Use rows and columns

InstaCharts reads tabular data: a simple grid where every column is a field and every row is a record.

Good: a plain grid of rows and columns

ProductRegionUnitsRevenue
NotebookEast12240
NotebookWest8160
PenEast4080
PenWest2550

Each row describes one thing, and each column holds one piece of information about it.

Columns run top to bottom

Every column is a single field, with its values stacked vertically underneath the column name. A common mistake is laying data out horizontally, putting field names down the left side and spreading each record across a row.

Avoid: fields laid out horizontally

NameAliceBobCarol
Age302535
CityNYCLASF

Good: the same data with fields as vertical columns

NameAgeCity
Alice30NYC
Bob25LA
Carol35SF

Put column names in the first row

The first row of your sheet should be the column names. InstaCharts uses that row as the header, and each name becomes the Column Name you’ll see throughout the app: in the data table, the chart axes, filters, and legends.

Good: clear names in the first row

MonthSignupsRevenue
January3204800
February4106150

Avoid: no header row (data starts immediately)

January3204800
February4106150

Without a header row, your columns get generic names like A, B, and C, which make charts harder to read.

Keep one value type per column

Each column should contain a single type of value: all numbers, all dates, or all text. InstaCharts inspects the values in each column to detect its column type. If a number column contains stray text, the whole column is treated as text and can no longer be plotted on a number axis or aggregated.

Avoid: a number column with text mixed in

SalespersonDeals
Alice12
Bob8
Carolpending
Dan15

Good: numbers only, empty where unknown

SalespersonDeals
Alice12
Bob8
Carol
Dan15

One set of data per sheet

Keep just one table per sheet. Don’t place a second table below or beside the first, and don’t add totals rows, titles, or notes above the data; InstaCharts reads the sheet as one continuous grid.

Avoid: two tables stacked in one sheet

MonthSales
Jan500
Feb650
RegionSales
East700
West450

Instead, split the tables into separate sheets (or separate tabs in an Excel/Google workbook; each tab imports as its own sheet).

You don’t need to summarize your data

Import your raw, row-level data; you do not need to total or group it first. InstaCharts aggregates automatically when it builds the chart, so repeated categories are expected and fine.

This raw table is perfectly good to import:

RegionSales
East100
East150
West200
East50
West175

You don’t have to add up the three “East” rows yourself. When you chart Region against Sales, InstaCharts sums them into a single East bar for you, and you can switch the summary to average, count, min, or max at any time.

JSON objects are split apart for you

If a column holds JSON objects, InstaCharts recognizes them and can split each property into its own column, so the individual values become chartable.

A column with JSON object values:

OrderCustomer
1001{"city":"Austin","state":"TX","vip":true}
1002{"city":"Reno","state":"NV","vip":false}

Using Split Object Column from the column’s header menu turns that one column into three:

OrderCustomer.cityCustomer.stateCustomer.vip
1001AustinTXtrue
1002RenoNVfalse

The same applies to lists: a value like [1,2,3] is imported as an Array and shown correctly in the data table. See Transform Data for more on reshaping columns after import.

Column types

InstaCharts detects a type for every column based on the values it contains. The type controls how a column is displayed, whether it can be plotted on a number or date axis, and how it can be aggregated. Types are detected automatically; you can override any column’s type from its header menu on the Data tab.

Text and categories

Categorical values become the labels and groups in your charts.

TypeUse it forExample
TextNames, labels, and general categoriesNorth America
BooleanYes/no or true/false valuestrue
Integer CategoryWhole numbers treated as categories instead of a number axis1, 2, 3
IdIdentifier values that label a record1024
UUIDSoftware-generated unique identifiers, treated as text9f1c2a7e…

Numbers

Numeric columns can be plotted on a value axis and aggregated (sum, average, count, and more). InstaCharts strips formatting like symbols and separators so the values can be charted.

TypeUse it forExample
IntegerWhole numbers42
Big IntegerWhole numbers greater than one billion5000000000
DecimalNumbers with a fractional part3.14
PercentPercentages27%
CurrencyMoney values$1,250.00
YearA year, displayed without thousands separators2026

Dates and time

Date columns unlock time-based charts and can be split into parts like month or year.

TypeUse it forExample
DateCalendar dates (American MM/DD/YYYY)07/08/2026
TimestampDates with time, in ISO-8601 format2026-07-08T15:25:18.848Z

Structured values

These columns hold more than one value per cell. InstaCharts parses them so they display correctly, and they can be broken apart into simpler columns.

TypeUse it forExample
ObjectA JSON object in a single cell{"a":1,"b":2}
ArrayA list of values in a single cell[1,2,3,4,5]
Multiple ChoiceSeveral comma-separated selections in one cell (surveys)chrome, firefox, safari