A Chrome extension that allows users to manually mask any element on a webpage by simply clicking on it. Perfect for privacy protection during screen sharing, creating sanitized screenshots, or hiding sensitive information while browsing.
Developer: Baki Ruhunnabi (bruhunna)
- Ctrl/⌘ + Click to Mask: Hold Ctrl (Windows/Linux) or ⌘ (Mac) and click any element to mask it
- Normal Interaction Preserved: Regular clicks work normally - buttons, links, and forms remain functional
- Visual Feedback: Blue outline appears when holding Ctrl/⌘ and hovering over maskable elements
- Toggle Masking: Hold Ctrl/⌘ and click masked elements again to unmask them
- Smooth Animations: Professional transitions and visual effects
- Ctrl+Shift+M (Cmd+Shift+M on Mac): Quick toggle masking mode on/off
- Ctrl+Shift+C (Cmd+Shift+C on Mac): Clear all masks instantly
- Works from any page: No need to open the popup interface
- Blur Style: Maintains element shape with blur filter (subtle masking)
- Solid Style: Completely covers content with dark background (strong masking)
- Style Toggle: Switch between styles via popup interface or keyboard shortcut
- Real-time Updates: Existing masks instantly update when style is changed
- Precise Control: You decide exactly what gets masked
- Instant Results: Elements are masked immediately with dark overlay and blur effect
- Content Preservation: Original content is safely stored and can be restored
- Session Persistence: Masking state persists across page reloads
- Modern toggle switch design with gradient effects
- Visual badge counter showing masked element count on extension icon
- Style selector with blur/solid preview options
- Real-time statistics display in popup
- Clear visual indicators (green = active, gray = inactive)
- Success/error message feedback with toast notifications
- Works on all websites (except Chrome internal pages)
- Clone or download this repository
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" in the top right
- Click "Load unpacked" and select the extension folder
- The Element Masker icon will appear in your toolbar
This extension will be available on the Chrome Web Store once published.
- Install the extension using one of the methods above
- Navigate to any website you want to mask content on
- Click the Element Masker icon in your browser toolbar
- Toggle "Masking Mode" switch (switch turns purple/blue and shows "Active")
- Hold Ctrl/⌘ + hover over elements to see them highlighted with blue outline
- Hold Ctrl/⌘ + click elements to mask them (they turn dark or blurred)
- Use style buttons to switch between blur and solid masking styles
- Monitor the badge counter on the extension icon showing number of masked elements
- Toggle "Masking Mode" switch off when finished
- Install the extension and navigate to any website
- Press Ctrl+Shift+M (Cmd+Shift+M on Mac) to instantly toggle masking mode
- Hold Ctrl/⌘ + click elements to mask them
- Press Ctrl+Shift+C (Cmd+Shift+C on Mac) to clear all masks instantly
- Press Ctrl+Shift+M again to deactivate masking mode
- Click the Element Masker extension icon
- Click "Activate Masking Mode"
- The button turns red and shows "Deactivate Masking Mode"
- You'll see a success message: "Masking mode activated! Click elements to mask them."
- Hold Ctrl (Windows/Linux) or ⌘ (Mac) and hover over any element on the page
- A blue outline will appear around the element while holding the modifier key
- Hold Ctrl/⌘ and click the element to mask it
- Regular clicks (without Ctrl/⌘) work normally for buttons, links, and forms
- The masked element will:
- Turn dark gray/black
- Show ██████ text instead of original content
- Apply a blur effect
- Show a "not-allowed" cursor
- Hold Ctrl/⌘ and click on any masked element
- It will instantly return to its original appearance
- All original content and styling is restored
- Click the extension icon
- Click "Deactivate Masking Mode"
- All masked elements are automatically unmasked
- Button returns to blue "Activate Masking Mode"
- Page Reload: Masking mode stays active when you refresh the page
- Masked Elements: Individual masked elements remain masked after page reload
- State Memory: The extension remembers your masking preferences
- Blue Outline: Appears when holding Ctrl/⌘ and hovering over maskable elements
- Real-time Guidance: Instructions appear when modifier key is pressed
- Dark Overlay: Masked elements have dark background
- Blur Effect: Additional privacy protection with CSS blur
- Placeholder Text: Shows ██████ to indicate masked content
chrome-ext-masking/
├── manifest.json # Extension configuration (Manifest V3)
├── popup.html # Extension popup interface
├── popup.js # Popup logic and Chrome API communication
├── content.js # Core masking functionality
├── background.js # Background service worker
├── test-page.html # Test page for development
└── icons/ # Extension icons
└── reshot-icon-hacker-mask-HULA7G4RN3.svg
- Element Detection: Tracks hover and click events
- Visual Effects: Applies masking styles with CSS
- State Management: Manages masked elements set
- Session Storage: Persists masking state across page loads
- Toggle Control: Single button to activate/deactivate masking
- State Synchronization: Communicates with content script
- User Feedback: Shows success/error messages
- Visual Indicators: Button color changes based on state
- Extension Lifecycle: Handles installation and setup
- Default Settings: Configures initial extension state
- Welcome Experience: Opens welcome page on first install
- Click Detection: Event listener captures clicks in masking mode
- Style Application: Applies dark background, blur, and placeholder text
- Content Preservation: Stores original innerHTML in dataset
- Set Management: Tracks masked elements in a Set data structure
- Click Detection: Detects clicks on already-masked elements
- Style Removal: Removes all masking CSS properties
- Content Restoration: Restores original innerHTML from dataset
- Set Cleanup: Removes element from masked elements set
- Screen Sharing: Hide sensitive information during video calls
- Public Browsing: Mask personal data when using public computers
- Screenshots: Create sanitized images for documentation
- Presentations: Hide confidential data during demos
- Tutorial Videos: Mask personal information in instructional content
- Documentation: Create clean screenshots for user guides
- Social Media: Share browser screenshots without exposing private data
- Bug Reports: Submit screenshots with sensitive data hidden
- Client Demos: Show software functionality without real data
- Training Materials: Create educational content with placeholder data
- Compliance: Meet privacy requirements for data handling
- Security: Prevent accidental exposure of confidential information
- ✅ Masks content visually in your browser only
- ✅ Stores masking state locally using sessionStorage
- ✅ Works entirely offline after installation
- ✅ Provides completely reversible masking
- ✅ Does not collect or transmit any user data
- ❌ Prevent websites from collecting your data
- ❌ Send any information to external servers
- ❌ Modify form submissions or network requests
- ❌ Provide encryption or permanent data protection
- ❌ Work on Chrome internal pages (chrome://, extension pages)
- This extension is for visual privacy only
- It hides content from screenshots and screen sharing
- It does not prevent websites from accessing your information
- Masked content is temporarily hidden, not deleted or encrypted
- Always be cautious about what information you enter on websites
- Check Developer Mode: Ensure it's enabled in
chrome://extensions/ - Verify Files: Make sure all files exist in the project folder
- Console Errors: Check the browser console for error messages
- Reload Extension: Click the reload button on the extension card
- Compatible Pages: Extension doesn't work on
chrome://orextension://pages - Script Loading: Try refreshing the page after installing extension
- Console Logs: Check browser console for JavaScript errors
- Permission Issues: Verify extension has access to the current site
- Page Compatibility: Some pages may block content scripts
- Extension State: Try disabling and re-enabling the extension
- Browser Restart: Close and reopen Chrome completely
- Clear Storage: Clear browser data and reinstall extension
- CSS Conflicts: Some websites may override masking styles
- Zoom Levels: Try resetting browser zoom to 100%
- Theme Conflicts: Disable browser themes that might interfere
- Hardware Acceleration: Try disabling hardware acceleration in Chrome
Contributions are welcome! Here's how you can help:
- Fork the repository
- Make your changes
- Test thoroughly in Chrome
- Submit a pull request with description
- Enhanced Visual Effects: Improve masking animations and styles
- Keyboard Shortcuts: Add hotkey support for common actions
- Export/Import: Save and load masking configurations
- Multiple Mask Types: Different masking styles for different content
- Accessibility: Improve support for screen readers and keyboard navigation
- Check Existing Issues: Look for similar problems first
- Provide Details: Include browser version, extension version, and steps to reproduce
- Console Logs: Include any error messages from browser console
- Screenshots: Visual issues are easier to debug with images
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to the Chrome Extensions community for documentation and examples
- Inspired by privacy advocacy and the need for better personal data protection
- Built with modern web technologies and Chrome Extension Manifest V3
- Icon design from Reshot icon library
If you encounter issues or have questions:
- Check the troubleshooting section
- Open an issue on GitHub with detailed information
- Review Chrome extension documentation for additional help
Potential features for future releases:
- Bulk Operations: Mask multiple elements with drag selection
- Preset Configurations: Save common masking patterns
- Export Functionality: Save masked page as image or PDF
- Custom Mask Styles: Different visual effects for different element types
- Keyboard Navigation: Tab through elements and mask with spacebar
- Context Menu Integration: Right-click to mask elements
- Undo/Redo: Step through masking history
- Performance Optimization: Faster masking for pages with many elements
Made with ❤️ for privacy and productivity