A powerful Chrome extension that provides real-time audio transcription using the Web Speech API. Capture, transcribe, and manage your voice recordings directly in your browser.
- Real-time transcription using browser's built-in speech recognition
- Multiple language support (English, Spanish, French, German, etc.)
- Continuous mode for long-form transcription
- Auto punctuation for better readability
- Copy to clipboard functionality
- Save transcriptions as text files
- Floating overlay for page-level transcription
- Keyboard shortcuts for quick access
- Persistent storage to save your transcriptions
- Modern, responsive UI with professional styling
-
Download the Extension Files
- Clone or download all files to a local directory
- Ensure you have all these files:
voice-transcriber/ ├── manifest.json ├── popup.html ├── popup.js ├── styles.css ├── background.js ├── content.js └── README.md
-
Open Chrome Extensions Page
- Open Google Chrome
- Navigate to
chrome://extensions/ - Or click the three dots menu → More tools → Extensions
-
Enable Developer Mode
- Toggle the "Developer mode" switch in the top-right corner
-
Load the Extension
- Click "Load unpacked" button
- Select the folder containing your extension files
- The extension should appear in your extensions list
-
Pin the Extension (Optional)
- Click the puzzle piece icon in Chrome's toolbar
- Find "Voice Transcriber" and click the pin icon
- The extension icon will now appear in your toolbar
This extension will be available on the Chrome Web Store after review and approval.
-
Click the Extension Icon
- Click the Voice Transcriber icon in your toolbar
- The popup interface will open
-
Grant Microphone Permission
- On first use, Chrome will ask for microphone permission
- Click "Allow" to enable voice transcription
-
Start Recording
- Click the "Start Recording" button
- Speak clearly into your microphone
- Your speech will be transcribed in real-time
-
Stop Recording
- Click "Stop Recording" when finished
- Your transcription will be saved automatically
- Open the Settings panel in the popup
- Choose from 10+ supported languages
- Settings are automatically saved
- Enable "Continuous mode" in settings
- Recording will continue until manually stopped
- Perfect for long lectures or meetings
- Enable "Auto punctuation" for better readability
- Automatically adds periods and capitalizes sentences
- Copy: Click "Copy" to copy text to clipboard
- Save: Click "Save" to download as a text file
- Clear: Click "Clear" to reset the transcription
- The extension can inject a floating overlay on any webpage
- Use for transcribing while browsing or watching videos
- Ctrl+Shift+T: Toggle transcription on/off
- Ctrl+Shift+C: Copy transcription to clipboard
| Setting | Description | Default |
|---|---|---|
| Language | Speech recognition language | English (US) |
| Continuous Mode | Keep recording until manually stopped | Off |
| Auto Punctuation | Automatically add punctuation | On |
The extension stores:
- User settings (language, preferences)
- Recent transcriptions (locally, for 7 days)
- No personal data is sent to external servers
- Solution: Use Google Chrome (required for Web Speech API)
- Alternative: Try Chrome Canary or Chrome Dev
- Solution:
- Click the microphone icon in Chrome's address bar
- Select "Always allow" for the extension
- Refresh the page and try again
- Solutions:
- Speak clearly and at moderate pace
- Use a quality microphone or headset
- Reduce background noise
- Check microphone settings in Chrome
- Solutions:
- Refresh the page
- Disable and re-enable the extension
- Check for extension updates
- Restart Chrome
- Go to
chrome://extensions/ - Find Voice Transcriber
- Click "Inspect views: background page"
- Check for error messages in the console
- Go to
chrome://extensions/ - Find Voice Transcriber
- Click "Remove"
- Re-install following the installation steps
- ✅ Google Chrome (v25+)
- ✅ Chrome Canary
- ✅ Chrome Dev
- ✅ Microsoft Edge (Chromium-based)
- ❌ Firefox (Web Speech API not supported)
- ❌ Safari (Web Speech API not supported)
- English (US/UK)
- Spanish (Spain)
- French (France)
- German (Germany)
- Italian (Italy)
- Portuguese (Brazil)
- Chinese (Simplified)
- Japanese
- Korean
- And more...
- Speech processing: Done locally by Chrome's Web Speech API
- No external servers: No audio data is sent to external services
- Local storage: Transcriptions stored locally in Chrome
- Auto cleanup: Old transcriptions deleted after 7 days
- activeTab: Access current tab for page-level features
- storage: Save settings and transcriptions locally
- scripting: Inject content scripts for overlay functionality
# Clone the repository
git clone [repository-url]
cd voice-transcriber
# No build process required - pure HTML/JS/CSS
# Just load in Chrome as unpacked extensionvoice-transcriber/
├── manifest.json # Extension configuration
├── popup.html # Main popup interface
├── popup.js # Popup functionality
├── styles.css # UI styling
├── background.js # Background service worker
├── content.js # Page content script
└── README.md # This file
- Manifest V3 (latest Chrome extension format)
- Web Speech API (for speech recognition)
- Chrome Storage API (for persistence)
- Modern JavaScript (ES6+, async/await)
- CSS Grid/Flexbox (responsive layouts)
- Initial release
- Real-time speech transcription
- Multiple language support
- Continuous recording mode
- Auto punctuation
- Copy/save functionality
- Floating page overlay
- Keyboard shortcuts
- Persistent storage
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter issues:
- Check the troubleshooting section above
- Search existing issues in the repository
- Create a new issue with detailed information
- Include Chrome version and OS details
- Built using Chrome's Web Speech API
- UI inspired by Google Material Design principles
Note: This extension requires microphone access and only works in Chromium-based browsers due to Web Speech API limitations.