A browser extension designed to streamline the process of filling out repetitive Google Forms. Save your information once and autofill it across similar forms with a single click.
- Installation
- Features
- Screenshots
- Usage
- Technology Stack
- Development
- Privacy & Security
- Browser Compatibility
- Troubleshooting
- Contributing
- License
- Support
Install directly from the Microsoft Add-ons:
-
Clone this repository
git clone https://github.com/yourusername/google-form-autofill.git cd google-form-autofill -
Install dependencies
npm install
-
Build the extension
npm run build
-
Load in Chrome
- Navigate to
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked"
- Select the
distfolder
- Navigate to
- Save form data in a persistent profile stored in Chrome sync storage
- Pre-configured standard fields for common form inputs
- Add unlimited custom fields with label matching
- Hide/remove unwanted fields from your profile
- One-click autofill for Google Forms
- Intelligent field matching based on label keywords
- Supports text inputs, textareas, dropdowns, radio buttons, and checkboxes
- Real-time status notifications
- Export profile as JSON for backup or sharing
- Import profile from JSON files with duplicate detection
- Generate PDF reports of saved profiles
- Automatic field validation during import
- Real-time search across all fields
- Quickly locate specific fields in large profiles
- Visual feedback for empty results
Ctrl + S- Save profileCtrl + L- Autofill formCtrl + R- Reset form fieldsCtrl + Shift + F- Open extension popup
- Copy field values to clipboard with one click
- Remove fields from profile view
- Duplicate skipping during JSON import
- Visual confirmation for copy operations
Main extension popup with saved form fields and quick access controls.
Add custom fields by specifying label keywords that match form field labels.
Access JSON import/export and PDF generation features.
View all available keyboard shortcuts for quick access.
-
Open Extension
- Click the extension icon or press
Ctrl + Shift + F
- Click the extension icon or press
-
Enter Your Information
- Fill in standard fields (email, name, mobile, etc.)
- Add custom fields using the "+" button for form-specific inputs
-
Save Profile
- Click "Save Profile" or press
Ctrl + S
- Click "Save Profile" or press
-
Autofill Forms
- Navigate to any Google Form
- Open the extension and click "Autofill Google Form" or press
Ctrl + L
The extension comes pre-configured with these standard fields:
- Email, PRN, Full Name, Date of Birth, Mobile Number, Gender
- College Name, Degree, Branch, Year of Graduation
- 10th %, 12th %, Diploma %, BE/BTech %
- Cocubes Score
- CodeChef Rating & Profile Link
- HackerRank Rating & Profile Link
- LeetCode Score & Profile Link
- HackerEarth Rating & Profile Link
- GitHub & LinkedIn Profile Links
- Technical Courses/Certifications, Platform, Duration
- CGPA
Create custom fields for form-specific questions:
- Click the "+" button
- Enter a label keyword (e.g., "project title")
- Enter the value to autofill
- The keyword will match form field labels containing that text
Export Profile
- Click More Options → Export JSON
- Downloads a JSON file with your profile data
Import Profile
- Click More Options → Import JSON
- Select a previously exported JSON file
- Duplicate fields are automatically detected and skipped
Export PDF
- Click More Options → Export PDF
- Generates a printable PDF report of your profile
- React 19.2.0
- Vite 7.2.4
- Tailwind CSS 4.1.17
- jsPDF 3.0.4
- Chrome Extension Manifest V3
- Node.js (v16 or higher)
- npm
- Google Chrome
npm run dev # Development build with hot reload
npm run build # Production build
npm run lint # Run ESLint
npm run preview # Preview production buildgoogle-form-autofill/
├── public/
│ ├── content.js # Content script for form interaction
│ ├── manifest.json # Extension manifest
│ └── ss/ # Screenshots
├── src/
│ ├── components/ # React components
│ │ └── more/ # Import/Export components
│ ├── hooks/ # useKeyboardShortcuts hook
│ ├── utils/ # constants.js with field definitions
│ ├── Popup.jsx # Main popup interface
│ └── main.jsx # Entry point
├── package.json
└── vite.config.js
- All data stored locally in Chrome sync storage
- No external servers or data transmission
- No tracking or analytics
- Open source code
- Minimal permissions requested
storage- Store profile data in Chrome sync storageactiveTab- Access current tab to autofill formsscripting- Inject content script for form manipulationhost_permissions- Limited tohttps://docs.google.com/forms/*
- Google Chrome (Manifest V3 compatible)
- Microsoft Edge (Chromium)
- Brave Browser
- Other Chromium-based browsers
Autofill not working
- Verify you're on a Google Form (
https://docs.google.com/forms/*) - Refresh the page and try again
- Check that form fields have recognizable labels
Fields not matching
- Custom fields require partial label matches
- Check for typos in label keywords
- Some forms use unique field labels - add them as custom fields
Import failing
- Ensure JSON file is valid format
- File size must be under 5MB
- Check for proper field structure in JSON
We welcome contributions from the community! This is an open source project and we appreciate your help in making it better.
-
Fork the Repository
- Click the "Fork" button at the top right of this repository
-
Clone Your Fork
git clone https://github.com/your-username/google-form-autofill.git cd google-form-autofill -
Create a Branch
git checkout -b feature/your-feature-name
-
Make Your Changes
- Write clean, readable code
- Follow the existing code style
- Test your changes thoroughly
-
Commit Your Changes
git add . git commit -m "Add: your feature description"
-
Push to Your Fork
git push origin feature/your-feature-name
-
Open a Pull Request
- Go to the original repository
- Click "New Pull Request"
- Select your fork and branch
- Describe your changes in detail
- Bug Reports: Open an issue with a clear description and steps to reproduce
- Feature Requests: Open an issue describing the feature and its use case
- Code Contributions: Ensure code is well-tested and documented
- Major Changes: Discuss in an issue before starting work
- Install dependencies:
npm install - Run development build:
npm run dev - Load the extension in Chrome from the
distfolder - Make changes and test
- Run linter:
npm run lint
- Be respectful and inclusive
- Provide constructive feedback
- Focus on what is best for the community
This project is licensed under the MIT License - see the LICENSE file for details.
You are free to:
- Use this software commercially
- Modify the source code
- Distribute the software
- Use it privately
Under the condition that:
- The original copyright and license notice must be included
- Bug Reports: Open an issue with detailed information
- Feature Requests: Submit an issue describing your idea
- Questions: Check existing issues or open a new one
- Documentation: Review this README and the code comments
This is an open source project maintained by the community. All contributions are appreciated!
- Star the repository if you find it useful
- Share with others who might benefit
- Contribute code, documentation, or ideas



