Friendly CSV imports for Notion

Your spreadsheets,
tamed.

ImportThing matches each column to your database, checks every value as it goes, and skips duplicates before they land — then hands you a row-by-row report of exactly what happened.

Free for your first 50 rows. No card to start. Your spreadsheet is never stored.

The ImportThing monster peeking over the top of the card
contacts.csv → CRM · Notion
CSV column
Notion property
Full Name A
Name Title
Email B
Email Email
Stage C
Status Select
Company D
Company Text
CreatedAcme Corp · jane@acme.com — added to CRM
DuplicateGlobex — already in your database, skipped
SkippedRow 14 — blank title, flagged not guessed
Why this exists

Notion's built-in import just dumps the file in.

It appends every row blindly — no matching, no checking, no cleanup. So you spend the afternoon hunting duplicates and fixing the cells it mangled. ImportThing does the careful part for you.

Notion's native import

  • Appends rows blindly — re-import the same file, get everything twice.
  • Drops relations to your other databases.
  • No type checking — bad numbers and stray text land as-is.
  • No report — you never really know what came in.

ImportThing

  • Matches on a key you choose and skips duplicates, in your file and your database.
  • Maps relations by page ID, several per cell.
  • Checks every value against its property type — flags, never silently coerces.
  • Hands back a row-by-row report: created, duplicate, skipped, failed.
What it handles

Built for the messy real-world export.

01

Column mapping

Line up each CSV column with the right Notion property. Nothing is assumed by name — you decide where everything lands.

9 property types
02

Smart per-type handling

Phone numbers, multi-selects, emails, checkboxes — each is shaped the way that property actually expects.

title · select · relation · more
03

Duplicate detection

Pick a key — name, email, ID — and rows already in your database are skipped. Catches repeats inside the file too.

case-insensitive
04

Honest validation

Blank titles, non-numeric numbers, and ambiguous checkboxes are flagged and skipped — never quietly guessed.

no silent coercion
05

Row-by-row report

After every import you see what happened to each row, with a clear reason for anything that didn't go in.

created / skipped / failed
06

Steady & reliable

Writes are paced to stay inside Notion's limits, with automatic retries on hiccups. Big files just work.

retry + backoff
Three steps

From file to database in about a minute.

STEP 01

Connect your Notion

Log in with Notion and choose which databases ImportThing can see. You grant the access — nothing workspace-wide.

STEP 02

Map your columns

Upload the CSV, line each column up with a property, and pick the key to match duplicates on. Takes seconds.

STEP 03

Import & review

Run it. Rows land clean and checked, and you get a report of everything created, skipped, or flagged.

Your data

It works with your workspace, so it treats it with care.

  • Your spreadsheet is only ever used to run your import. We don't sell your data.
  • Your Notion connection is stored securely, and you can disconnect any time.
  • You choose which databases ImportThing can access — nothing more.
  • Sensible, up-to-date security practices help keep your account protected.

Built to respect your workspace

ImportThing only asks for the access it needs, handles your data carefully, and leaves you in control to disconnect whenever you want.

This is a plain-language overview, not the fine print. The full details live in our Privacy Policy and Terms.

Ready when you are

Stop copy-pasting.
Start importing.

Connect your workspace and import your first 50 rows free.

Connect Notion