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
- Create a token: notion.so/my-integrations → New integration → copy the token, then share your pages with it (page menu → Connections).
- Dry run (no writes):
NOTION_TOKEN=secret node clean.js --query "AI notes" --dry-run - 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
- Web tools: noatmark.com/tools/
- Text hygiene API: noatmark.com/api/
- Ghost integration: noatmark.com/ghost/
- WordPress plugin: noatmark.com/wordpress-plugin/