Autofill Help

Install Chrome extension Install Firefox add-on


Basic Usage

To add a new autofill rule, click on the [+] button at the bottom of the rules table. Rules are processed in the order in which they appear. To reorder a rule, click on the up/down icon and drag it up or down, or drag anywhere on the row where you see the move cursor. To perform an action on an autofill rule, click on one of the following buttons to the right of the rule:

Remember to click the Save button after you have modified one or more rules. All of these commands, and pretty much everything else in Autofill, has a keyboard shortcut equivalent (see Keyboard Shortcuts for a complete list of keyboard shortcuts).

Defining an Autofill Rule

This is where you define all the form fields to automatically fill on page load. A form field, also known as a form control or form element, is used to submit data from the client (your browser) to the server. Below is a detailed description of each column in the rules table.

TIP: The quickest way to define autofill rules is to use the Form Fields Wizard to automatically create all of the rules for you. To generate rules for the entire form, right-click on the page and select "Add rules for this form" from the Autofill context menu. To generate a rule for one particular text/password input field only, right-click inside that input field and select "Add rule for this field" from the Autofill context menu. Once the rules are created, you can go to the Options page to fine-tune them if you wish. No more digging through the source code!

Profiles

Profiles allow you to organize all your autofill rules into different categories. For example, you can have separate profiles for addresses, personal info, account logins, blog post templates, and advanced search forms. To add, rename, rearrange, delete, duplicate, and sort profiles, select "Manage..." from the profile chooser or press Alt+G (Option+G on Macs) to bring up the Manage Profiles dialog. If you delete an existing profile, you have the option to also delete all rules assigned to that profile or delete only the profile and move all rules to Unfiled. After making changes, click the Save and Close button to save your changes; clicking Cancel, clicking anywhere outside the dialog, and pressing Escape will discard all your changes. You can assign an autofill rule to a profile by clicking [›] to move it into the profile, or simply by switching to that profile and adding a new rule (rules added while viewing all profiles will be assigned to Unfiled).

Autofill will only execute rules in the current profile, so if you notice that a form is not being filled out, first make sure that you have activated the correct profile. To execute all autofill rules in all profiles, select "All" from the profile chooser. When you are viewing all profiles, hover the mouse over the autofill rules to see what profile they are filed under. You can switch profiles either from the Autofill Options page or from the right-click context menu.

TIP: When selecting a profile from the context menu, not only will Autofill switch profiles, it will also execute all the rules in that profile. This is very useful for when you have multiple accounts that you would like to autofill on the same form.

Site – If you would like to restrict all of the autofill rules in a profile to a certain page or domain, then enter any part of the document title (text inside <title> tag) or URL here. This is similar to the Site column in the rules table, but works at the profile level. Note that rule-level site filters take priority over the profile site filter.

Hotkey – Enter a hotkey combination here to be able to quickly execute all the rules in this profile by pressing the assigned hotkey.

Here you can set advanced options for profiles and rules. Each line needs to follow this syntax:

profile/rule ID: options

The following options are available:

Multiple options can be separated by spaces, e.g.:

r1: delay=2 forcefill=true

If you supply a profile ID, then the options will apply to all the rules in that profile; if you supply a rule ID, then the options will apply only to that specific rule. Profile and rule IDs are listed in the first column when you export the data.

This is a global list of exceptions, similar to a blacklist. Any document title (text inside <title> tag) or website URL that matches a pattern listed in this list will be ignored by Autofill. Exceptions take precedence over the Site column and profile Site filter in the Form Fields tab. Some more things to note:

Text clips are snippets of boilerplate text that can be inserted into text fields via the right-click context menu. The first line defines the menu item in this syntax:

category (optional) > title

The category will appear as a submenu under Autofill / Insert text clip. You can organize your text clips using as many categories and subcategories as you like; the text to the right of the last > on the first line will always be the title. Separate each text clip with === on its own line. The text clip will be inserted at the cursor position inside the text field, or replace whatever text you have selected. Here are a few sample text clips:

PGP Public Key
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: BCPG C# v1.6.1.0

mQENBFvOREABCACPBhkTcgm2KmQdKvUfJAPAsqWzKyqEHxptl+ZK5oLNxqSCxZkt
sPf9R5SAldvWG0PlFLZb0lwG9gLfO8qQeRNcscniN9YBULGvj2X8IDQnSFb3z1Rt
ZNhqOs4yWPnfQEiAfOiawXqCWyiFOaaKSKfHelMNjdLLUtdP+4JGPrLePsf+Ev9a
DcGv32UeKaHMFqBfKv5pXUO7Rm8ORpWXr3Ya69lZ4UPZYPPIwVZ6nbDkVu9M0Hvk
MEH3sge/wSpwHZ42T19fRLffeSglJdSt77AmOk9gArM+cDwTCE9R8geM02tcbJcE
9Ibnrt2Z8dhfdP7LAfiEZ3IK6pa9bQLDn4kxABEBAAG0EHRoZG9hbkBnbWFpbC5j
b22JARwEEAECAAYFAlvOREAACgkQGHcHDNI1uMEdPwf/eqdh42lZ2t5qA1vgJR+4
UHHG9/BCwkPq8TOJMUaaQmaKWw58wwVjrnGu/03gbXulDCGugkpkWbSXm/D6YQyk
YOF0xeenl2sDug9e69j50NKgI6zwPEm4dSKU8K1ICK1n3duu9Ty81kPUIFCe5qeZ
XCuTvvZhaqY4BJ/8IWhZn9hEoHb6Gfv1q+myFfov/dxn4sDty9GFpjTG3Fw5Ps8/
l0ngI5uF1YjRgcmJzHElXal5EUYxUtQhIbtGzslOkTYnonQ43m2ke9CjyAo/wL3a
CUOfQbdCbcwQDvyx0sGMxgJUBkstgdPCagQZmlEcdyNj4062bFhCkrigTnqWClJ/
nw==
=ASm9
-----END PGP PUBLIC KEY BLOCK-----
===
Personal > Name
Tom
===
Personal > Email > Gmail
tom@gmail.com
===
Personal > Email > Yahoo
tom@yahoo.com
  

If you have text that you would like to reuse across multiple rules, then you can assign the text to a variable and reference it in the Value field. Each line needs to follow this syntax:

variable_name = some text

Variable names can only contain letters, numbers, and the underscore character. If the text assigned to the variable contains an equal sign, then it needs to be escaped with a backslash (e.g., \=). The text cannot contain line breaks; if you want to output a line break, then use \n instead. You can even set a variable to a value returned by JavaScript. For example, here are two variables to return a date in two different formats:

short_date = javascript:(new Date()).toLocaleDateString('en-US')
long_date = javascript:(new Date()).toLocaleDateString('en-US', {weekday:'long', year:'numeric', month:'long', day:'numeric'})

To use a variable in a rule, enter {@variable_name}.

Import allows you to load settings from a CSV file (also known as a "comma-separated values" or a "comma delimited" file). You can copy the data from a CSV file opened in Excel or a plain text editor such as Notepad. The data to be pasted into this box needs to be arranged in the following format:

Import mode:

Export allows you to save all settings to a CSV file for backup. Once your settings are stored in an external file, you can later use the Import feature to transfer the settings to Autofill on another computer, Autofill on another operating system (e.g., Chromium in Linux), or to the Autofill for Firefox add-on. Since Google Chrome extensions cannot access the file system at the moment, you will have to manually copy the generated CSV data from the box, paste it into a text editor (do NOT paste it into Excel), and save the file with a .csv extension. This process should be more streamlined once Chrome fully supports the FileSystem API.

TIP: If you have a lot of autofill rules you'd like to reorder, then it's faster if you export your settings to a CSV file, reorder the rules in Excel, and import the settings back into Autofill. Similarly, if you want to move many rules into different profiles at once, then it's best to do this in Excel by reassigning their profile IDs (e.g., c1). Once you get familiar with the CSV data structure, you can edit your autofill rules and settings in bulk before importing them back into Autofill.

As an alternative, you can also import data from a remote file by entering the file's URL in the field below the main Import/Export box and clicking Import. The URL needs to point to a plain text file that has the same structure as the exported CSV data. The server hosting this file needs to have the following two response headers:

The first header is to prevent cross-origin errors; the second header ensures that the file is served in plain text format (as opposed to HTML). Tick the checkbox to the right of the Import button if you would like to automatically import data from the remote file whenever the browser starts. This is a great way to manage autofill rules for a group of PCs from a centralized location.

Operation:

Security:

Interface:

Keyboard Shortcuts

Windows, Linux Mac
Options – Global
Switch to Form Fields tab Alt + L Option + L
Switch to Advanced tab Alt + N Option + N
Switch to Exceptions tab Alt + C Option + C
Switch to Text Clips tab Alt + T Option + T
Switch to Variables tab Alt + V Option + V
Switch to Import/Export tab Alt + I Option + I
Switch to Other Stuff tab Alt + O Option + O
Switch to Support tab Alt + U Option + U
Open contextual help Alt + H Option + H
Show "what's new?" (changelog) Alt + ? Option + ?
Close dialog (lightbox overlay) Esc Esc
Options – Form Fields tab
Add new autofill rule Alt + A Option + A
Remove autofill rule Alt + X Option + X
Move rule up Alt + Option +
Move rule down Alt + Option +
Move rule to another profile Alt + M Option + M
Select profile Alt + P Option + P
Manage profiles Alt + G Option + G
Save options Alt + S Option + S
Reset options Alt + R Option + R
Options – Manage Profiles
New Alt + N Option + N
Rename Alt + R Option + R
Move to First Alt + I Option + I
Move Up Alt + U Option + U
Move Down Alt + W Option + W
Move to Last Alt + L Option + L
Delete Alt + T Option + T
Duplicate Alt + P Option + P
Sort Alt + S Option + S
Options – Exceptions tab
Save options Alt + S Option + S
Reset options Alt + R Option + R
Options – Import/Export tab
Import data Alt + M Option + M
Export data Alt + X Option + X
Replace import mode Alt + R Option + R
Append import mode Alt + A Option + A
Import data from URL Alt + P Option + P
Toggle "Auto-import" option Alt + B Option + B
Options – Other Stuff tab
Toggle "Back up text fields" Alt + A Option + A
Toggle "Manual mode" Alt + M Option + M
Toggle "Autofill delay" Alt + Y Option + Y
Toggle "Fuzzy label matching" Alt + B Option + B
Toggle "Overwrite by default" Alt + W Option + W
Toggle "Expand variables" Alt + P Option + P
Toggle "Sound effects" Alt + S Option + S
Toggle "Wizard's voice" Alt + Z Option + Z
Toggle "Debug mode" Alt + G Option + G
Toggle "Mask passwords" Alt + K Option + K
Toggle "Scale rules table" Alt + R Option + R
Toggle "Context menu" Alt + X Option + X
Form Fields Wizard (infobar)
Choose a Profile Alt + P Option + P
Generate Autofill Rules Alt + G Option + G

Frequently Asked Questions

  1. I don't get it—how does Autofill work?
  2. How come some fields are not being autofilled? For the life of me I cannot get this to work!
  3. How do I auto-click a button (e.g., to automatically submit a form after autofilling)?
  4. How do I randomly select a checkbox from a group of checkboxes? What about randomly toggling one checkbox?
  5. How do I wait for a drop-down menu to be populated before autofilling it?
  6. How do I implement a text spinner like {red|green|blue}, except ensure that each value is used only once on the form?
  7. Where does Autofill store its data, and does it send the data anywhere?
  8. How do I autofill a form that uses generic elements (e.g., div, span, a) instead of form elements (input, select, textarea)?
  9. How do I create an autofill rule using the values from existing rules?
  10. What does the little number in the extension icon (lightning bolt) mean?
  11. How come the extension icon is grayed out sometimes?
  12. How do I manually create an autofill rule?
  13. How do I use a JavaScript rule to check every checkbox on the page?
  14. What if I have multiple sets of data I want to autofill for the same form. Is there a way to select which set of data to fill the form with?
  15. Can I use jQuery in a JavaScript rule?
  16. Does Autofill support automating file uploads?
  17. Does Autofill support autofilling CAPTCHA?
  18. Autofill stopped working after updating. How do I go back to the previous version?
  19. How do I add a delay for a specific rule?
  20. How do I increment a number in an existing form field?
  21. What if I need further assistance?
  22. Can I bookmark the Autofill Options page?
  23. What exactly is a "form field" anyway?
  24. What should I enter in each column of the Form Fields tab?
  25. Can I reorder the autofill rules?
  26. Can I duplicate a profile?
  27. I pressed the hotkey assigned to a profile, but it didn't execute. What's going on?
  28. What if I want to create an autofill rule for only one specific field?
  29. Can I disable a specific rule in a profile?
  30. The text boxes in the Form Fields tab are too small—can't you make them any bigger?
  31. I'm a power user. Are there any keyboard shortcuts?
  32. Just curious, what technologies did you use to develop Autofill?
  33. What's new in this version?
  34. How can I help translate Autofill into my local language?
  35. Is Autofill open source?
  36. This extension has saved me a ton of time—any way I can give back?
  37. What's up with the permissions warning???
  38. What's the best way to troubleshoot Autofill issues?
  39. The field autofills, but how come I still can't submit the form?
  40. Is there a way to execute different profiles one after another?

Q I don't get it—how does Autofill work?
A The easiest way to see how it works is to go to the practice page and generate some rules:
  1. Go to the Practice Form.
  2. Fill out some fields.
  3. Click on the Autofill icon in the toolbar (if you don't see the icon, then it's most likely hidden, so click on the menu icon to get to it).
  4. Create a new profile to save the rules in if you want to organize them by topic or website (this step is optional).
  5. Click on the Generate Autofill Rules button.
Now when you reload the page, all the fields that you filled out before should be autofilled.
Q How come some fields are not being autofilled? For the life of me I cannot get this to work!
A The web is like a wilderness—you never know what you'll encounter. With this said, there are generally two types of forms that can trip up Autofill:
  1. Forms that use dynamic field names. The rules generated by the Autofill wizard should work most of the time, but there are some complex forms where these rules will fail to work because every time you load the page the input elements' name attribute values change (e.g., they contain a randomly generated string or timestamp). For example, the first time you use the wizard the name attribute for the First Name field is "fname1481162526802", so the generated rule is ^fname1481162526802$; however, the next time you visit the page the name attribute changes to "fname1481162889085", so of course the rule won't match anymore and hence this field will not get autofilled. In such cases, you'll have to manually tweak the rules generated by the wizard so that they will continue to match. You can either try a shorter, more generic Regular Expression pattern like ^fname, or you can try matching against one of the other supported attributes (see Form Fields) instead of the name attribute if the values in those attributes don't change.
  2. Forms that rely on elements not supported by Autofill. Only traditional form elements (<input>, <select>, <textarea>) are supported by the wizard; for everything else, you'll have to use JavaScript rules. A good example is this online store. Add a product to cart and proceed to Checkout. The terms & conditions checkbox in the checkout form cannot be autofilled using the rule generated by the wizard. This checkbox is not getting checked because what you click on is not really a checkbox. Try right-clicking on it and select "Inspect"—you should see this highlighted:
    <ins class="iCheck-helper" style="position: absolute; top: -20%; left: -20%; display: block; width: 140%; height: 140%; margin: 0px; padding: 0px; background: rgb(255, 255, 255); border: 0px; opacity: 0;"></ins>
    It's an <ins> element instead of the usual <input type="checkbox"> form element. To auto-click this, you'll have to use a JavaScript rule. Try this: To understand what this code is doing, enter the line below in the JavaScript Console. To bring up the Console, press F12 or Ctrl + Shift + J and click on the Console tab. querySelectorAll() is a JavaScript method that takes a CSS selector as a parameter and returns a type of list called an array of all elements matching that CSS selector within the document object (basically, everything between <html> and </html>). In this case, it returns an array of elements matching .iCheck-helper, or class name "iCheck-helper". The [1] after this method is the index number. You can access items in the array by referencing an item's index number within the array. The thing to remember with JavaScript arrays is that index numbers start at zero, not one. Since the terms & conditions checkbox is the second item in the array, you use index number 1 to reference it. The last part of the statement (click()) is the meat of the action—it triggers a click on that element.

    When you create a JavaScript rule, the most important thing is to figure out what CSS selector to use to "select" an element so that you can act upon it (e.g., element.click() to simulate a mouse click or element.value = 'something' to autofill). In addition to querySelectorAll(), you can also use querySelector() to return the first matching element, which is simpler since the index number is no longer required. Here are some online references in case you want to dive deeper:
If all else fails and none of the rules work for you, then as a last resort you can follow the instructions in the answer to question 8.
Q How do I auto-click a button (e.g., to automatically submit a form after autofilling)?
A You can use a JavaScript rule to do this. Right-click on the button you want to auto-click and select "Inspect". You should see the underlying HTML code for that button highlighted in the Elements panel. Below is the code that you would enter in the Value column for various types of buttons.

<input type="submit" value="Apply"> <button id="continue-btn">Continue</button> – OR – If click() is not working for you, then you can manually trigger a 'click' event like this: As an alternative, you can add this JavaScript rule anywhere in the profile to auto-submit the form (JavaScript rules are always executed last):

Type = JavaScript
Value = Also be sure to check out cuddlycows' excellent How-To auto-submit a form tutorial.
Q How do I randomly select a checkbox from a group of checkboxes? What about randomly toggling one checkbox?
A To randomly select a checkbox from a group of checkboxes, you can use a JavaScript rule. To give you an idea, here's a rule that will randomly select one of the four checkboxes on this test page:

Type = JavaScript
Value = To randomly toggle a checkbox on or off, use the "?" value, e.g.:

Type = Checkbox/Radio
Name = ^subscribe$
Value = ?
Q How do I wait for a drop-down menu to be populated before autofilling it?
A A common scenario for this is when you want to select a state drop-down menu, but it's only populated when you select Country = US. If you use a standard autofill rule for state, then Autofill will try to execute it before the state drop-down menu is fully populated with all the states, so the rule will likely fail. To work around this, you'll have to use a JavaScript rule. Let's say you have this HTML code:
<select name="country">
  …
  <option value="US">United States</option>
  …
</select>
<select name="state">
  <!-- Initial state is empty -->
</select>
Your rule would look something like this:

Type = JavaScript
Value = The same concept applies for fields that are created dynamically (i.e., don't exist when the page first loads). For example, here's how you would autofill the comment box on YouTube:
Q How do I implement a text spinner like {red|green|blue}, except ensure that each value is used only once on the form?
A For this, you'll have to use a JavaScript rule. Let's say you have the following input fields and you want to fill them with the values "red", "green" and "blue", where each value is only used once:
<input name="color1">
<input name="color2">
<input name="color3">
Your rule would look something like this:

Type = JavaScript
Value =
Q Where does Autofill store its data, and does it send the data anywhere?
A Autofill stores its data in the extension's chrome.storage.local. Autofill does not and will never send your data anywhere. You can verify this by monitoring the Network tab. In fact, Autofill doesn't even track you using Google Analytics or anything else. Note that even though your data is not sent anywhere, you should still NOT use Autofill to store sensitive or confidential information since the storage area is NOT encrypted, which means anybody with access to your computer will be able to see whatever you store in Autofill if they know where to look.
Q How do I autofill a form that uses generic elements (e.g., div, span, a) instead of form elements (input, select, textarea)?
A Some forms use generic elements to make the UI look pretty, but behind the scenes there is likely JavaScript that stores the selected values in hidden input fields (a good example is Google Forms). Since these "rich" forms are tricky to reliably autofill, I recommend either of the methods below to manually create the rules. Between the wizard-generated rules and the course of action outlined here, you should be able to autofill the vast majority of forms; however, you never know with the internet, so your mileage may vary.

Method 1: Target the form directly. Since the main purpose of a form is to submit information back to the server, you can short-circuit the input selection process and set the relevant form values directly. Chrome comes with a great tool to monitor what information is sent when you submit a form, which you can use to craft your autofill rules. Here are the steps:
  1. Go to the page with the form you want to autofill.
  2. Open Developer Tools (F12 or Ctrl + Shift + I).
  3. Go to the Network tab.
  4. Ensure the "Preserve log" option is checked.
  5. Look for the <form> element containing the fields you want to autofill and make a note of the action attribute value. This is the server script that handles the form data. Also make a note of the form's id or name attribute value, which you'll need to submit the form later on (last step). A quick way to find the correct <form> element is to right-click on a field and select "Inspect", then follow the breadcrumbs at the bottom of the Elements tab from right to left until you get to "form".
  6. Fill out the form with the values you want and submit it.
  7. In the Network tab, click on the link to the form action script from step 5. If you see multiple rows with the same name, then click on the one with "document" under the Type column.
  8. Go to "Query String Parameters" at the bottom (expand it if it's collapsed) and make a note of all the parameters. For example, if I were to search for "autofill" on Google, I would see something like this after submitting the form:
    safe: off
    site:
    source: hp
    q: autofill
    oq: autofill
    gs_l: hp.3..0i20k1l2j0j0i131k1j0l6.13514.14205.0.24666.11.9.0.0.0.0.511.1305.2-2j1j0j1.4.0....0...1c.1.64.hp..7.1.302.0.B15ZjP-S264
    The text to the left of the colon is the parameter key, and it maps to the input's name attribute; the text to the right of the colon is the parameter value, and it maps to the input's value attribute. A parameter refers to this key-value pair. These parameters are sent to the server when you submit the form, and they're the only things that matter as far as Autofill is concerned. Once you know what the parameters should be, then you are ready for the next step...
  9. Create autofill rules for the fields from step 8 (assuming these are hidden inputs, which are equivalent to text inputs). Using the same Google search example, the rules would look like this:

    Type = Text
    Name = ^q$
    Value = autofill

    Type = Text
    Name = ^oq$
    Value = autofill

    As you can see, you can usually get away with assigning a value for only the relevant fields, but you should experiment to see what works. If the rules don't work, then there's a chance that Autofill is executing them too fast, in which case you can add a delay by using a JavaScript rule, e.g.:

    Type = JavaScript
    Value = This tells Autofill to wait 2000 milliseconds (2 seconds) before executing the JavaScript code. If you want to increase the delay, then change 2000 to a larger number.
Method 2: Simulate user input. In theory, you should be able to autofill any form by simulating a human being via JavaScript. Here's a rule that simulates a person selecting the German language from a sample Google Form:

Type = JavaScript
Value =
Q How do I create an autofill rule using the values from existing rules?
A First, enable variables by going to Autofill Options / Other Stuff tab and make sure the "Expand variables" option is checked. With variable expansion enabled, you should see a little gray box with some white text inside in the upper right corner of every field on the Form Fields tab. This is the variable name, or field reference. In order to use the value from that field, you refer to its field reference in your rule. For example, if you have a rule for First Name with the field reference v1 and a rule for Last Name with the field reference v2, and you want to autofill "[First Name] [Last Name]", then create a rule with this as the value: {v1} {v2}. For more information on variables, please refer to the Other Stuff section.
Q What does the little number in the extension icon (lightning bolt) mean?
A It represents the number of fields that were autofilled.
Q How come the extension icon is grayed out sometimes?
A The lightning bolt icon is grayed out when there are no fields to autofill, or when the page title or URL matches something on the Exceptions list. The icon will light up when the following elements are detected: <input>, <select>, <textarea>, <iframe> (generally used by rich text editors), and elements that have the contenteditable="true" attribute. The icon is also grayed out when the extension auto-updates in the background; if this happens on a page with form fields, then you should reload the page for proper autofilling operation.
Q How do I manually create an autofill rule?
A Follow these steps:
  1. Right-click on the field you'd like to autofill and select "Inspect". This will bring up the field's HTML code. Most form fields should have a name or id attribute; the value in this attribute will act as a unique identifier for the autofill rule. See the Form Fields section for a full list of attributes you can match against.
  2. Go to Autofill Options. From the Form Fields tab, click on the [+] button (or press Alt + A). This will add a new row to the rules table.
  3. Here's what you would enter for each column in the row:
    • Type – the type of field it is. This should be self-explanatory. The JavaScript type allows you to automatically execute JavaScript code on page load.
    • Name – a unique identifier for the field to autofill. Use the attribute value from step 1. Note that Autofill does a partial match, so if you enter "email" and there's another field with name="email2", then this rule will autofill both fields. To prevent this, enter ^email$ to force an exact match.
    • Value – the value to autofill the field with.
    • Site – the page's URL or title. This acts as a site filter to trigger the autofill, so it's highly recommended that you enter something or else Autofill will blindly autofill every field of the selected type.
    • Mode – leave this on Safe. If the field contains a default value that you'd like to overwrite, then change the mode to Overwrite.
  4. The most important step: click Save (or press Alt + S).
If you reload the page, the autofill rule you just created should kick in and automatically fill out that field.
Q How do I use a JavaScript rule to check every checkbox on the page?
A Actually, you don't even have to use a JavaScript rule for this—you can simply use a Checkbox/Radio rule, leave the Name field blank, and enter 1 for the Value field to check every checkbox on the page. However, if you still want to use a JavaScript rule, then you can use this code: This will click every checkbox, so if one is already checked then it will be unchecked. If you want to have every checkbox checked regardless of its state, then enter this instead:
Q What if I have multiple sets of data I want to autofill for the same form. Is there a way to select which set of data to fill the form with?
A Yes, the Profiles feature is great for this. You can create a profile for each set of data. You may also want to enable manual mode (Other Stuff tab) for this purpose. Now you'll be able to manually execute all the rules in a profile from the right-click context menu (Autofill / Execute profile) or by pressing the assigned hotkey.
Q Can I use jQuery in a JavaScript rule?
A Yes, you can use jQuery by first injecting it into the document using a special Autofill function called injectJquery(n), where n is an optional argument that can be one of the following integers:
  • 1 – injects jQuery v1.12.4
  • 2 – injects jQuery v2.2.4
  • 3 – injects jQuery v3.3.1
NOTE: jQuery v1-2 are considered unsafe and no longer supported to be in compliance with Mozilla guideliness.

If n is not provided, then Autofill will inject jQuery v3.3.1 by default. Here's a sample JavaScript rule that demonstrates jQuery injection: Loading the jQuery library will cause Autofill to consume a tiny bit more memory, so only rely on it if you absolutely need to; otherwise stick to vanilla JavaScript (e.g., querySelector(), querySelectorAll()).
Q Does Autofill support automating file uploads?
A No, for security reasons Chrome doesn't allow autofilling of <input type="file"> elements. The best solution for this is to use a screen recorder or macro utility like AutoHotkey.
Q Does Autofill support autofilling CAPTCHA?
A It depends on the type of CAPTCHA. To my knowledge there is currently no way to extract text from a CAPTCHA image with 100% accuracy using JavaScript. Please post in the support group if you have a good solution for this. However, it is possible to auto-check the "I'm not a robot" reCAPTCHA. For example, here's a rule that works on this reCAPTCHA demo:

Type = JavaScript
Value =
Q Autofill stopped working after updating. How do I go back to the previous version?
A You can install an older version of Autofill by doing the following:
  1. Download and unzip one of the following Autofill versions to a folder (select Download / Direct download):
  2. Go to chrome://extensions.
  3. Enable Developer mode (top right corner).
  4. Click on "LOAD UNPACKED".
  5. Select the folder from step 1 and click OK.
Note that if you install Autofill this way, then it will never get auto-updated.

* If you install Autofill v5.5, then you will need to take these additional steps before proceeding with step 2 from above:
  1. Close Google Chrome.
  2. Right-click on the Google Chrome shortcut and select "Properties".
  3. Add the --allow-legacy-extension-manifests flag to the end of the Target field, e.g.:
  4. Restart Google Chrome.
Q How do I add a delay for a specific rule?
A The Delay option applies to all rules globally. If you want to add a delay for only one specific rule, then you'll have to use a little bit of JavaScript. Here's an example of waiting two seconds to autofill a field:
Q How do I increment a number in an existing form field?
A Let's say you want to increment the number in <input name="count">. You would create a JavaScript rule and enter this code:

Type = JavaScript
Value =
Q What if I need further assistance?
A If you need further assistance, please visit the official Autofill support group to start a new discussion or join an existing one. You can also post to the support group directly by sending an email to chrome-autofill@googlegroups.com. To get acquainted with Autofill, see what the rules look like for the Practice Form by automatically generating them using the wizard as outlined in the answer to question 1.
Q Can I bookmark the Autofill Options page?
A Yes, you can bookmark the following URL for quick access to Autofill Options:
chrome-extension://nlmmgnhgdeffjkdckmikfpnddkbbfkkk/options.html
The Options page can also be accessed through the right-click context menu if the setting is enabled in the Other Stuff tab.
Q What exactly is a "form field" anyway?
A A form field, also known as a form control or form element, is used to submit data from the client (your browser) to the server. It can have the following HTML tags: <input>, <textarea>, <select>. Though not technically a form field, Autofill also supports WYSIWYG edit boxes that use the <iframe> tag.
Q What should I enter in each column of the Form Fields tab?
A Move the mouse pointer over the question mark icon in the column header for some guidance. A detailed description is also available by clicking the Help button.
Q Can I reorder the autofill rules?
A Yes, you can easily reorder any rule by dragging the up/down icon on the right. If you are currently editing inside a text box, then you can press Alt + to move that rule up or Alt + to move it down.
Q Can I duplicate a profile?
A Yes, you can do this by following these instructions:
  1. Create a new empty profile in Options (this is the profile you want to duplicate to).
  2. Export the data to a CSV file under the Other Stuff tab.
  3. Open the CSV file in Microsoft Excel or equivalent spreadsheet.
  4. Copy the rows of the profile you want to duplicate and paste it immediately above ### OPTIONS ###.
  5. In the newly pasted rows, change the value in the Profile column to the profile ID of the profile you just created (this can be found under the ### PROFILES ### section).
  6. Import the CSV data back into Autofill (you can copy directly from Excel or from a text editor).
If you master the CSV data structure, you can do all sorts of raw manipulations in Excel and then import the data into Autofill. This opens up a whole new level of flexibility and power for you.
Q I pressed the hotkey assigned to a profile, but it didn't execute. What's going on?
A Chances are very likely that this hotkey is already used by Chrome, another Chrome extension, another program, or possibly your operating system. Try setting another hotkey for that profile.
Q What if I want to create an autofill rule for only one specific field?
A You can generate an autofill rule for one text field by right-clicking inside this field and selecting "Add rule for this field..." in the Autofill context menu.
Q Can I disable a specific rule in a profile?
A The quickest way to disable a rule is to set its site filter to something that will never match, like xyz.
Q The text boxes in the Form Fields tab are too small—can't you make them any bigger?
A In Google Chrome you can resize a text box by dragging the gripper () at the bottom right corner of the box. The new size will be preserved until you reload the page.
Q I'm a power user. Are there any keyboard shortcuts?
A Yes, keyboard shortcuts are denoted by underlined letters. On Windows and Linux, press the Alt key and the underlined letter at the same time; on Mac, press the Option (⌥) key and the underlined letter at the same time. For example, to switch to the Form Fields tab, press Alt + L on Windows/Linux and Option + L on Mac. The full list of keyboard shortcuts can be found in the Keyboard Shortcuts section.
Q Just curious, what technologies did you use to develop Autofill?
A Mainly HTML, CSS, and JavaScript. HTML5: data attributes for various functionalities on the Options page, the <audio> tag for sound effects, and range input for the slider control. CSS3: border-radius for the rounded corners, box-shadow for the gradient shadows, flexbox for the modal dialog positioning, and transitions/transforms for the animations. Microsoft Ajax Minifier was used to keep the extension fast and light, and no JavaScript frameworks were used to further reduce the weight. All JavaScript performance testing was done using jsPerf. All coding was initially done in Notepad2, then later Notepad++.
Q What's new in this version?
A Click on the version number in the upper right corner to see the changelog.
Q How can I help translate Autofill into my local language?
A I'm glad you asked, and it's much appreciated! Please go to the Translations thread for guidelines on how to submit your translations.
Q Is Autofill open source?
A Autofill for Chrome is currently closed source, but a lot of the core autofilling code is shared with Autofill for Firefox (Legacy), which is open source on GitHub.
Q This extension has saved me a ton of time—any way I can give back?
A I have poured countless hours into Autofill over the years, which began life in 2010 as an assistance tool for my disabled computer students and eventually evolved into the all-purpose extension that you see now. Since I'm just a one-person shop doing this in my spare time, anything that you can contribute would be a blessing whether it be translations, creating better screenshots for the Web Store page, or posting tutorials in the support group. If you would like to donate money, then click on the Donate link under the Support tab in Options. Thank you so much for your generosity.
Q What's up with the permissions warning???
A These warning messages are just that—warnings. They serve to tell you that the permission grants the extension the power to do that, but that doesn't necessarily mean the extension is going to be doing exactly that. It's like when you buy an electrical appliance and inside the box you get a big, obnoxious warning telling you not to bring it into the bathtub. Every time a new version of an extension requests a new permission that gives off a warning, the extension is automatically disabled after the auto-update, forcing users to read and acknowledge the permission warning before they can re-enable the extension. For full disclosure, here are all the permissions that are required by Autofill and the warnings they give off:
  • host (http://*/*, https://*/*, file://*/*) – allow Autofill's content script to operate on all non-secure pages, secure pages, and local files. This permission displays the warning "Read and change all your data on the websites you visit". Technically, Autofill has to be able to "read" the data (to detect form fields) and "change" the data as well (to fill out the form for you). However, Autofill does not and will never track your browsing history, nor does it transmit any data back to a remote server (your data remains on your local hard drive at all times).
  • contextMenus – add Autofill to the right-click context menu. This permission displays no warning message.
  • storage – store data on your hard drive. This permission displays no warning message.
  • unlimitedStorage – allow unlimited storage (without this permission you would only be able to store 5 MB of data). This permission displays no warning message.
  • webNavigation – detect when a web page is loaded to reset the icon badge count. This permission displays the warning "Read your browsing history" (Autofill does not and will never track your browsing history).
For a complete list of permissions and possible warnings, please refer to Chrome's Permissions with Warnings.
Q What's the best way to troubleshoot Autofill issues?
A To help me help you faster, it would be best if you could provide me with enough information to reproduce the issue consistently because the first step in resolving the issue is to be able to reproduce it. Please provide me with the following:
  • Autofill rules you're having problems with – you can export the data and either email it to me privately or post it in the support group. If the rules contain private information, then remember to remove the sensitive bits or replace them with dummy data.
  • URL of the form you're having problems with – if the page requires a login or is behind a private portal, then the next best thing is to save the page as HTML and provide the complete HTML code. You can save any web page by pressing Ctrl + S and selecting "Webpage, Complete". If you're having a problem with only one specific field, then you can provide me with the HTML code for that field by right-clicking on it and selecting "Inspect" to bring up the Elements panel. This element should already be highlighted for you; to grab the HTML code, right-click on the highlighted element and select Copy / Copy outerHTML.
  • Error logs (if any) – Autofill can throw errors in two locations:
    1. Background page – to see if there are errors here, go to the extensions page (chrome://extensions) and click on "background page" to the right of "Inspect views" in the Autofill tile (if you don't see this link, then click "more..."). A new window should pop up; click on the Console tab. Make sure the dropdown menu to the right of the Filter input is set to "Default levels". Any errors should be printed in red text in the console.
    2. Content script – to see if there are errors here, go to the form you're having problems with and bring up the JavaScript console by pressing F12 and clicking on the Console tab. Make sure the dropdown menu to the right of the Filter input is set to "Default levels". Any errors should be printed in red text in the console.
Q The field autofills, but how come I still can't submit the form?
A Some sites use JavaScript validation to ensure that the user manually types the text into the field. Every site is different, but you can usually fool the validation by using dispatchEvent() to simulate user input. Example:

Type = JavaScript
Value = If the input event doesn't work, then try other keyboard events such as keyup, keydown, and keypress. I once came across a form that required a mouse click on the field (mousedown event) in order to properly validate the user input.
Q Is there a way to execute different profiles one after another?
A Yes, starting with v9.0.0 you can execute profiles from a JavaScript rule. This way you can chain a bunch of profiles together by having the first profile execute; the first profile contains a JavaScript rule that executes the second profile, and so on. Here is the function you can use to execute a profile: Autofill('profile ID').

To execute profile c1 (the profile ID is listed in the first column when you export your data): To execute the "All" profile: To execute the "Unfiled" profile:

The following plugins are used in Autofill: