Notion Equation Converter
A Chrome extension that seamlessly converts LaTeX delimiters (\[ \], \( \), $$ $$, and $ $) into native Notion math blocks and inline equations.
🚀 Features
- Fully Automated Rendering: Automatically transforms raw text into Notion’s native math blocks (
/math) and inline equations—no manual Ctrl+Shift+E required!
- Full LaTeX Delimiter Support:
- Display Math:
\[ ... \] converts to standalone Math Blocks.
- Inline Math:
\( ... \), $$ ... $$, and single $ ... $ convert to inline math.
- Keyboard Shortcut: Convert equations instantly with
Ctrl+Alt+M.
- Real-time Auto-Conversion: Toggle on to render math automatically as you type.
- Smart Filtering: Intelligently ignores currency (e.g., “Costs $5 and $10”), empty brackets, and whitespace-only patterns.
- High Performance: Optimized to handle pages with hundreds of equations instantly without freezing or lagging.
📥 Installation
From Chrome Web Store
- Visit the Chrome Web Store page
- Click “Add to Chrome”
- Confirm installation
From Source (Development)
- Clone this repository:
git clone [https://github.com/davidwkk/notion-equation-converter.git](https://github.com/davidwkk/notion-equation-converter.git)
- Open Chrome and go to
chrome://extensions/
- Enable “Developer mode” (top right)
- Click “Load unpacked” and select the
src folder
🎯 Usage
Basic Usage
- Open any Notion page
- Type or paste equations using standard LaTeX delimiters:
The quadratic formula is \[x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}\]
Einstein's famous equation is \(E = mc^2\) or $E = mc^2$
- Press
Ctrl + Alt + M (or click the extension icon and click Convert).
- Your raw text is instantly converted into fully rendered Notion math blocks and inline equations.
Auto-Convert Mode
Toggle “Auto Convert” in the popup to automatically process equations as you type. When enabled, any newly typed \[ \], \( \), or $ $ is immediately caught and rendered.
🛠️ Technical Details
- Manifest Version: 3
- Permissions:
activeTab, storage
- Content Scripts: Runs on
*.notion.com/*, *.notion.so/* and *.notion.site/*
- Framework: Vanilla JavaScript
- Regex Parsing: Utilizes lazy matching and smart negative lookbehinds to support single
$ delimiters without breaking standard currency references.
🤝 Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature-name
- Make your changes
- Test thoroughly
- Submit a pull request
📝 Changelog
- Resolved Page Freezing: Fixed an infinite loop issue where newly rendered equations were being repeatedly scanned.
- Regex Optimization: Eliminated catastrophic backtracking when scanning long text blocks containing multiple
$ symbols (e.g., mixing math with currency).
- Improved Equation Tracking: Fixed a bug where one invalid equation (like a stray
$) would cause the extension to skip all subsequent valid equations in the same text block.
Version 2.0 (Major Update)
- Auto-Rendering Achieved: The extension now triggers Notion’s native UI rendering automatically. The manual
Ctrl/Cmd + Shift + E step has been completely eliminated.
- Single Dollar Sign Support: Added support for
$ ... $ inline math syntax with smart currency filtering.
- Keyboard Shortcut: Added
Ctrl+Alt+M for fast, mouse-free page conversion.
- Toggle Support: Now smoothly handles equations hidden inside Notion Toggle blocks.
Version 1.3
- Added support for
\( ... \) delimiters.
- Enhanced regex patterns.
Version 1.2
- Removed unnecessary
scripting permission for better extension hygiene.
Version 1.1
- Added real-time Auto-Convert toggle.
Version 1.0
🐛 Issues & Support
📄 License
MIT License - see LICENSE file for details.
🙏 Acknowledgments
- Built for the Notion community
- Thanks to all contributors and users
Made with ❤️ for Notion users who love math