A simple Chrome extension that allows you to take screenshots with a user-friendly interface and the ability to save them to Google Docs.
GitHub Version (Development):
- Uses development Client ID
- For local testing and development
- NOT suitable for production use
Production Version:
- Available on Chrome Web Store
- Uses production Client ID
- Fully functional with Google services
For Development:
- Clone this repository
- Load as unpacked extension in Chrome
- Use for testing and development
For Production:
- Install from Chrome Web Store
- Full functionality with Google integration
Production code with production Client ID is maintained in a separate private repository for security reasons.
- 📸 Screenshot creation – quick screen captures
- 💾 File download – save files to your computer
- ☁️ Google Docs integration – save screenshots to Google Docs
- ⌨️ Hotkeys – Ctrl+Shift+S for quick access
- 🎨 Modern UI – beautiful and intuitive interface
- 👀 Preview – view the screenshot before saving
For Production Users:
- Install from Chrome Web Store
- Visit Easy Screenshot
- Click "Add to Chrome"
- Extension will work immediately with Google integration
For Developers:
-
Clone and setup
- Clone this repository
- Open
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked extension"
- Select the folder with the files
-
Google API setup (for development)
- Follow the instructions in GOOGLE_SETUP.md
- Get a development Client ID in Google Cloud Console
- Update
manifest.json
-
First use
- Click the extension icon
- Sign in to your Google account (for Google Docs)
- Click "📸 Take screenshot"
- Or use the hotkey Ctrl+Shift+X
Method 1: Via popup
- Click the extension icon
- Click "📸 Take screenshot"
Method 2: Hotkeys
- Windows/Linux:
Ctrl + Shift + X - Mac:
Cmd + Shift + X
- After taking a screenshot, a dialog will open
- Enter a file name (default:
screenshot_YYYY-MM-DD_HH-MM-SS) - Choose how to save:
- Download – save to your computer
- Save to Google Docs – create a document in Google Docs (requires authorization)
- Background Script (
background.js) – handles events and Google API - Content Script (
content.js) – interacts with web pages - Popup (
popup.html/js) – user interface
{
"permissions": [
"activeTab", // Access to the active tab
"storage", // Local storage
"scripting", // Script execution
"notifications", // Notifications
"tabs", // Tab management
"identity" // Google OAuth authorization
]
}The extension uses:
- Google Docs API – edit documents
- Scope:
https://www.googleapis.com/auth/documents.currentonly - Used for: Editing currently open documents, inserting images/text, formatting
- Scope:
- Google Drive API – upload images and manage files
- Scope:
https://www.googleapis.com/auth/drive.file - Used for: Uploading screenshots, setting permissions, file management
- Scope:
- OAuth 2.0 – secure authorization
widjet/
├── manifest.json # Extension configuration
├── background.js # Background script
├── content.js # Content script
├── popup.html # Popup interface
├── popup.js # Popup logic
├── widget.css # Widget styles
├── google-docs-api.js # Google Docs API integration
├── icons/ # Extension icons
│ ├── icon.svg
│ ├── icon16.png
│ ├── icon48.png
│ └── icon128.png
├── CHANGELOG.md # Changelog
├── PRIVACY_POLICY.md # Privacy policy (Markdown)
└── README.md # This file
Change hotkeys:
{
"commands": {
"_execute_action": {
"suggested_key": {
"default": "Ctrl+Shift+X"
}
}
}
}Change styles:
Edit widget.css to change the appearance.
Possible reasons:
- Trying to capture a chrome:// page
- Content script not loaded
Solution:
- Check permissions in
manifest.json - Test on regular web pages
- Check logs in the console
Possible reasons:
- Incorrect Client ID
- APIs not enabled in the project
- Incorrect OAuth settings
Solution:
- Check settings in Google Cloud Console
- Make sure the Client ID is correct
- Ensure APIs are enabled
Possible reasons:
- Content script does not receive the message
- Error processing the screenshot
- DOM issues
Solution:
- Check content script logs
- Make sure the page is fully loaded
- Check for conflicts with other extensions
- Open
chrome://extensions/ - Find the extension and click "Details"
- Click "Inspect views" to view logs
For Development:
- Fork the repository
- Create a branch for a new feature
- Make changes
- Create a Pull Request
For Production Issues:
- Use the Chrome Web Store for user support
- Report bugs through the store's feedback system
- Markdown version: Privacy Policy (MD)
- HTML version: Privacy Policy (HTML)
Latest update: 2025-12-12 | Version: 1.3
MIT License – see LICENSE for details.
- Google Chrome Extensions API
- Google Docs API
- Extension developer community
Version: 1.3
Last updated: 2025-12-12
Chrome Web Store: Easy Screenshot