August 18, 2026 · 6 min read
Country → state dependent dropdowns in HubSpot forms: every option in 2026
HubSpot forms can’t natively repopulate a state list based on the chosen country. What dependent fields can and can’t do, the custom-code route, and a one-script alternative.
The ask sounds tiny: visitor picks United States → the next dropdown shows US states; picks Germany → it shows Bundesländer. Every custom form builder does this. HubSpot forms, natively, do not — a dropdown’s options are a fixed list, and no form setting filters one field’s options by another field’s value.
What dependent fields actually do
HubSpot does have “dependent fields” (Marketing Hub Professional and up): show or hide a follow-up field based on a previous answer. So the native workaround is real but brutal — create a separate state/region dropdown per country, and conditionally reveal the right one:
- Works without code and keeps everything inside HubSpot,
- …but for N countries you maintain N near-duplicate properties or field variants, each with its own option list to keep current,
- …your contact data lands in different properties per country unless you map them back together with a workflow,
- …and the form editor becomes a wall of hidden fields nobody dares touch.
Teams that try this usually keep it for two or three countries, then give up.
The custom-code route
On CMS-hosted pages you can hook the form’s ready event and rewrite the options of the state field whenever the country changes — swap in the right list, clear the old value, fire input/change events so HubSpot registers the new value. It works, with real caveats: the newer embed renders the form inside an iframe (your script must reach into it), the code breaks quietly when someone renames a field, and every new form needs the snippet wired again. Budget developer time not just to build it but to own it.
Don’t forget the data side
Whatever populates the dropdown, keep option values stable (e.g. ISO codes or consistent state names) — lists, lead routing and territory reports filter on exact values. A cascading UI that writes free-text ruins the very reports it was meant to feed.
Or automate it
FormRecall Enhance does the cascade with one script tag: pick a country and the state/region field repopulates instantly — US, Canada, Australia, Germany, UK, India, Brazil and Mexico built in. Selections are written into the original HubSpot inputs, so submissions, properties and workflows behave exactly as before. Works with iframe embeds too, and each form can toggle it off individually.
Get beta access — first month freethen 50% off any plan for 3 months · lifetime priority support