MathVoice for Chrome
One extension. Voice-controlled LaTeX editing in Overleaf, Notion, Roam Research, Desmos, and Google Docs — wherever you write math.
What this extension does
MathVoice for Chrome is a single Chrome extension that adds a sidebar panel with the MathVoice Studio editor. It automatically detects which supported site you're on and adapts its behaviour:
- Speak equations — the microphone works right in the side panel (grant the mic permission once); no separate tab needed
- Type equations — full LaTeX editing with live KaTeX preview
- Insert equations — write edited LaTeX directly into the page on supported platforms
- Edit existing equations — select or click a math block to load it into the editor
Platform capabilities
MathVoice works on five platforms. Four support direct write-back (inserting equations at the cursor or into the expression list) and a manual Load equation button that re-loads whatever you last selected or clicked. Google Docs renders the page as a canvas, so it operates in clipboard mode — and is the one surface without a Load button, because there is no DOM equation input to read back.
| Platform | Read equation | Manual Load | Write back | How it works |
|---|---|---|---|---|
| Overleaf | ✅ Editor selection | ✅ | ✅ Direct | Inserts LaTeX at the cursor in CodeMirror 6 via execCommand('insertText'). Overleaf's preview recompiles automatically. |
| Notion | ✅ KaTeX annotation | ✅ | ✅ Direct | Click a math block to load its LaTeX. Apply opens Notion's equation popup and injects the edited LaTeX. |
| Roam Research | ✅ MathJax + textarea | ✅ | ✅ Direct | Click a $$ block to load. Apply replaces the math in the block textarea and dispatches Roam's change events. |
| Desmos | ✅ Calc expression list | ✅ | ✅ Direct | Click an expression to load it. Apply writes the edited LaTeX back with Calc.setExpression() through a script injected into the page's own JS world (or appends a new expression if none is selected). |
| Google Docs | ❌ Canvas-rendered | ❌ | 📋 Clipboard only | Google Docs renders the entire page as a <canvas> — no content script can read or write equations. MathVoice copies a rendered equation image to the clipboard; press Ctrl/⌘+V to paste it into your doc, falling back to LaTeX text if the renderer is unreachable. For true one-click insertion, use the Google Docs Apps Script add-on instead. |
Coming in the next update
The following capabilities are built and pending Chrome Web Store review:
- Microsoft Word Online — insert native Word equations two ways: directly into the document, or by typing linear format into Word's equation editor. Auto-detects which route fits.
- OneNote on the web — dictate and paste equations into OneNote notebooks (onenote.com, office.com, onedrive.live.com).
- Works on any website — opt in per site, and MathVoice detects LaTeX you highlight (Load selected / Auto-load) and inserts at the cursor in supported editors.
How it works
- Install MathVoice from the Chrome Web Store
- Open Overleaf, Notion, Roam, Desmos, or Google Docs
- Click the MathVoice icon to open the sidebar
- Click the microphone in Studio and speak, or type directly
- On Overleaf/Notion/Roam/Desmos: click Apply to insert directly, or Load equation to pull the current one back into Studio
- On Google Docs: click Copy equation image and press Ctrl/⌘+V in your document — the equation pastes as a rendered image
Data and permissions — full transparency
| Permission | Scope | Purpose |
|---|---|---|
sidePanel | Browser side panel | Opens the MathVoice Studio editor in Chrome's side panel. |
activeTab + scripting | Supported sites only | Injects a content script into Overleaf, Notion, Roam, and Desmos pages to detect math selections and write edited equations back. The script runs only on those four domains. Google Docs has no content script — it operates in clipboard mode from the sidebar without page access. |
clipboardWrite | Clipboard | Used as the write mechanism on Google Docs (clipboard mode) and as a fallback if direct insertion fails on any platform. |
| Host: overleaf.com, notion.so, roamresearch.com, desmos.com | Page access | Limits the content script to the four write-back sites. No access to other websites. |
| Microphone (browser) | Side panel | Used by Studio in the side panel for speech recognition (granted once, on first use). Audio is processed by the browser's speech engine. Audio never goes to MathVoice servers. |
| Network to mathvoice.app | Studio + intent API | Loads Studio in the sidebar and sends LaTeX to the intent API for processing. Formula data is not stored beyond the request. |
Requirements
- Google Chrome or any Chromium browser (Edge, Brave, Arc)
- An account on at least one supported platform
- Microphone (for voice input; keyboard input always works)