A privacy-first screen and microphone recorder that runs entirely in your browser. No uploads, no servers, no accounts - everything stays local.
- 🖥️ Screen Recording: Capture your entire screen, specific windows, or browser tabs
- 🎤 Microphone Recording: Record audio from your microphone
- 🔊 System Audio: Capture system audio when available
- 💾 Local Storage: All recordings stay on your device
- 📱 Cross-Platform: Works on Linux, Windows, macOS
- 🔒 Privacy-First: No data leaves your machine
Visit the live demo: https://sudilhasitha.github.io/screen-recorder
For Public Repositories:
- GitHub Pages: Enable in repository settings
- Netlify: Use the deploy button above
- GitHub Pages: Go to Settings → Pages → GitHub Actions
- Netlify: Connect your GitHub repository
- Vercel: Import your GitHub repository
See DEPLOYMENT.md for detailed instructions.
- Python 3.x
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Clone the repository:
git clone https://github.com/SudilHasitha/screen-recorder.git
cd screen-recorder- Start the local server:
# HTTP (basic functionality)
python3 -m http.server 8000
# HTTPS (full functionality - recommended)
python3 serve_https.py- Open your browser and navigate to:
- HTTP:
http://localhost:8000 - HTTPS:
https://127.0.0.1:8000
- HTTP:
| Browser | Screen Recording | Microphone | File System API |
|---|---|---|---|
| Chrome | ✅ | ✅ | ✅ |
| Edge | ✅ | ✅ | ✅ |
| Firefox | ✅ | ✅ | ❌ |
| Safari | ✅ | ✅ | ❌ |
- �� No Data Collection: Zero tracking or analytics
- 🛡️ Local Processing: All recording happens in your browser
- 🔐 HTTPS Required: Secure context for sensitive APIs
- 📋 Open Source: Fully auditable code
- 🚫 No External Requests: No third-party dependencies
This application:
- ✅ Processes all data locally in your browser
- ✅ Does not collect, store, or transmit any personal information
- ✅ Does not use cookies or tracking
- ✅ Does not require user accounts or registration
- ✅ Does not connect to external servers
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Commit your changes:
git commit -am 'Add feature' - Push to the branch:
git push origin feature-name - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- 📖 Documentation: Check DEPLOYMENT.md for deployment help
- 🐛 Issues: Report bugs on GitHub Issues
- 💡 Feature Requests: Suggest new features via GitHub Issues
- Built with modern web APIs (MediaRecorder, getDisplayMedia, File System Access)
- Inspired by privacy-first design principles
- Thanks to the open-source community for the tools and libraries