A Chrome extension for annotating web pages during screensharing and recording sessions. Perfect for developers and presenters who need to highlight and draw attention to specific areas while demonstrating software.
- ✏️ Draw custom rectangles anywhere on any webpage
- ⌨️ Activate with Alt+A keyboard shortcut (Option+A on Mac)
- 🎨 Customizable colors and border sizes via options page
- 🛡️ Complete interaction blocking: prevents all clicks, hovers, and text selection while drawing
- ⚡ Click-and-drag interface with modifier keys:
- Alt: Draw from center outward
- Shift: Constrain to square
- Spacebar: Reposition while drawing (cursor hidden)
- Cmd/Ctrl (drawing): Constrain to horizontal/vertical axis
- Cmd/Ctrl (over rectangle): Shows default cursor on hover; click and drag to reposition (cursor hidden while dragging, hold Shift to constrain axis)
- Alt (over rectangle): Shows copy cursor on hover; click and drag to duplicate (cursor hidden while dragging, hold Shift to constrain axis)
- Cmd/Ctrl + Alt (over rectangle): Alt wins — enters duplicate mode (press Alt mid-reposition to switch)
- Shift: Multi-rectangle mode
- Tab: Cycle through colors (orange → green → blue → purple → gray)
- Delete/Backspace: Remove rectangle under cursor
- 🔄 Press ESC to exit drawing mode
- ⚙️ Configurable settings with auto-save (border size: 0.5px-3px, default color)
- 🔒 Privacy-focused (no data collection, settings sync across devices)
- 🚀 Lightweight and fast (Manifest V3)
- Clone this repository
- Open Chrome and navigate to
chrome://extensions - Enable Developer mode (top-right corner)
- Click Load unpacked
- Select the
extension/directory from this project - Open any webpage and press Alt+A to start drawing
For detailed instructions, see Running the Extension Locally.
Access the options page to customize your experience:
- Right-click the extension icon and select Options, OR
- Go to
chrome://extensions, find SpotlightDraw, and click Options
Available settings:
- Border Size: Choose between 0.5px, 1px (default), 2px, or 3px
- Default Color: Set your preferred starting color (orange, green, blue, purple, or gray)
Settings save automatically and sync across all your Chrome devices.
# Package extension for distribution
npm run zip
# Package with generic filename (for testing)
npm run zip:latest
# Clean build artifacts
npm run cleanThe extension includes a browser-based icon converter:
- Open
extension/icons/convert-icon.htmlin your browser - Download all three PNG sizes (16×16, 48×48, 128×128)
- Save them in
extension/icons/directory - Reload the extension in Chrome
See extension/icons/README.md for alternative methods.
spotlight-draw/
├── extension/ # Extension source code
│ ├── manifest.json # Extension manifest (Manifest V3)
│ ├── tokens.css # Shared color design tokens
│ ├── background.js # Service worker
│ ├── content/ # Content scripts
│ │ ├── content.js # Page interaction logic
│ │ └── content.css # Highlighting styles
│ ├── options/ # Settings page
│ │ ├── options.html # Options UI
│ │ ├── options.js # Options logic
│ │ └── options.css # Options styling
│ └── icons/ # Extension icons
│ └── convert-icon.html
└── docs/ # Documentation
├── plans/ # Project plans
└── *.md # Guides and documentation
- Press Alt+A (Option+A on Mac) to activate drawing mode
- Your cursor changes to a crosshair and the page becomes non-interactive
- Click and drag anywhere on the page to draw a rectangle
- Hold Alt while dragging to draw from center outward
- Hold Shift while dragging to constrain to a square (combine with Alt for square from center)
- Hold Spacebar while dragging to reposition the rectangle without resizing (cursor hidden)
- Hold Cmd/Ctrl during drawing to constrain to horizontal or vertical axis
- Hold Shift when starting a new draw to keep previous rectangles (multi-rectangle mode)
- Hold Cmd/Ctrl and hover over a rectangle to see the default cursor, then click and drag to reposition (cursor hidden while dragging, hold Shift to constrain axis)
- Hold Alt and hover over a rectangle to see the copy cursor, then click and drag to duplicate (cursor hidden while dragging, hold Shift to constrain axis) 10a. While repositioning with Cmd/Ctrl, press Alt to switch to duplicate mode mid-drag (original rectangle snaps back, clone appears under cursor)
- Press Tab while hovering over a rectangle (or while drawing/dragging) to cycle through colors (orange → green → blue → purple → gray)
- Press Delete or Backspace while hovering over a rectangle to remove it
- Release spacebar/alt/cmd/shift to continue normal resizing
- Release mouse to place the rectangle
- Click without Shift to clear all rectangles and draw a new one
- Press ESC to exit drawing mode (clears all rectangles and restores normal cursor)
- Press Alt+A again to also exit drawing mode
No permanent page modifications are made—just visual overlays using positioned div elements. While in drawing mode, all page interactions (clicks, hovers, text selection) are blocked to prevent accidental navigation.
- Running Locally - Detailed setup guide
- Development Plan - Project roadmap and progress
- Chrome (Manifest V3)
- Other Chromium-based browsers (Edge, Brave, etc.)
MIT