Autofill Help

Install Chrome extension   Install Firefox add-on   Install Edge extension


Introduction

Autofill is not like the typical autofill feature built into modern browsers that prompt to fill out your address information. The browser autofill generally works fine, and you should continue using it for such purpose. While the Autofill extension can be used to autofill addresses, it's more an automation tool to reduce your work load and help protect against wrist injuries. Any text input or interaction that you can do using the mouse or keyboard can probably be automated using Autofill, especially if you are proficient at JavaScript.

The core concept is (1) you create autofill rules and (2) the rules are automatically executed when you land on a web page that satisfies one or more rule definitions. Autofill's main UI is the infobar, which is where you execute and generate rules. For quick access, it's a good idea to assign a global hotkey to launch the Autofill infobar. Autofill rules are managed from the Options page, which is what the rest of this documentation will cover.

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 except for JavaScript rules, which are executed last. 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 (this can also be done using Keyboard Shortcuts for keyboard warriors). To perform an action on an autofill rule, click on one of the following buttons to the right of the rule:

Click on the [🔍] button to toggle the search box. You can search for text in any of the columns in the rules table as well as the profile name and site filter (see below). Remember to click the Save button after you have modified one or more rules.

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 infobar 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, or click on the Autofill lightning bolt icon and expand the Generate Rules section. 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 click on the Autofill logo in the infobar to open the Options page and 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 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. Shift- and Ctrl-click on multiple profiles to perform bulk operations on them. 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's default behavior is to only process rules in the active profile. An active profile is the last profile you viewed in Options or the last profile you executed. If you want to execute all matching rules regardless of what the active profile is, then disable the "Autofill active profile only" option (see Other Stuff).

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. As with the Name and Site columns, this field takes a Regular Expression, so these reserved characters should be escaped (i.e., preceded with a backslash): ^ $ . ? + * \ | ( ) { } [ ]

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

NOTE: Some hotkeys may not work if there is a conflict with another software or extension, or the hotkey is reserved by the operating system or browser.

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.

TIP: You can quickly see a profile's ID by hovering the mouse over the profiles dropdown menu or [›] "move rule" button when in the "All" profile. A rule's ID is the same as its field reference (displayed in the tooltip when you hover over the Name or Value field), except that it starts with "r". For example, if the reference for Name is n1, then the rule ID would be r1. To see all of the profile and rule IDs, export your data (see Import/Export).

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

NOTE: Chrome has a limit of 998 total context menu items, four of which are already used by Autofill. This leaves us with a maximum of 994 text clips. Since categories are displayed as submenus and each submenu also takes up a menu item slot, use categories sparingly because each category used means one fewer text clip that can be defined.

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. 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. Here are some examples to get you started (more in variables.txt):

# Example: Monday, January 17, 2022 (format is region-specific)
long_date = javascript:new Date().toLocaleDateString('en-us', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'})
# Example: 1/17/2022 (format is region-specific)
short_date = javascript:new Date().toLocaleDateString()

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

Import allows you to load settings from a CSV file. You can copy the data from a CSV file opened in a text editor such as Notepad (do NOT open it in Excel because it does autocorrection that can change some of your values, such as "01" and "1.0" being replaced with "1"). The data to be pasted into this text 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 restore the settings in your current browser or transfer the settings to Autofill in another browser (Chromium, Firefox, Edge). Since browser extensions cannot access the file system at the moment, you will have to manually copy the generated CSV data, paste it into a text editor (do NOT paste it into Excel), and save the file with a .csv extension.

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 a text editor, 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 a text editor 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. Here's a sample URL that has rules to autofill the Practice Form:

https://pastebin.com/raw/k5j87pZB

Operation:

Security:

Interface:

Keyboard Shortcuts

Chrome, Edge, Firefox – Windows, Linux All Browsers – Mac
Options – Form Fields tab (when cursor is inside a text box)
Go to previous rule
Go to next rule
Move rule up Alt + +
Move rule down Alt + +

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 dropdown 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 number on the lightning bolt icon 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 permissions are granted to Autofill?
  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?
  41. How do I assign a hotkey to open the Autofill infobar?
  42. How come I do not see all my profiles or text clips in the right-click context menu?

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 infobar 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 infobar rules generator 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 infobar 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 infobar rules generator; 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 infobar. 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 dropdown menu to be populated before autofilling it?
A A common scenario for this is when you want to select a state dropdown 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 dropdown 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 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">
Starting from Autofill v10, you can use the new shrinking text spinner variable to accomplish this. Here's what the rule would look like:

Type = Text
Name = ^color[1-3]$
Value = {(red|green|blue)}

As an alternative, you can also use a JavaScript rule. 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 infobar-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 number on the lightning bolt icon mean?
A This number, also called an icon badge, represents the number of rules that were executed on the current page. Sometimes this number can be higher than you expected because Autofill runs in all iframes in addition to the main page, so the same rule may be executed in iframes as well.
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. 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.
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(). 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()).

NOTE: This function injects jQuery v3. jQuery v1-2 are considered unsafe and no longer in compliance with Mozilla guidelines.
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 in Chrome by doing the following:
  1. Download and unzip one of the following Autofill versions to a folder (click the "Download" button):
  2. Go to chrome://extensions.
  3. Enable Developer mode (top right corner).
  4. Click the "Load unpacked" button (top left).
  5. Select the folder from step 1 (e.g., Autofill_v966) and click the "Select Folder" button.
You can install an older version of Autofill in Firefox by doing the following:
  1. Go to Autofill version history.
  2. Click on "Download file" for the version you want.
  3. Click the "Add" button, then the "Okay" button.
Note that if you manually install Autofill this way, then it will never get auto-updated.
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 infobar 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, or by right-clicking on the extension icon (lightning bolt).
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 a text editor like Notepad.
  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 profile ID to the ID of the profile you just created (this can be found under the ### PROFILES ### section).
  6. Import the CSV data back into Autofill.
If you master the CSV data structure, you can do all sorts of raw manipulations in your text editor, copy all, then paste directly into the Import/Export text box. This opens up a whole new level of flexibility and power for you. Note that if you copy directly from Excel, some values may change as Excel does some autocorrection (e.g., "01" and "1.0" will be changed to "1"), which can lead to unexpected results. This is the reason why you should open the CSV file in a text editor instead of Excel.
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 You can resize a text box by dragging the gripper (e.g., in Chrome) at the bottom right corner of the box. The new size will be preserved until you reload the page. You can also click on the Edit button to edit the value in a code editor (very useful for JavaScript rules).
Q I'm a power user. Are there any keyboard shortcuts?
A Yes, see 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 The Autofill extension is currently closed source.
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 permissions are granted to Autofill?
A For full disclosure, here are all the permissions that are required by Autofill:
  • host (http://*/*, https://*/*, file://*/*) – allow Autofill's content script to operate on all non-secure pages, secure pages, and local files. Technically, Autofill has to be able to read data (to detect form fields) and change data (to fill out the form for you) on the web pages that you visit. Note that 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.
  • storage – store rules and settings on your hard drive.
  • unlimitedStorage – allow unlimited storage. Without this permission you would only be able to store 5 MB of data.
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', delay).

To execute profile c1 (the profile ID is displayed in the tooltip when you hover over the profiles dropdown menu): To execute the "All" profile: To execute the "Unfiled" profile after a 1.5-second delay (1500 ms):
Q How do I assign a hotkey to open the Autofill infobar?
A To assign a global hotkey to activate the Autofill infobar:
  • Chrome – go to chrome://extensions/shortcuts and enter the hotkey for Autofill.
  • Edge – go to edge://extensions/shortcuts and enter the hotkey for Autofill.
  • Firefox – go to about:addons, click on the gear icon, select "Manage Extension Shortcuts", and enter the hotkey for Autofill.
You can close the infobar by clicking on the "x" icon or pressing the Esc key.
Q How come I do not see all my profiles or text clips in the right-click context menu?
A This can occur in Chrome when you have too many profiles or text clips. Chrome is limited to a total of 1000 context menu items (inclusive of the parent Autofill menu). This means, for example, if you have 1000 profiles set up, you would only see 997 profiles (the other three are used by the "Autofill", "Add rules for this page", and "Execute profile" menu items), and Option would not be displayed in the context menu.

The following plugins are used in Autofill:

Autofill is a labor of love that sucks an enormous amount of time and energy to continuously improve and support. Thank you for your support ^_^.