---
title: "Form.countrySelect ViewHelper <f:form.countrySelect>"
manual: "Fluid ViewHelper Reference"
version: "13.4"
permalink: "https://docs.typo3.org/permalink/t3viewhelper:typo3-fluid-form-countryselect@13.4"
source: "Global/Form/CountrySelect.rst"
rendered: "2026-10-01T16:43:40+00:00"
---

# Form.countrySelect ViewHelper `<f:form.countrySelect>` {#typo3-fluid-form-countryselect}

ViewHelper which renders a `<select>` tag with all or specific countries as options.

Go to the source code of this ViewHelper: [Form\\CountrySelectViewHelper.php (GitHub)](https://github.com/TYPO3/typo3/blob/main/typo3/sysext/fluid/Classes/ViewHelpers/Form/CountrySelectViewHelper.php).

## Examples {#typo3-fluid-form-countryselect-example}

### Basic usage {#basic-usage}

```
<f:form.countrySelect name="country" value="{defaultCountry}" />

```

Output:

```
<select name="country">
  <option value="BE">Belgium</option>
  <option value="FR">France</option>
  ....
</select>

```

### Prioritize countries {#prioritize-countries}

Define a list of countries which should be listed as first options in the
form element:

```
  <f:form.countrySelect
    name="country"
    value="AT"
    prioritizedCountries="{0: 'DE', 1: 'AT', 2: 'CH'}"
  />

Additionally, Austria is pre-selected.

```

### Display another language {#display-another-language}

A combination of optionLabelField and alternativeLanguage is possible. For
instance, if you want to show the localized official names but not in your
default language but in French. You can achieve this by using the following
combination:

```
<f:form.countrySelect
  name="country"
  optionLabelField="localizedOfficialName"
  alternativeLanguage="fr"
  sortByOptionLabel="true"
/>

```

### Bind an object {#bind-an-object}

You can also use the "property" attribute if you have bound an object to the form.
See [\<f:form>](https://docs.typo3.org/permalink/t3viewhelper:typo3-fluid-form@13.4) for more documentation.

## Arguments of f:form.countrySelect {#typo3-fluid-form-countryselect-arguments}

> **Allows arbitrary arguments**
>
> This ViewHelper allows you to pass arbitrary arguments not defined below
> directly to the HTML tag created. This includes custom `data-` arguments.

-   **additionalAttributes**

    -   *Type:* array

    Additional tag attributes. They will be added directly to the resulting HTML tag.

-   **alternativeLanguage**

    -   *Type:* string

    If specified, the country list will be shown in the given language.

-   **aria**

    -   *Type:* array

    Additional aria-\* attributes. They will each be added with a "aria-" prefix.

-   **data**

    -   *Type:* array

    Additional data-\* attributes. They will each be added with a "data-" prefix.

-   **errorClass**

    -   *Type:* string
    -   *Default:* 'f3-form-error'

    CSS class to set if there are errors for this ViewHelper

-   **excludeCountries**

    -   *Type:* array
    -   *Default:* array (
    )

    Array with country codes that should not be shown.

-   **multiple**

    -   *Type:* boolean
    -   *Default:* false

    If set multiple options may be selected.

-   **name**

    -   *Type:* string

    Name of input tag

-   **onlyCountries**

    -   *Type:* array
    -   *Default:* array (
    )

    If set, only the country codes in the list are rendered.

-   **optionLabelField**

    -   *Type:* string
    -   *Default:* 'localizedName'

    If specified, will call the appropriate getter on each object to determine the label. Use "name", "localizedName", "officialName" or "localizedOfficialName"

-   **prependOptionLabel**

    -   *Type:* string

    If specified, will provide an option at first position with the specified label.

-   **prependOptionValue**

    -   *Type:* string

    If specified, will provide an option at first position with the specified value.

-   **prioritizedCountries**

    -   *Type:* array
    -   *Default:* array (
    )

    A list of country codes which should be listed on top of the list.

-   **property**

    -   *Type:* string

    Name of Object Property. If used in conjunction with \<f:form object="...">, the "name" property will be ignored, while "value" can be used to specify a default field value instead of the object property value.

-   **required**

    -   *Type:* boolean
    -   *Default:* false

    If set no empty value is allowed.

-   **sortByOptionLabel**

    -   *Type:* boolean
    -   *Default:* false

    If true, List will be sorted by label.

-   **value**

    -   *Type:* mixed

    Value of input tag
