Everything the extension can do, tab by tab. Most people only need the first two sections.

For every detected field FillMyForm walks this list and stops at the first source that has a value:
Fields that already contain text are left alone unless Overwrite values is on. Newsletter opt-ins are never ticked; terms and privacy boxes are ticked only when Tick consent boxes is on.
| Control | What it does |
|---|---|
| Profile | Selects which saved profile feeds the fill. Manage profiles under Advanced settings. |
| Fill this page | Runs the fill on the active tab, including frames. The button shows progress and the status line reports the outcome. |
| AI fallback | Per-run switch. Sends unmatched fields to the AI model. Requires an OpenRouter key, otherwise the run reports AI as disabled and continues without it. |
| Random data | Per-run switch. Generates realistic values for fields the profile leaves empty. |
| Solve captchas | Per-run switch. Solves reCAPTCHA, hCaptcha and Turnstile via CapSolver. Needs a CapSolver key in Settings. |
| Saved so far | Totals since install, kept on this device: forms filled, time saved (5 seconds per field you did not type), captchas solved, AI tokens used. |
| Last result | found / filled / by AI / skipped counts for the last run, the status line and a captcha badge (no captcha, solving, solved, failed). |
| Recent fills | The last fills with page title and link. The badge shows where history is stored: Chrome sync or Supabase. |

| Control | What it does |
|---|---|
| Default email / password | Used when the active profile has no email or password. Order per field: profile, defaults, generated persona, AI. |
| Fresh password | Ignores the default password and generates a new 14-character strong password on every fill. Copy it from the filled field before submitting. |
| Nationality | Locale for generated personas: United States, United Kingdom, Canada, Australia, Germany, France, Spain, Netherlands, India, Brazil or Mixed English-speaking. Affects names, phone formats, postcodes and addresses. |
| randomuser.me API | When the local generator cannot produce a locale-consistent address, fetch one from randomuser.me. Only a nationality code is sent. |
| Save defaults | Persists the tab to Chrome sync storage. |
| Control | What it does |
|---|---|
| Theme | System, Light or Dark. Applies to popup and Advanced settings. |
| Overwrite values | Replace values already typed into the form. Off by default so partially completed forms keep your input. |
| Highlight fields | Outline every field the extension filled so you can review at a glance. |
| Tick consent boxes | Tick terms, privacy and similar consent checkboxes. Newsletter boxes are never ticked. |
| Own OpenRouter key | Your OpenRouter API key (sk-or-v1-...). Required for AI fallback. Stored in Chrome sync storage only. |
| CapSolver key | Your CapSolver API key (CAP-...). Required for captcha solving. |
| Account sync: Enable / Project URL / Anon key | Connect your own Supabase project to keep history across browsers. See Account sync below. |
| Auto-reload (Developer) | Unpacked builds only. Watches source files every 3 seconds and reloads the extension on change. Not shown for store installs. |
| Advanced settings | Opens the full options page in a tab. |

Lists recent fills with page title, URL, field counts and time. Click an entry to reopen the page. Clear history from this tab; clearing also removes the local mirror.

Each profile holds the values used to fill forms. The active profile is the one selected in the popup.
Custom rules are regular expressions tested against a field signature made of autocomplete, type, name, id, placeholder and label. A rule maps a match to a profile key. Custom rules run before the built-in rules, so they override them.
work.?e-?mail) and pick the profile key it should fill.
Fields no rule can place are sent in one batch to OpenRouter together with your active profile. The model returns a value per field. Nothing is sent when the toggle is off or no key is set.
| Control | What it does |
|---|---|
| Use my OpenRouter API key | Required. Create a key at openrouter.ai, paste it here. |
| Model | Default mistralai/mistral-small-3.2-24b-instruct. Also DeepSeek V3, Qwen 2.5 72B, Ministral 14B, Grok 4.1 fast (free), GPT-4o mini, Claude Sonnet 5, Gemini 2.5 Flash, or a custom provider/model-id. |
| Save AI settings | Persists key and model. |
What is sent: labels, names, placeholders and select options of the unmatched fields, page title and URL, and the active profile values. Token usage is counted in the popup.

| Control | What it does |
|---|---|
| CapSolver API key | Get one at capsolver.com. The balance is shown next to the field after saving. |
| reCAPTCHA v2 / v3 | Detects checkbox, invisible and enterprise v2 and score-based v3 widgets and requests a token. |
| hCaptcha | Same for hCaptcha widgets. |
| Cloudflare Turnstile | Same for Turnstile widgets. |
| Save captcha settings | Persists key and switches. |
The token is written into the hidden response field and the widget's callback is invoked so the site accepts it. You still press the submit button. What is sent to CapSolver: page URL, site key and captcha type.

| Control | What it does |
|---|---|
| Overwrite fields that already have a value | Same as the popup toggle. |
| Highlight filled fields | Same as the popup toggle. |
| Tick terms / privacy consent boxes | Same as the popup toggle. |
| Use AI for unknown fields (default) | Default state of the AI switch when the popup opens. |
| Solve captchas (default) | Default state of the captcha switch. |
| Generate random data when the profile is empty | Enables the local persona generator. |
| Use randomuser.me API for locale-consistent data | Enables the network lookup as a second source. |
| API persona nationality | Locale for generated data, same list as the Defaults tab. |
The last 60 fills with URL, title, counts and time. Stored in Chrome sync, plus your Supabase project when account sync is on. Delete single rows or clear all.
Shows the build number, a privacy summary and, for unpacked developer installs, a Reload extension button that re-reads the folder and re-injects the content script into open tabs.
Optional. Keeps fill history across browsers and machines using a free Supabase project you own.
docs/supabase.sql, creates the fill_history table and row-level security so each user sees only their rows).History rows and your sign-in credentials go only to your project. An alarm syncs history periodically and sends a daily keep-alive so free projects are not paused.
Right-click anywhere on a page and choose FillMyForm: fill this page. It uses the active profile and the current toggle states, same as the popup button.
| Symptom | Fix |
|---|---|
| Nothing gets filled | Reload the page once after installing; the content script is injected into tabs opened before the install. Check the site is http or https, not a chrome:// or Web Store page. |
| Fields filled but the site says they are empty | Turn on Overwrite values and try again. Some sites reset fields on focus; fill after the page has fully loaded. |
| AI shows "disabled" | Enter your own OpenRouter key in Settings and turn on the AI fallback toggle. |
| Captcha badge says failed | Check the CapSolver balance in the Captcha tab. Some enterprise reCAPTCHA deployments require an action name; try again once. |
| Wrong value in a field | Add a custom rule for that field's label so it maps to the correct profile key. |
| History not syncing | Confirm you are signed in (green badge) and that the SQL setup ran in your Supabase project. |
| Permission | Reason |
|---|---|
| storage | Profiles, settings, keys and history in Chrome sync / local storage. |
| activeTab, tabs | Fill the page you are looking at and reopen a page from history. |
| scripting | Inject the content script into already-open tabs and run the captcha callback in the page. |
| contextMenus | The right-click "fill this page" entry. |
| webNavigation | List the frames of the tab so forms inside iframes are filled too. |
| alarms | Periodic history sync and daily keep-alive when account sync is configured. |
| Host access to all sites | Forms exist on any site; the script only acts when you trigger a fill. |
| openrouter.ai, api.capsolver.com, randomuser.me, *.supabase.co | Only with your own keys, only when the matching feature is on. |
Full details in the privacy policy.