> ## Documentation Index
> Fetch the complete documentation index at: https://fillout.com/help/llms.txt
> Use this file to discover all available pages before exploring further.

# URL Parameters/Hidden fields

> Pass information to a Fillout form using hidden fields and personalize form filling experience.

## What are URL parameters?

**URL parameters** are information added to the end of a link. They start with a question mark `?` and use key-value pairs in the format `key=value`. Multiple parameters are separated by an ampersand `&`.

For example: [https://forms.fillout.com/t/9ofaEF4d54us?name=Jane+Doe](https://forms.fillout.com/t/9ofaEF4d54us?name=Jane+Doe)

Here, **name=Jane Doe** is the URL parameter.

## Video tutorial

<iframe src="https://www.youtube.com/embed/3mK2AGcjzfk" title="YouTube video player" frameborder="0" className="w-full aspect-video rounded-xl" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen />

### How URL parameters work

With URL parameters, you can pass information to a Fillout form, such as a respondent's name, email, or where they came from. This information is stored in hidden fields. You can use it to:

* Pre-fill fields with information you already know, like a respondent's email
* Display information in the form, such as a respondent's name
* Track where your form was shared via a **utm\_source** parameter (e.g., Facebook, Google, Instagram, etc.)
* [Write data to any integration](/help/url-parameters#map-it-to-your-integration-field) with mappings

## How to add a URL parameter or hidden field

<Steps>
  <Step title="Open form settings">
    Click the  `gear icon` <Icon icon="gear-complex" /> on the top right.

    <Frame>
      <img src="https://mintcdn.com/fillout-005a867b/phjWVRfESn-CZKk1/images/form-settings-1.png?fit=max&auto=format&n=phjWVRfESn-CZKk1&q=85&s=b033037b68bd696d533a94e799ca71ac" alt="Form Settings 1" title="Form Settings 1" style={{ width:"46%" }} width="737" height="137" data-path="images/form-settings-1.png" />
    </Frame>
  </Step>

  <Step title="Register a new parameter">
    Click `URL parameters` followed by `+ Add new`, then enter the parameter. In this example, we'll choose "name".

    <Frame>
      <img src="https://mintcdn.com/fillout-005a867b/phjWVRfESn-CZKk1/images/Screenshot-2026-08-17-at-3.44.33-PM.png?fit=max&auto=format&n=phjWVRfESn-CZKk1&q=85&s=21ae35d613c98f2bb748d91133c4e629" alt="Screenshot 2026 08 17 At 3 44 33 PM" width="1809" height="618" data-path="images/Screenshot-2026-08-17-at-3.44.33-PM.png" />
    </Frame>

    You can optionally provide a sample value for the parameter, if you'd like to see what your form looks like with that value being used (e.g. if you have some [hide/show logic](/help/conditional-hiding) based on it).
  </Step>

  <Step title="Reference the parameter in your form">
    There are many ways you can use URL parameters as [listed above](/help/url-parameters#how-url-parameters-work). In this example, we'll show a respondent's `name` at the beginning of the form.

    Type **@** and click the `link icon` <Icon icon="link" />, then choose your parameter.

    <Frame>
      <img src="https://mintcdn.com/fillout-005a867b/xaYqxqywk3TJj_ja/images/Screenshot-2026-08-18-at-4.40.18-PM.png?fit=max&auto=format&n=xaYqxqywk3TJj_ja&q=85&s=8f7a4bbeb8cdf9ba7cd01332f65314c5" alt="Screenshot 2026 08 18 At 4 40 18 PM" width="1654" height="748" data-path="images/Screenshot-2026-08-18-at-4.40.18-PM.png" />
    </Frame>

    To prefill a hidden field, set the parameter as the **Default value**, and `Hide always`.

    <Frame>
      <img src="https://mintcdn.com/fillout-005a867b/2fxvOTd7-ox6Acl9/images/Screenshot-2026-08-19-at-3.46.48-PM-1.png?fit=max&auto=format&n=2fxvOTd7-ox6Acl9&q=85&s=36071fc1264d6b20e528d9c30ebc8f63" alt="Screenshot 2026 08 19 At 3 46 48 PM" width="1540" height="428" data-path="images/Screenshot-2026-08-19-at-3.46.48-PM-1.png" />
    </Frame>
  </Step>

  <Step title="Share your form link">
    To activate a URL parameter, add its value to the form link. For example, if you have a name parameter, add the respondent's name at the end of the link: [https://forms.fillout.com/t/9ofaEF4d54us?name=jane](https://forms.fillout.com/t/9ofaEF4d54us?name=jane)

    <Frame>
      <img src="https://mintcdn.com/fillout-005a867b/xaYqxqywk3TJj_ja/images/Screenshot-2026-08-18-at-4.44.39-PM.png?fit=max&auto=format&n=xaYqxqywk3TJj_ja&q=85&s=11c88fb6767498817c3ba24164ba90a4" alt="Screenshot 2026 08 18 At 4 44 39 PM" width="1654" height="748" data-path="images/Screenshot-2026-08-18-at-4.44.39-PM.png" />
    </Frame>

    **Format URL parameter values**

    * `+` - use a plus icon to space out values (e.g. Jane+Doe)
    * `&` - use an ampersand to separate different types of parameters (e.g email=[jane@gmail.com](mailto:jane@gmail.com)\&name=Jane+Doe)
  </Step>
</Steps>

**Configure URL parameters with AI**

Need to set up URL parameters quickly? You can ask **Form Agent** to help you add and manage URL parameters or hidden fields. for your form. Learn more [here](https://www.fillout.com/help/form-agent).

## Send URL parameters to integrations

Fillout stores URL parameters by default on the Results page. Aside from the name and email, this can be language used, links shared on Facebook, Instagram, or LinkedIn to compare traffic, and many more.

<Frame>
  <img src="https://mintcdn.com/fillout-005a867b/CPv1bWPI_SfqCwvF/images/Screenshot-2026-08-20-at-3.52.08-PM-1.png?fit=max&auto=format&n=CPv1bWPI_SfqCwvF&q=85&s=3777371a359e2c2372e8bc48c855c6b6" alt="Screenshot 2026 08 20 At 3 52 08 PM 1" title="Screenshot 2026 08 20 At 3 52 08 PM 1" style={{ width:"64%" }} width="1089" height="493" data-path="images/Screenshot-2026-08-20-at-3.52.08-PM-1.png" />
</Frame>

You can also write these URL parameters to your database other types of integrations by [mapping](https://www.fillout.com/help/additional-integration-mappings#how-to-map-fields-manually) them. They are typically found when you click the `link icon` <Icon icon="link" /> in the picker.

<Frame>
  <img src="https://mintcdn.com/fillout-005a867b/7EaaJ9WDH9665_j8/images/Screenshot-2026-08-19-at-3.20.59-PM.png?fit=max&auto=format&n=7EaaJ9WDH9665_j8&q=85&s=eed4a60b0392ffd3535e006be241aadc" alt="Screenshot 2026 08 19 At 3 20 59 PM" width="1978" height="460" data-path="images/Screenshot-2026-08-19-at-3.20.59-PM.png" />
</Frame>

<Note>
  In some cases, the URL parameter may not show up in the picker. A workaround is to create a hidden field and map that instead. See step 4 below.
</Note>

## Track the form language used in responses

<Steps>
  <Step title="Register your URL parameter">
    If you haven't already, create one first following the [steps above](/help/url-parameters#how-to-add-a-url-parameter-or-hidden-field). In this example, we'll record the language used. Label the parameter as `lang`.

    <Info>
      Enabling language translations is available on the **Starter** **plan** **and above**. More info [here](https://www.fillout.com/pricing).
    </Info>
  </Step>

  <Step title="Enable translations">
    In your **form settings**, add the languages you'd like the form to be available in.

    <Frame>
      <img src="https://mintcdn.com/fillout-005a867b/xaYqxqywk3TJj_ja/images/Screenshot-2026-08-18-at-5.29.19-PM.png?fit=max&auto=format&n=xaYqxqywk3TJj_ja&q=85&s=2071f2d7cfad8e2593de11eea271f6cd" alt="Screenshot 2026 08 18 At 5 29 19 PM" width="1404" height="522" data-path="images/Screenshot-2026-08-18-at-5.29.19-PM.png" />
    </Frame>

    <Note>
      By default, respondents will see a language picker. This can be hidden using CSS if needed. More info [here](https://www.fillout.com/help/custom-css#css-classes-you-can-use).
    </Note>
  </Step>

  <Step title="Map it to your integration">
    If you haven't connected an integration yet, click `Integrate` on top to connect.

    Under **Mappings**, link your URL parameter, which can be found by clicking the `link icon` <Icon icon="link" />.

    <Frame>
      <img src="https://mintcdn.com/fillout-005a867b/7EaaJ9WDH9665_j8/images/Screenshot-2026-08-19-at-3.20.59-PM.png?fit=max&auto=format&n=7EaaJ9WDH9665_j8&q=85&s=eed4a60b0392ffd3535e006be241aadc" alt="Screenshot 2026 08 19 At 3 20 59 PM" width="1978" height="460" data-path="images/Screenshot-2026-08-19-at-3.20.59-PM.png" />
    </Frame>
  </Step>

  <Step title="Create a hidden field (if needed)">
    In cases where the URL parameter can't be directly mapped, follow [step 3 of this section](/help/url-parameters#how-to-add-a-url-parameter-or-hidden-field) to prefill a hidden field with the `lang`parameter, then map this field to your integration.

    <Frame>
      <img src="https://mintcdn.com/fillout-005a867b/WnsQf_c2YHYO3sBW/images/Screenshot-2026-08-19-at-4.48.25-PM.png?fit=max&auto=format&n=WnsQf_c2YHYO3sBW&q=85&s=45fbaf19f1adfa590e9e07ac122595b6" alt="Screenshot 2026 08 19 At 4 48 25 PM" width="1728" height="262" data-path="images/Screenshot-2026-08-19-at-4.48.25-PM.png" />
    </Frame>
  </Step>

  <Step title="Publish and share your form link">
    By default, respondents can choose their language from a language picker. Their selection is recorded as its language code (e.g., French → fr). (See the list of language codes below.)

    <Frame>
      <img src="https://mintcdn.com/fillout-005a867b/giw1YErLolyM5ohS/images/Screenshot-2026-08-19-at-4.05.08-PM.png?fit=max&auto=format&n=giw1YErLolyM5ohS&q=85&s=47cfbce0d9c48c59bcb335ddb329af3a" alt="Screenshot 2026 08 19 At 4 05 08 PM" width="1540" height="870" data-path="images/Screenshot-2026-08-19-at-4.05.08-PM.png" />
    </Frame>

    To preset a language, add its code to the URL. For example, [https://forms.fillout.com/t/9ofaEF4d54us?lang=fr](https://forms.fillout.com/t/9ofaEF4d54us?lang=fr). The form will automatically display in French.

    <Warning>
      If a respondent doesn't manually choose a language from the dropdown or if you don't preset a language in the URL, the language used will not be recorded.
    </Warning>
  </Step>
</Steps>

<Expandable title="Supported languages and codes">
  | Language       | Code   | Language   | Code  |
  | -------------- | ------ | ---------- | ----- |
  | Arabic         | ar     | Japanese   | ja    |
  | Catalan        | ca     | Korean     | ko    |
  | Chinese (Simp) | zh     | Nepali     | ne    |
  | Chinese (Trad) | zh-CHT | Norwegian  | no    |
  | Croatian       | hr     | Polish     | pt-pl |
  | Czech          | cs     | Portuguese | pt    |
  | Danish         | da     | Romanian   | ro    |
  | Dutch          | nl     | Russian    | ru    |
  | English        | en     | Serbian    | sr    |
  | Finnish        | fi     | Sinhala    | si    |
  | Filipino       | fil    | Slovak     | sk    |
  | French         | fr     | Spanish    | es    |
  | German         | de     | Swedish    | sv    |
  | Greek          | el     | Thai       | th    |
  | Hebrew         | he     | Turkish    | tr    |
  | Hindi          | hi     | Ukrainian  | uk    |
  | Hungarian      | hu     | Urdu       | ur    |
  | Icelandic      | is     | Vietnamese | vi    |
  | Indonesian     | id     |            |       |
  | Italian        | it     |            |       |
</Expandable>

## Send data between forms

You can pass data from a main form to a subform using URL parameters so respondents won't need to re-enter the same information. Check out [this guide](/help/url-parameters-between-forms#send-data-between-forms-using-url-parameters).

## Other advanced features

<CardGroup cols={3}>
  <Card title="Form parameters" color="#FFC738" icon="file-brackets-curly" iconType="regular" href="/help/url-parameters-between-forms">
    Share data between forms with URL parameters.
  </Card>

  <Card title="Pre-fill fields" color="#FFC738" icon="fill" iconType="solid" href="/help/prefill-fields">
    Pre-populate fields based on previous inputs and more.
  </Card>

  <Card title="Answer piping" color="#FFC738" icon="wand-magic-sparkles" iconType="regular" href="/help/answer-piping">
    Insert previous answers into upcoming questions or fields.
  </Card>
</CardGroup>
