Grab Notion — Grab anything. Save it to Notion.
Chrome · Manifest V3 · Notion API

Grab anything. Save it to Notion.

Most clippers drop a link into a page and leave you to tidy it up later. Grab Notion works the other way round: you build a form once — mapping page data onto your real database properties — and every capture after that lands complete.

Free forever tier · no account required · your Notion token never leaves the browser

0dependencies
0build steps
0tests, none skipped
1network destination
⌘⇧S open on this page
⌘⇧E quick save, no UI
Attention Is All You Need
URL
arxiv.org/abs/1706.03762
Status
To read
Cover
figure-1.png · uploaded
The difference

A bookmarker saves the page.
Grab Notion fills the row.

Same click. The work that normally comes after it is the part that disappears.

Typical web clipper

You clean up afterwards

  • A link lands in an inbox database with an empty Status, no date, no tags.
  • The title is whatever the <title> tag said, ad suffix and all.
  • Save the same page twice and you own it twice.
  • The page body is whatever the clipper felt like producing.
Grab Notion

It lands finished

  • Every property in your form is filled and shown to you before the save.
  • Incompatible mappings are caught while you build the form, not after a failed save.
  • URL matching finds the existing page and offers to update it instead.
  • You compose the page body yourself, block by block, per form.
How it works

Three steps, then never again.

Setup is a one-time cost. After it, capture is a keystroke.

STEP 01

Connect your workspace

Paste an internal integration secret, or sign in through Notion's own consent screen. Either way the token is stored in your browser profile and used only to talk to api.notion.com.

STEP 02

Point at a database

Grab Notion reads its real properties and proposes a complete mapping — title to title, date to date, tags to multi-select. Adjust anything. That saved mapping is your form.

STEP 03

Grab, review, save

Open it on any page — popup, side panel, full tab, or a shortcut with no UI at all. Everything detected is on screen. Edit or clear any field. What you see is what gets sent.

The mapping

Page data on the left.
Your database schema on the right.

Fifteen destination types, including the three that aren't properties at all: the page icon, the page cover, and the page content itself.

Form Research Library Reading Queue · Notion database
detectedog:title
detectedcanonical URL
detectedarticle:author
detectedpublished_time
detectedog:image
Nametitle
Sourceurl
Authorrich_text
Publisheddate
Page coverfiles
titlerich_texturlemail phone_numbernumberdatecheckbox selectmulti_selectstatusfiles page iconpage coverpage content
Capabilities

Everything that happens between the click and the row.

Six ways to grab

The whole readable article as real Notion blocks, only the text you highlighted, a region you draw on the page, a screenshot, a link, or a picked element.

PageSelectionAreaScreenshotLinkElement

You compose the page body

Each form builds its own Notion page from blocks you order and switch on yourself. Add a block type in a later release and existing forms keep theirs — the layout is normalised, never overwritten.

⠿ Link card
⠿ Byline & date
⠿ Video player
⠿ Description

No accidental duplicates

Match the page's URL against the database before saving. Already there? Update it, or create a second one anyway — your call, saved per form.

Video thumbnails that load

Saving a video resolves the still before the save rather than guessing a URL — so a clipped YouTube page arrives in Notion with a cover that actually renders.

Offline saves survive

A save made on a dead connection, or refused by a rate limit, goes into a queue and is retried on an alarm. It is not lost, and it is not silently dropped.

Popup, side panel, or a full tab

Chrome caps a popup at 600px, so there are two other surfaces running the same shell. The side panel stays open while you read and point at what you want. The full page has no ceiling and does not close when it loses focus. You choose which one the toolbar button opens.

Shortcuts that admit the truth

A suggested shortcut is only a request — Chrome grants it first-come-first-served and the loser gets nothing, silently. Onboarding shows what Chrome actually assigned, flags what was taken, and offers to reassign.

For developers

What you load is exactly
what you read.

No bundler, no minifier, no transpile step, no node_modules in the shipped package. Plain ES modules, loaded unpacked or from the zip, identical either way.

  • Manifest V3, minimum Chrome 116Service worker background, strict extension CSP: script-src 'self'; object-src 'self'; base-uri 'none'; form-action 'none'.
  • No persistent content scriptA single extraction function is injected on demand, after you open the extension. Nothing runs on a page you are merely visiting.
  • 180 tests, none skippedIncluding migration tests that prove an upgraded form keeps its name, its fields and its behaviour — and saves a byte-identical page until you edit it.
  • Versioned storage schemaMigrations are additive and tested. An unknown block id is dropped, a missing one is appended in its default state — so a newer release cannot quietly eat an older form.
// manifest.json — the whole list. No broad site access.
"permissions": [
  "storage",      // forms, prefs, history — in your profile
  "activeTab",    // only the tab you opened it on
  "scripting",    // one extraction fn, injected on demand
  "contextMenus",
  "sidePanel",
  "identity",     // Notion's own consent screen
  "alarms"        // retry a save made offline
],
"host_permissions": [
  "https://api.notion.com/*"
],
"optional_permissions": ["notifications"]
● zero dependencies grab-notion@0.4.0
180tests, none skipped
15mappable destinations
4surfaces, one shell
0third-party dependencies
Privacy

Your Notion token never leaves your browser.

Not with an account, not without one. The extension talks to Notion directly, from your machine, using a credential that is stored in your own browser profile and sent nowhere else.

No analytics. None.

No telemetry, no event pings, no third-party scripts. There is nothing to opt out of because there is nothing collecting.

An account is optional

Guest mode is the entire product, entirely local, exactly as it has always been. An account adds a visible plan, a save counter and — on Pro — sync. It never adds a copy of your token.

Nothing runs until you ask

No content script is registered. The reader is injected into the tab you are on, when you open the extension, and not before.

extension ──────▶ api.notion.com · analytics ad networks error trackers a server holding your token

With a Grab Notion account, two more destinations appear — auth.grabnotion.com and app.grabnotion.com — carrying your forms and save history. Never the token.

Pricing

Free is a real plan.

Screenshots, area clipping and custom page bodies are not gated. They shipped free and they stay free — the caps do the work instead.

Free

No account needed to use the extension at all.

₹0forever

Everything local, nothing expiring.

  • 10 forms · 1 workspace
  • 50 saves a month
  • All six clip modes, screenshots and area capture
  • Custom page-body layouts
  • 90 days of save history
Add to Chrome
Pro

Pro

For people whose Notion database is the point.

₹199/ month

or ₹1,499 a year (save 37%) · ₹2,499 once, forever

  • Unlimited forms, workspaces and saves
  • Forms and settings sync to every browser you sign in to
  • Unlimited save history
  • Priority support
  • A failed card keeps your access — that is a payment problem, not a lockout
Go Pro

Razorpay for India · Stripe everywhere else · no card details ever touch the extension

Gallery

See it running.

Drop your real captures into these frames — each one is sized for the Chrome Web Store listing, so the same files serve both.

The capture screen, in the popup assets/shot-popup.png · 1280 × 800
The side panel, open beside an article assets/shot-panel.png · 1280 × 800
Form editor · property mapping assets/shot-editor.png · 1280 × 800
Page-body composer assets/shot-body.png · 1280 × 800
The record, in Notion assets/shot-notion.png · 1280 × 800
Questions

The ones people actually ask.

My database list looks empty. What did I miss?
Step three. Notion only shows an integration the databases it has been explicitly connected to — open the database in Notion → ••• → Connections → add your integration. This is the step almost everyone misses, and the login screen says so too.
Integration secret or "Log in to Notion"?
The secret works immediately and needs no server. OAuth is one button and lets Notion's own consent screen pick the pages, but the token exchange needs a client secret, and an extension is public code — so it runs through a small Cloudflare Worker that does nothing else. The login screen offers whichever is available.
Does it work on any page?
Any page Chrome lets an extension read. chrome:// pages, the Web Store, and other extensions' pages are off limits to every extension — and Grab Notion tells you that honestly instead of quietly saving a different tab.
What happens to my forms if I never make an account?
Nothing. They live in your browser profile, they are yours, and every feature except cross-browser sync works exactly as it did before accounts existed.
Is this made by Notion?
No. Grab Notion is an independent extension. Notion is a trademark of Notion Labs, Inc., and this project is not affiliated with, endorsed by, or sponsored by them.

Build the form once.

Then stop thinking about it. Grab Notion is free to install, free to keep using, and works entirely on your machine.

Chrome 116+ · Manifest V3 · v0.4.0