Quick answer
Notion has no native Google Sheets sync, so pick by what the data has to do. Embed the sheet to look at it, import a CSV to move it once, pull Notion into Sheets with Coefficient or SyncWith for reports, or build a Zapier or Make recipe for rows that only flow one way.
When both sides get edited, you need a two-way sync tool. Sync2Sheets is the fastest, syncing in real time from $12/month billed annually. 2sync is the cheapest paid option for one table, at $7/month billed annually.
A spreadsheet is usually the thing nobody will give up: the formulas are trusted, and the accountant already knows where to look. Notion holds the rest of the project, from the brief to the status everyone checks on Monday.
So the question is less which tool wins than how much agreement you need between the two. The five ways below buy very different amounts of it.
The 5 ways compared
The column that decides most of this is the third one. Creating rows is easy. Knowing which row belongs to which page, run after run, is what separates a copy from a sync.
| Way | Direction | Remembers which row is which page | Speed | Cost |
|---|---|---|---|---|
| Embed | Neither, it's a view | Nothing is copied | Live view | Free |
| CSV import | One way, once | No, repeat imports duplicate | Manual | Free |
| Scheduled pull | Notion to Sheets | Not needed, the range is rewritten | Manual to 5 min | Free plans |
| Zapier, Make, n8n | One way per recipe | No, you build that yourself | Instant to 15 min | Free tiers |
| Two-way sync tool | Both ways, per column | Yes, through an ID column or key field | Real-time to daily | Free tier, paid from $7/mo (annual) |
1. Embed the sheet in a Notion page
The fastest option, and often the right one. Paste the sheet's link into a Notion page and choose Embed, or type /drive and paste it there.
Nothing is copied: Notion displays Google's own sheet, so the numbers are never stale. But the data isn't in a Notion database, so you can't filter it with views or relate it to anything.
Choose this when the sheet is reference material: a rate card, a model somebody else maintains, a dashboard you glance at.
2. Import or export a CSV once
Export the tab from Google Sheets as a .csv, then bring it into Notion one of two ways:
- A new database: in Notion go to Settings, choose Import, and pick CSV.
- An existing database: open it as a full page, click ••• and choose Merge with CSV, then match the columns to your properties.
This is a migration, not a connection. Notion's help documentation says imports add rows rather than update existing ones, so a second import duplicates the first. Files are capped at 5 MB on the free plan and 50 MB on paid plans, and formulas arrive as values.
Going the other way:
- In Notion, click ••• on the page that holds the database, choose Export and pick Markdown & CSV.
- Unzip the download.
- In Google Sheets, use File > Import and upload the CSV.
Notion exports the current view or the default view, not every view. Choose this when one tool is being retired and the other takes over.
3. Pull Notion into Sheets on a schedule
Two Google Sheets add-ons import a Notion database into a sheet and refresh it on a timer, so formulas, pivot tables and charts can work on the copy.
Edits made in the sheet never reach Notion; that is the whole point, and the whole limit.
Coefficient: best for dashboards that refresh every hour
Coefficient imports a Notion database one way: its write-back covers sources such as Salesforce and HubSpot, not Notion.
Each refresh rewrites the imported range, so keep your own formulas in the columns beside it. Relation and rollup properties don't import, and a Notion import stops at 10,000 rows.
- Free: manual refresh, 5,000 rows per import, 50 refreshes a month
- Starter: daily refresh, $49/month billed annually ($59 monthly), one user
- Pro: refresh every 1, 2, 4 or 8 hours, $99 per user per month billed annually ($119 monthly)
A 30-day Pro trial needs no card.
SyncWith: best for a few cheap scheduled pulls
SyncWith pulls a Notion database into a sheet, one way, on any schedule from every 5 minutes to monthly, free plan included.
The limit is the refresh count. The free Hobby plan allows 35 a month, and each free report stops for good after its 35th. An hourly report uses about 720, which puts it on Business+.
- Hobby: free, 35 refreshes a month
- Business: $24.99/month or $249.99 a year, 100 refreshes a month
- Business+: $49.99/month or $499.99 a year, 1,000 refreshes a month
4. Build a recipe in Zapier, Make or n8n
All three will copy a new sheet row into a Notion database within minutes, and all three have free tiers.
None of them offers a two-way sync. Zapier's help center says so directly: two-way means two Zaps doing opposite jobs, and a careless pair can trigger each other in a loop.
A recipe is a trigger and an action: New or Updated Spreadsheet Row in Zapier, or Watch New Rows in Make, fires and creates a Notion item.
What it doesn't do is remember. Nothing records that row 48 is a particular Notion page, so keeping the two in agreement means building that bookkeeping yourself, with a lookup step and a key column you maintain.
In practice:
- New rows into Notion works well and takes about ten minutes to set up.
- The other direction is a second recipe, and nothing coordinates the two.
- Deleting on either side is invisible to the recipe; the counterpart stays.
Paid plans start at $19.99/month billed annually for Zapier Professional, $12/month billed annually for Make Core and $20/month billed annually for n8n Cloud Starter, which is also free to self-host.
If you write code, a Google Apps Script can call the Notion API, or Notion Workers, Notion's developer platform, can pull outside data into a database one way.
A recipe fits when the sheet is an inbox (form responses, a lead list, a log that only grows) or when a new row should start other work. To compare the platforms:
- Zapier alternatives for Notion ranks the options for Notion work
- Zapier vs Make settles the choice between the two biggest
- 2sync vs Zapier, 2sync vs Make and 2sync vs n8n set each one against a dedicated sync
5. Use a two-way sync tool
Use this when both sides are live: someone updates a price in the sheet, someone else moves a status in Notion, and neither has to know what the other did. Five tools do the job, and they differ on the things that bite later:
| Tool | Direction | Speed | Pairs rows by | Deletes | From |
|---|---|---|---|---|---|
| Sync2Sheets | Per column | Real-time | Visible Page ID column | Notion to Sheets only | $12/mo (annual) |
| 2sync | Per column | 2 to 5 min | Hidden 2sync ID column | Off by default, optional both ways | $7/mo (annual) |
| Addsync | Per column | Daily to 5 min | A unique field you pick | Both ways | Free, then $11.99/mo (annual) |
| Whalesync | Per field | Not stated | ID column in column A | Held for approval | $16/mo (annual) |
| Unito | Per field | 5 to 15 min | UnitoID column | Delete the row, not the cells | Shown in the app |
Older names still turn up in recommendations: SyncSheetsPro says it doesn't offer complete two-way sync, Dokin and resynced.io are offline, and Relay.app shut down in September 2026.
Sync2Sheets: best for real-time sync inside Sheets
Sync2Sheets is a Google Sheets add-on built for this one pairing: open its sidebar and pick a Notion database.
Changes travel both ways in real time. Notion's webhooks carry edits out, Google Drive's push events carry them back, and a reconciliation pass every 10 minutes catches anything missed. The slower intervals on its pricing page apply to table blocks, not to databases.
You set the direction per column: Notion to Sheets (the default), Sheets to Notion, or both ways. Notion formulas, rollups and files only flow into the sheet.
Rows pair with pages through a visible Page ID column. Type NEW in it and the row becomes a Notion page; delete the column and that sheet stops syncing.
Three behaviors to know:
- Deletes run one way. Deleting a Notion page removes its row; deleting a row leaves the page alone.
- The last edit wins when both sides change the same value.
- Rollups can lag. Notion sends no webhook for them, and the full scans that catch up are on Advanced and Business only.
Pricing is flat per workspace, and no plan caps rows:
- Starter: $12/month billed annually ($15 monthly), 3 databases
- Advanced: $19/month billed annually ($23 monthly), 10 databases
- Business: $40/month billed annually ($49 monthly), unlimited databases
The 7-day trial needs no card. On the Google Workspace Marketplace it holds 4.5 out of 5 from 79 ratings.
2sync: best value for two-way sync
When both sides get edited and one table is all you need, this is the cheapest paid two-way sync here. We built it around one tab linked to one Notion database, with the direction set column by column.
How it keeps the pair straight
On the first sync, 2sync adds a hidden, protected 2sync ID column at the end of the tab and writes an ID into every synced row. Because the link is an ID rather than a position, you can sort the tab, insert rows, move columns and rename headers without breaking anything.
Clearing an ID makes 2sync create a second Notion page for that row, and a row duplicated inside the tab carries the same ID, so the copy is ignored until you clear that cell.
What setting it up involves
Sign in with the Google account the sheet belongs to and click Choose a spreadsheet. It opens the Google Drive picker, and 2sync can only open the spreadsheets you pick there, never your whole Drive.
Pick the tab, connect Notion and choose the database. Then comes the column mapping: 2sync reads your header row, suggests a property type per column and lets you set each one's direction.
Filters work on Notion properties, so they decide which pages reach the sheet. The Google Sheets setup guide walks every screen.
What happens to your spreadsheet
- Formulas keep working. Formula columns flow into Notion and are never written back. A value typed in Notion that starts with
=lands in the sheet as text. - New Notion pages append at the bottom of the tab, and a row with no title is skipped until you fill it in.
- Clearing a row's cells is not a deletion. It syncs as an update with empty values.
- Deletion is off by default. Removing a row leaves its Notion page alone until you turn on Allow row deletion. A mapped Trigger deletion checkbox removes rows from Notion either way.
- When the same column changes on both sides between two syncs, the Notion value wins.
Every field and property type is listed in the Google Sheets field reference.
Speed, limits and price
Solo syncs every 5 minutes, Premium every 3 and Pro every 2, and Sync now runs one on demand. One automation covers one tab of up to 10,000 rows.
- Solo: $7/month billed annually ($9 monthly), 1 automation, 3,000 synced items
- Premium: $14/month billed annually ($24 monthly), 3 automations, unlimited items
- Pro: $49/month billed annually ($69 monthly), 10 automations, unlimited items
Every plan starts with a 14-day free trial, and a card is required.
The same account also syncs Notion two-way with Google Calendar, Outlook Calendar, Todoist, Google Tasks, Microsoft To Do and your contacts, and brings Gmail and Outlook Mail in one way.
Let the sheet and the database agree
Connect one tab to one Notion database, map each column with its own direction, and let formulas stay where they are.
Addsync: best free plan for a small table
Addsync is a Google Sheets add-on with a two-way free plan. Each column is set to Import, Export or Two-Way, and Notion formulas and rollups travel one way only.
Rows are matched on a unique field you choose, such as an email address. Deletions sync both ways once any column is two-way, which is convenient until someone deletes a block of rows by mistake.
Sync runs every 24 hours on Free, every 60 minutes on Professional and every 5 minutes on Business. Addsync documents no rule for conflicting edits.
- Free: 1 database, 100 records
- Professional: $11.99/month billed annually ($14.99 monthly), 10 databases, 2,000 records
- Business: $29.99/month billed annually ($35.99 monthly), unlimited, several Notion accounts
Whalesync: best when Sheets is one of several databases
Whalesync keeps databases in step across tools such as Airtable, Webflow, Supabase and Postgres as well as Notion and Google Sheets, which suits records that also feed a website.
Direction is set field by field, and Notion rollups aren't supported yet. In the sheet, Whalesync adds an ID column in column A and wants a single header row with no merged cells.
A synced row and its page count as one record, and updates don't count at all. Deletes wait in an approval queue by default. Whalesync publishes no sync interval for Notion or Google Sheets.
Starter is $16/month billed annually ($20 monthly) for 2,000 records, with no free plan. 2sync vs Whalesync sets the two side by side.
Unito: best for teams already syncing work tools
Unito syncs work items across team tools, Notion and Google Sheets among them, with a direction for each pair of fields. The sheet needs the Unito Spreadsheet Sync add-on, which inserts UnitoID and Last Modified columns.
Every pair counts twice. Unito bills by items in sync on both sides, so one row matched to one page uses two items.
Prices appear only inside the app, during a 14-day trial. Unito's own comparison with Make lists Basic from $65 a month for 750 items, with six mapped fields per flow, tight for a Notion database with a dozen properties.
2sync vs Unito compares the two directly.
Which way fits your goal
- You just want to look at it: embed. Nothing to maintain.
- The spreadsheet is being retired: CSV import, once, then work in Notion.
- Notion is the source and the sheet is a report: Coefficient for hourly refresh, SyncWith for a few cheap schedules.
- The sheet only grows, or a new row should start other work: a Zapier, Make or n8n recipe.
- Both sides get edited, one table, smallest paid bill: 2sync Solo.
- Edits must land in seconds, or you sync several databases: Sync2Sheets.
- A small table and no budget: Addsync's free plan.
- The same records also feed Airtable or Webflow: Whalesync.
- Your team already runs Unito: add a Notion and Sheets flow there.
When both sides are edited, 2sync syncs Google Sheets two-way with Notion, and the same account covers Google Calendar, Outlook Calendar, Todoist, Microsoft To Do, contacts and mail.
If tasks are the other half of your setup, syncing Notion with Microsoft To Do and syncing Notion with Todoist run the same way. The best Notion integrations covers the rest of the stack.
Running numbers for clients out of a sheet? Start with how to build a Google Sheets CRM; Notion as a personal CRM and the best CRM for freelancers pick up where that leaves off.
Stop pasting rows between two tools
Two-way sync between one tab and one Notion database, with a direction on every column. Try it free for 14 days.
FAQ
Is there a free way to sync Notion and Google Sheets?
Yes, within limits. Addsync's free plan syncs both ways for one database of up to 100 records, once a day. Coefficient and SyncWith pull Notion into a sheet for free with capped refreshes, and n8n is free to self-host. An embed and a CSV import cost nothing, but neither keeps two copies in agreement.
Do my formulas still work after syncing?
Yes, and the formula always stays in the sheet. 2sync reads a formula column into Notion and never writes back to it. Sync2Sheets lets a Sheets formula feed a Notion property. Coefficient, SyncWith and a CSV import only bring in values.
Can I use Excel spreadsheets in Notion?
For a one-time move, save the workbook as a CSV and import it. For something continuous, there is no live Excel link, so keep the file in Google Sheets and sync that instead.
Should I use Notion or Google Sheets?
Usually both, for different jobs. Google Sheets is better at calculation: formulas, pivot tables and charts. Notion is better at context: the brief, the tasks, the status and the people attached to each row.

![How to sync Notion with Google Calendar [2026 guide]](https://media.2sync.com/cdn-cgi/image/format=auto,quality=80,fit=scale-down,width=600/blog/how-to-sync-notion-with-google-calendar-2.png)
