A browser extension that turns chord sheet pages into a clean, distraction-free reader. Parses the existing page content client-side — no scraping, no network calls, no account required.
- Transpose up or down to any key, with sharps/flats toggle
- Auto-scroll at adjustable speed — hands-free practice
- Multiple color themes — Nord, Dracula, Solarized, Sepia, and more
- Two layouts — Vertical (scroll down) or Pages (columns, scroll right)
- Keyboard shortcuts for everything
- Responsive toolbar — collapses into a hamburger menu on narrow screens
- Works on mobile — Firefox for Android supported
- Ultimate Guitar (tabs.ultimate-guitar.com)
- E-Chords (e-chords.com)
- Cifra Club (cifraclub.com)
- AZChords (azchords.com)
- UkuTabs (ukutabs.com)
- Chordie (chordie.com)
Chrome / Edge: Chrome Web Store (coming soon)
Firefox / Firefox Android: Firefox Add-ons (coming soon)
npm install
npm run build # Chrome → dist/
npm run build:firefox # Firefox → dist-firefox/- Chrome/Edge:
chrome://extensions/→ Developer mode → Load unpacked → selectdist/ - Firefox:
about:debugging#/runtime/this-firefox→ Load Temporary Add-on → selectdist-firefox/manifest.json
| Key | Action |
|---|---|
Esc |
Close reader |
↑ / ↓ |
Transpose up/down |
← / → / PgUp / PgDn |
Page scroll |
+ / - |
Font size up/down |
v |
Vertical layout |
h |
Horizontal / Pages layout |
Space |
Toggle auto-scroll |
b |
Toggle flats/sharps |
No tracking, no analytics, no accounts, no network requests. The extension reads the chord page you already have open and renders it locally. Your preferences are stored in your browser via chrome.storage.local and never leave your device.
Contributions welcome! The extension is TypeScript with no framework — just esbuild for bundling and Shadow DOM for isolation.
- Create a parser in
src/content/parsers/implementing theSiteParserinterface - Register it in
src/content/parsers/index.ts - Add URL patterns to both
manifest.jsonandmanifest.firefox.json
See CLAUDE.md for architecture details.
MIT
Andrew Mendelsohn — Mendelsohn Labs LLC


