Airtable dates are a day off in Google Sheets. Here is why

An Airtable date in Google Sheets is set by three things: the field's time zone, the spreadsheet locale, and what the cell really holds. Fix the right one.

Title card for the post, showing an Airtable table panel connected by a downward arrow to a Google Sheets panel on a dark background

The report goes out at nine. The date column came from Airtable and it is wrong. Not obviously wrong, which would at least be easy to explain to whoever is waiting for it. Wrong by one day. Or by five hours. Or wrong only on the rows where somebody scheduled something for the evening.

You have probably already changed a date format setting and watched it do nothing. Three separate settings decide what shows up in that cell, they live in two different products, and the one most people change first is almost never the one causing the problem.

Work out which of the three you have before you touch anything. It takes about two minutes.

The short answer

Airtable does not store the date you see. It stores an exact instant in UTC and converts it for display. Google Sheets does the same with its own time zone, which belongs to the spreadsheet rather than to you. The value in your report is the output of two conversions and one display format, and any of the three can be the thing that is off.

Match your symptom to the row, then change only that setting.

What you are seeing What it usually is Where the fix lives
Off by one day, often only on evening or early-morning rows The Airtable field carries a time, and the stored instant fell into the next calendar day Airtable, the field's Formatting settings
Off by the same number of hours on every row The spreadsheet is reading the value in a different time zone from the one you expect Google Sheets, File then Settings
Looks correct on screen, sorts or subtracts wrong The cell holds text that resembles a date Google Sheets, the cell itself
03/04 landing in the wrong month The spreadsheet locale reads day-first where the data was written month-first, or the reverse Google Sheets, File then Settings

Changing all three at once is how a report ends up wrong in a new way. Change one, refresh, look again.

Three tinted panels, each naming a symptom and the one setting behind it: a day late points at the Airtable date field carrying a time, out by the same hours on every row points at the spreadsheet's time zone, and looks right but the maths is wrong points at the cell holding text instead of a date.

Off by exactly one day: start in Airtable

Airtable stores dates in Greenwich Mean Time. Its support documentation states this plainly, and every date leaving Airtable, by export or automation or sync, leaves as an instant in UTC.

So a workshop set for 9:00 PM on 31 March in New York is stored as 1:00 AM on 1 April. Nothing has gone wrong. The account manager who booked it sees 31 March, because her browser converts it back. Anything reading the stored value sees 1 April, and your March total is short by one.

That is why the shift hits some rows and not others. Only the times late enough in the evening, or early enough in the morning, cross midnight when converted.

The fix

In Airtable, click the dropdown arrow next to the field name, click Edit field, and open the Formatting section. Three controls there matter:

Include time. If your report only cares about which day something happened, turn this off. A date with no time attached cannot drift across midnight, and this one change resolves most off-by-one-day complaints permanently. Reach for it first. It is also the only one of the three that changes the value itself rather than the display, which is why it is the one that reaches a synced spreadsheet.

Use the same time zone for all collaborators. Leave this off and every collaborator sees the stored instant converted into their own local time, so two people looking at the same record really do see different times. Turn it on and you pick one time zone, GMT by default, that everyone sees.

Display time zone. Turn this on while you diagnose. It puts the zone abbreviation next to the value, which usually ends the argument in about ten seconds.

One thing to hold onto, because it explains most failed fixes: the two time zone settings change what people see in Airtable, not what Airtable stores.

  • A CSV export takes the displayed value, so the field's formatting settings carry through to the file.
  • A sync or automation reads the stored value, so display settings make no difference to what lands in your spreadsheet.

If you flipped the GMT toggle, watched Airtable change, then found the Sheet unchanged after the next sync, that is exactly what you were seeing.

Off by a fixed number of hours: it is the spreadsheet

If every row is out by the same amount, always, in the same direction, this is not a data problem. It is an offset, and it is coming from the spreadsheet.

Every Google spreadsheet carries its own time zone and locale. Per spreadsheet, not per account, so a file created by a colleague in Berlin keeps Berlin's settings after you copy it, rename it, and hand it to a client in Chicago. Nobody thinks to check, because nothing on screen announces it.

Open File, then Settings. Under General you get a Locale menu and a Time zone menu. Set both, then click Save settings. Google's documentation is direct about the consequence: "it changes for the entire spreadsheet. Everyone working on it will see the changes, regardless of their location."

That time zone is what NOW() and TODAY() are calculated against, and what any formula doing date arithmetic uses as its reference point. Set it to the time zone the report is read in, not the one you happen to be sitting in this week.

Three rows showing one workshop booked for Tuesday 31 March at 9:00 PM in New York. The person who booked it sees 31 March in Airtable. The person reading the synced Google Sheet sees 1 April at 1:00 AM. The formula totalling March does not count it at all. A closing bar reads that nobody is wrong, three settings simply disagree.

Worth saying plainly, since this is our own tool: Airtable to Sheets writes a date-time as the stored UTC clock time in year-month-day order, for example 2026-04-01 01:00:00. It does not shift the value into a local zone, because it has no way to know which local time your report is read in. A booking showing 9:00 PM New York in Airtable arrives as 01:00 the next day. Same instant, different clock. If the cell has to read local, add a helper column that offsets it, and expect that fixed offset to be an hour out during daylight saving changeovers.

Right on screen, wrong in a formula

The most frustrating of the three, because everything looks fine. The column reads 2026-03-05, the eye accepts it, then the sort puts December before February and a subtraction returns an error.

A Google Sheets cell holds a date as a number. Day zero is 30 December 1899 and every date since counts forward from there, with the time of day carried as a fraction of a day. The date on screen is a costume the number is wearing. If the cell holds text that merely looks like a date, no number exists underneath, so sorting falls back to alphabetical order and arithmetic has nothing to work with.

Two ways to tell in five seconds:

  1. Look at the alignment. Google Sheets right-aligns real dates and left-aligns text. A column of dates hugging the left edge is a column of text.
  2. Ask it. Put =ISNUMBER(A2) in a spare cell, pointing at a date cell. TRUE means a real date. FALSE means text dressed as one.

The fix

Select the column and apply Format, then Number, then Date or Custom date and time. If the values were already real dates in a format you disliked, they redraw and everything downstream starts working.

If the values are text, changing the format will not touch them, because there is no number to reformat. Set the spreadsheet locale correctly first, then have the column written again. Fixing the locale afterwards does not convert anything already sitting in the sheet.

The 03/04 problem

This one costs international teams more than the other two put together, and it fails silently.

03/04/2026 means 3 April to most of the world and 4 March to the United States. Both are valid dates, so nothing errors and no warning appears. Your monthly totals quietly move records into the wrong month, and the first person to notice is usually the client.

The Locale menu is the control. It sets the order the spreadsheet reads and writes. Send a US-formatted export into a UK-locale spreadsheet and the pairs below 13 get swapped while everything above 12 is left as text, which is why a column can end up half wrong.

The durable answer is to stop shipping ambiguous dates. Year-month-day order, 2026-03-04, has one reading in every locale on earth. It is why the add-on writes dates that way, and why ISO is worth choosing as the date format on any Airtable field you export by CSV. An ugly column nobody misreads beats a friendly one that loses a month.

The Airtable-side workaround, and what it costs

Search this problem and the Airtable community gives the same answer over and over: build a formula field.

The pattern is DATETIME_FORMAT(SET_TIMEZONE({Date}, 'America/New_York'), 'YYYY-MM-DD HH:mm'). Airtable's documentation is explicit that SET_TIMEZONE has to sit inside DATETIME_FORMAT to apply, so the two always travel together. Point it at the time zone your report is read in, sync that field instead of the raw one, and the value arrives pre-converted.

It works. Here is the part that rarely gets mentioned alongside it.

DATETIME_FORMAT returns text. Not a date. A string of characters that looks like one. That is documented behaviour, and it is why people who adopt this trick then find they can no longer filter the field by date range in Airtable or use it in a calendar view.

Carry it into Google Sheets and you inherit the third symptom above. The column looks immaculate, and it will not sort chronologically, will not subtract into a duration, and will not group into months in a pivot table.

Fix the field settings Sync a DATETIME_FORMAT field
What it costs you One toggle per field A new field per date field
Changes what a CSV export gives you Yes Yes
Changes what a sync writes Only if you turn off Include time Yes
Still a real date inside Airtable Yes No, it becomes text
Sorts and subtracts in Sheets Yes Only after you convert it back

Use the formula field for a label printed into a document or an email. For a column anything downstream calculates on, fix the settings and keep the real date. A report built on text dates cannot be filtered by quarter, which is discovered at the worst possible moment.

Common questions

Why is my Airtable date one day earlier in Google Sheets, not later?

Same cause, opposite direction. If your zone is ahead of UTC, an early-morning time converts backwards. A 6:00 AM appointment in Sydney is still the previous day in UTC. Turning off Include time removes the problem in either direction.

Does changing the GMT toggle in Airtable fix my synced sheet?

Only if your route out of Airtable is a CSV export, which takes the displayed value. A sync reads the stored value, so the toggle changes what you see in Airtable and leaves the spreadsheet as it was.

Where is the time zone setting in Google Sheets?

File, then Settings, then under General use the Locale and Time zone menus and click Save settings. It belongs to the spreadsheet, so everyone who opens the file gets the same setting wherever they are.

My date column will not sort correctly. What now?

Check =ISNUMBER() on one of the cells. FALSE means the column is text, and reformatting will not fix it. Correct the spreadsheet locale, then have the column written again.

Does a date field with no time still shift?

No. A date-only field has no time of day to convert, so nothing can push it across midnight. That is why removing the time is the most durable fix available to you.

What to do next

Work top to bottom. Turn off Include time on any field whose report only needs the day. Set the spreadsheet's locale and time zone once, deliberately, before anyone builds a formula on top of it. Keep dates as real dates and let the display format do the cosmetic work.

Dates are one of several Airtable field types that arrive in a spreadsheet looking simpler than they are. Which Airtable field types survive the trip to Google Sheets covers the rest, including the ones that mislead you rather than visibly break. A wrong date column spreads, so fix it before you build: Airtable to Google Sheets for reporting shows the two-tab pattern that survives a refresh, and how to sync Airtable to Google Sheets covers the four ways to move the data in the first place.

Still landing wrong after all three checks? Support will look at the specific field with you.