Notion integration

Clean your Notion pages, in bulk.

NoAtMark ships a zero-dependency Node script that connects to the Notion API and strips invisible characters — zero-width spaces, BOMs, soft hyphens — from every text block, without touching your formatting.

🔒 runs on your machine — token never leaves it 📝 formatting-safe — bold, links, annotations kept 🔄 zero dependencies — Node 18+

Free, open source. No account, no upload.

🔍 API bulk clean

Searches your pages (or takes a page id) and walks every block recursively — with a --dry-run preview first.

📝 Formatting-safe

Only text content changes; bold, links, and annotations stay intact.

🔒 Private

Everything runs locally. Your Notion token is sent only to Notion.

Run it in 3 steps

  1. Create a token: notion.so/my-integrations → New integration → copy the token, then share your pages with it (page menu → Connections).
  2. Dry run (no writes):
    NOTION_TOKEN=secret node clean.js --query "AI notes" --dry-run
  3. Run for real:
    NOTION_TOKEN=secret node clean.js --query "AI notes"

Requires Node 18+. No npm install needed — zero dependencies.

What it strips

  • Zero-width spaces (U+200B), joiners (U+200C/U+200D), non-joiner, word joiner (U+2060)
  • BOM (U+FEFF), soft hyphen (U+00AD), direction marks (U+200E/U+200F)
  • Combining grapheme joiner (U+034F), variation selectors, special spaces, non-breaking space

Real-time? Use the extension

For stripping as you paste into Notion, install the free NoAtMark browser extension — it cleans invisible characters automatically on copy.

More