Documentation

How to use FillMyForm

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

Install

  1. Open the Chrome Web Store listing and press Add to Chrome.
  2. Click the puzzle icon in the toolbar and pin FillMyForm so the icon is always visible.
  3. Click the icon once. The popup opens on the Overview tab.
Chrome 116 or newer is required. The extension is Manifest V3 and works in Chrome, Edge, Brave and other Chromium browsers.

Your first fill

  1. In the popup, click the gear to open Advanced settings, then Profiles.
  2. Press Add, give the profile a name and type the values you want reused: first and last name, email, phone, street, city, postcode, country, company, job title, username, password, website, date of birth, card test data. Leave anything empty that you would rather have generated.
  3. Press Save profile. Close the tab.
  4. Go to any page with a form, open the popup, choose the profile and press Fill this page.
  5. Every filled field is outlined. The Last result box shows found, filled, by AI, skipped and the captcha state. Review and press the site's own submit button.
Filled form with highlighted fields

How values are chosen

For every detected field FillMyForm walks this list and stops at the first source that has a value:

  1. Custom rules (your regex to profile key mapping).
  2. Built-in rules: autocomplete attribute, input type, name, id, placeholder and label text matched against the active profile.
  3. Default credentials (Defaults tab) for email and password when the profile has none.
  4. Local random generator when "Random data" is on.
  5. randomuser.me for locale-consistent names and addresses when that option is on.
  6. AI fallback for anything still unmatched, when the toggle is on and an OpenRouter key is set.

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.

Popup: Overview tab

ControlWhat it does
ProfileSelects which saved profile feeds the fill. Manage profiles under Advanced settings.
Fill this pageRuns the fill on the active tab, including frames. The button shows progress and the status line reports the outcome.
AI fallbackPer-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 dataPer-run switch. Generates realistic values for fields the profile leaves empty.
Solve captchasPer-run switch. Solves reCAPTCHA, hCaptcha and Turnstile via CapSolver. Needs a CapSolver key in Settings.
Saved so farTotals since install, kept on this device: forms filled, time saved (5 seconds per field you did not type), captchas solved, AI tokens used.
Last resultfound / filled / by AI / skipped counts for the last run, the status line and a captcha badge (no captcha, solving, solved, failed).
Recent fillsThe last fills with page title and link. The badge shows where history is stored: Chrome sync or Supabase.
Popup overview tab

Popup: Defaults tab

ControlWhat it does
Default email / passwordUsed when the active profile has no email or password. Order per field: profile, defaults, generated persona, AI.
Fresh passwordIgnores the default password and generates a new 14-character strong password on every fill. Copy it from the filled field before submitting.
NationalityLocale 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 APIWhen the local generator cannot produce a locale-consistent address, fetch one from randomuser.me. Only a nationality code is sent.
Save defaultsPersists the tab to Chrome sync storage.
ControlWhat it does
ThemeSystem, Light or Dark. Applies to popup and Advanced settings.
Overwrite valuesReplace values already typed into the form. Off by default so partially completed forms keep your input.
Highlight fieldsOutline every field the extension filled so you can review at a glance.
Tick consent boxesTick terms, privacy and similar consent checkboxes. Newsletter boxes are never ticked.
Own OpenRouter keyYour OpenRouter API key (sk-or-v1-...). Required for AI fallback. Stored in Chrome sync storage only.
CapSolver keyYour CapSolver API key (CAP-...). Required for captcha solving.
Account sync: Enable / Project URL / Anon keyConnect 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 settingsOpens the full options page in a tab.
Popup settings tab

Popup: History 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.

Advanced settings: Profiles

Profiles tab

Each profile holds the values used to fill forms. The active profile is the one selected in the popup.

  • Add creates an empty profile; Profile name is what appears in the popup dropdown.
  • Field groups: identity (first, last, full name, gender, date of birth), contact (email, phone), address (street, line 2, city, state, postcode, country), company (name, job title, website), account (username, password), payment test data (card number, expiry, CVC, name on card).
  • Leave a value empty to let the random generator or AI fill it when those toggles are on.
  • Save profile writes to Chrome sync storage so the profile follows your Google account.
Use test card numbers only. Real payment data in a sync-stored profile is your responsibility.

Advanced settings: Rules

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.

  • Add rule: enter a pattern (case-insensitive JavaScript regex, for example work.?e-?mail) and pick the profile key it should fill.
  • Test a label: type a label such as "Your work e-mail" to see which custom rule would match. Built-in rules run inside the page and are not simulated here.
  • Save rules persists the list.

Advanced settings: AI

AI tab

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.

ControlWhat it does
Use my OpenRouter API keyRequired. Create a key at openrouter.ai, paste it here.
ModelDefault 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 settingsPersists 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.

Advanced settings: Captcha

Captcha tab
ControlWhat it does
CapSolver API keyGet one at capsolver.com. The balance is shown next to the field after saving.
reCAPTCHA v2 / v3Detects checkbox, invisible and enterprise v2 and score-based v3 widgets and requests a token.
hCaptchaSame for hCaptcha widgets.
Cloudflare TurnstileSame for Turnstile widgets.
Save captcha settingsPersists 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.

Advanced settings: Behaviour

Behaviour tab
ControlWhat it does
Overwrite fields that already have a valueSame as the popup toggle.
Highlight filled fieldsSame as the popup toggle.
Tick terms / privacy consent boxesSame 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 emptyEnables the local persona generator.
Use randomuser.me API for locale-consistent dataEnables the network lookup as a second source.
API persona nationalityLocale for generated data, same list as the Defaults tab.

Advanced settings: History

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.

Advanced settings: About

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.

Account sync with Supabase

Optional. Keeps fill history across browsers and machines using a free Supabase project you own.

  1. Create a project at supabase.com and open the SQL editor.
  2. Run the setup script shipped with the extension (docs/supabase.sql, creates the fill_history table and row-level security so each user sees only their rows).
  3. In the popup Settings tab, switch Enable on and paste the Project URL (https://xxxx.supabase.co) and the anon public key. Save.
  4. In the Overview tab, use Create account or Sign in with an email and password. The badge turns green and the history store reads "Supabase".

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.

Context menu

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.

Troubleshooting

SymptomFix
Nothing gets filledReload 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 emptyTurn 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 failedCheck the CapSolver balance in the Captcha tab. Some enterprise reCAPTCHA deployments require an action name; try again once.
Wrong value in a fieldAdd a custom rule for that field's label so it maps to the correct profile key.
History not syncingConfirm you are signed in (green badge) and that the SQL setup ran in your Supabase project.

Permissions and why

PermissionReason
storageProfiles, settings, keys and history in Chrome sync / local storage.
activeTab, tabsFill the page you are looking at and reopen a page from history.
scriptingInject the content script into already-open tabs and run the captcha callback in the page.
contextMenusThe right-click "fill this page" entry.
webNavigationList the frames of the tab so forms inside iframes are filled too.
alarmsPeriodic history sync and daily keep-alive when account sync is configured.
Host access to all sitesForms exist on any site; the script only acts when you trigger a fill.
openrouter.ai, api.capsolver.com, randomuser.me, *.supabase.coOnly with your own keys, only when the matching feature is on.

Full details in the privacy policy.