Test Form
A fake form to fill out: sign-up, address, work, payment and preference fields, like the ones on real websites. Use it to try autofill, a password manager or a form filler extension, or to practise test automation. Nothing you enter leaves your browser.
Fill this whole form in one click
Install the free FormFiller extension, then right-click the form and choose Fill Current Form. Every field above gets realistic fake data.
What is this test form for?
Sometimes you need a form to fill out that isn't attached to anything: to see whether a browser extension, a password manager or your browser's own autofill puts the right data in the right fields, to practise writing automated tests, or just to try filling in a form without creating an account somewhere. This page is that form. It looks and behaves like a normal sign-up and checkout page, but it has no server, so nothing you type is sent or kept.
Fake data to fill it with
Don't use your own details. Take a made-up person from the fake identity generator, an address from the fake address generator and a card number from the test credit card generator, or let the FormFiller extension fill everything at once. Comparing extensions? Try FormFiller and Fake Filler on the same form.
Testing autofill and password managers
Each field carries the standard autocomplete attribute (given-name, email, new-password, postal-code, cc-number and so on), which is how browsers and password managers decide what goes where. If a tool fills a field with the wrong value here, it will probably do the same on real sites. The counter above the form shows how many fields were filled, so you can compare tools at a glance.
Practising Selenium, Playwright and Cypress
Every input has a stable id, name and data-testid. Some fields are required, the passwords must match, and the terms box must be ticked, so there are validation errors to assert on. After a successful submit, the entered values appear as JSON in an element with data-testid="result". A Playwright example:
await page.goto('https://formfillerapp.com/tools/test-form/');
await page.getByTestId('first_name').fill('Ada');
await page.getByTestId('last_name').fill('Lovelace');
await page.getByTestId('email').fill('ada@example.com');
await page.getByTestId('password').fill('Secr3t-pass');
await page.getByTestId('confirm_password').fill('Secr3t-pass');
await page.getByTestId('terms').check();
await page.getByTestId('submit').click();
await expect(page.getByTestId('result')).toContainText('"first_name": "Ada"'); Field reference
| Field | id / name | Type | autocomplete |
|---|---|---|---|
| First name * | first_name | text | given-name |
| Last name * | last_name | text | family-name |
| Email address * | |||
| Username | username | text | username |
| Password * | password | password | new-password |
| Confirm password * | confirm_password | password | new-password |
| Phone number | phone | tel | tel |
| Date of birth | birth_date | date | bday |
| Gender | gender | radio | — |
| Street address | address_line1 | text | address-line1 |
| Apartment, suite, etc. | address_line2 | text | address-line2 |
| City | city | text | address-level2 |
| State / Province | state | text | address-level1 |
| ZIP / Postal code | postal_code | text | postal-code |
| Country | country | select | country-name |
| Company | company | text | organization |
| Job title | job_title | text | organization-title |
| Website | website | url | url |
| Company size | employees | select | — |
| Name on card | cc_name | text | cc-name |
| Card number | cc_number | text | cc-number |
| Expiry (MM/YY) | cc_exp | text | cc-exp |
| CVC | cc_csc | text | cc-csc |
| Age | age | number | — |
| How did you hear about us? | referral | select | — |
| Interests | interests | checkbox | — |
| Message | message | textarea | — |
| Subscribe to the newsletter | newsletter | checkbox | — |
| I agree to the terms and conditions * | terms | checkbox | — |
Frequently asked questions
Is anything I type into this form sent anywhere?
No. The form has no server behind it. Pressing Submit checks the fields in your browser and shows what was entered as JSON on this page; nothing is uploaded or stored, and reloading the page clears it.
Can I use it to practise Selenium, Playwright or Cypress?
Yes. Every field has a stable id, name and data-testid that match the field reference table on this page, and the page will not change them without reason. Required fields, a password confirmation and the terms checkbox give you validation errors to test against.
Why does my browser offer to autofill or save a card here?
The fields use the standard autocomplete attributes that browsers and password managers look for, which is what makes the page useful for testing autofill. Use made-up data or test card numbers only, never your real card.
Where do I get fake data to type in?
Any of the free generators on this site: the fake identity generator gives a whole person, the fake address generator an address for 22 countries, and the test credit card generator Luhn-valid card numbers. The FormFiller extension fills the entire form in one click.