General Questions
What is Noeqtion?
What is Noeqtion?
$E=mc^2$ or $$\int_0^\infty e^{-x^2}dx$$) into Notion’s native math blocks.Instead of manually wrapping each equation with Notion’s math formatting, you can paste your notes with LaTeX equations and convert them all at once with a single keyboard shortcut (Ctrl+Alt+M).Which browsers are supported?
Which browsers are supported?
- Firefox - Install from Firefox Add-ons
- Chrome - Load as unpacked extension from
chrome://extensions/ - Other Chromium-based browsers - Should work, but not officially tested
Is Noeqtion free?
Is Noeqtion free?
Does it work on mobile?
Does it work on mobile?
Installation & Setup
How do I install Noeqtion on Firefox?
How do I install Noeqtion on Firefox?
Visit Firefox Add-ons
How do I install Noeqtion on Chrome?
How do I install Noeqtion on Chrome?
Download the Source
What permissions does the extension need?
What permissions does the extension need?
manifest.json:activeTab- To access the current Notion pagescripting- To run the conversion script- Host permission for
https://www.notion.so/*- To work on Notion pages
Usage
How do I convert equations?
How do I convert equations?
- Paste your text with LaTeX equations into Notion
- Press
Ctrl+Alt+M - Watch as all equations are automatically converted
- Paste your text with LaTeX equations into Notion
- Click the Noeqtion extension icon in your browser toolbar
- Click the “Convert” button
What LaTeX syntax is supported?
What LaTeX syntax is supported?
Can I convert multiple equations at once?
Can I convert multiple equations at once?
- Scans the page for LaTeX equations
- Converts the first equation found
- Waits for Notion to update the DOM
- Rescans and repeats until no equations remain
How long does conversion take?
How long does conversion take?
- Single equation: ~300-500ms
- Multiple equations: ~300-500ms per equation
TIMING configuration in content.js) to balance speed with reliability. Display equations take slightly longer than inline equations because they require opening Notion’s math dialog.Why does the extension hide dialogs during conversion?
Why does the extension hide dialogs during conversion?
Troubleshooting
The keyboard shortcut isn't working
The keyboard shortcut isn't working
- Check for conflicts: Another extension or system shortcut might be using
Ctrl+Alt+M - Reload the extension:
- Firefox: Go to
about:debuggingand click “Reload” - Chrome: Go to
chrome://extensionsand click the reload icon
- Firefox: Go to
- Check the page: Make sure you’re on a Notion page (
https://www.notion.so/*) - Use the popup: As a workaround, click the extension icon and use the “Convert” button
content.js and only works on Notion pages.Some equations aren't converting
Some equations aren't converting
- Invalid LaTeX syntax: Check that your equation is valid. If Notion’s KaTeX renderer shows an error, the extension will skip that equation.
- Missing dollar signs: Equations must be wrapped in
$...$or$$...$$ - Nested equations: The regex pattern may not handle nested dollar signs correctly
- Already converted: The extension only converts text, not existing math blocks
The extension stops after a few equations
The extension stops after a few equations
- Invalid LaTeX encountered: The extension detects a KaTeX error and skips that equation, which may break the sequential processing
- Timing issues: Notion’s DOM updates might be slower than expected. Try reloading the page and converting again.
- DOM structure changed: Notion occasionally updates their page structure, which may affect the extension’s ability to find editable elements
- The equations you’re trying to convert
- Console errors (F12 > Console)
- Browser version
Display equations aren't rendering correctly
Display equations aren't rendering correctly
$$...$$), the extension:- Deletes the selected text
- Types
/mathto trigger Notion’s command menu - Presses Enter to create a math block
- Inserts the LaTeX content
- Clicks “Done” to close the dialog
- Ensure the
/mathcommand works manually in Notion - Check that you have edit permissions on the page
- Look for console errors about “Could not find math block input”
TIMING.DIALOG and TIMING.MATH_BLOCK in content.js (100ms each).How do I view extension logs?
How do I view extension logs?
- Script loading
- Equations found and converted
- Errors or skipped equations
- KaTeX rendering errors
Technical Details
How does the extension work?
How does the extension work?
- Finds equations: Uses a regex pattern to find text matching
$...$or$$...$$ - Selects text: Creates a DOM range and selection for each equation
- Converts display equations: Types
/math, presses Enter, inserts LaTeX, clicks Done - Converts inline equations: Replaces
$content$with$$content$$(Notion’s inline format) - Rescans: Waits for Notion to update the DOM, then searches for remaining equations
content.js (269 lines).Does it modify Notion's behavior?
Does it modify Notion's behavior?
document.execCommand('insertText')- To type textKeyboardEvent- To simulate keypresseselement.click()- To click buttonswindow.getSelection()- To select text
Why process equations sequentially instead of in parallel?
Why process equations sequentially instead of in parallel?
- Correct DOM references
- Reliable selection and conversion
- No race conditions or conflicting operations
content.js:40-64:What are the timing constants for?
What are the timing constants for?
Can I customize the keyboard shortcut?
Can I customize the keyboard shortcut?
content.js:27-35:- Storage API to save preferences
- Options page for configuration
- Dynamic shortcut registration
Advanced Usage
Can I use it with other note-taking apps?
Can I use it with other note-taking apps?
- Support LaTeX/KaTeX rendering
- Have a predictable DOM structure
- Allow programmatic text insertion
What happens with invalid LaTeX?
What happens with invalid LaTeX?
- Notion displays an error alert:
div[role="alert"] - The extension detects this (see
content.js:138) - The extension presses Escape to close the dialog
- The invalid equation is left in place or partially converted
Can I contribute to the project?
Can I contribute to the project?
- Bug fixes: Found an issue? Submit a fix!
- Features: Have an idea for improvement? Propose it!
- Documentation: Help make the docs clearer
- Testing: Report browser/platform compatibility