# Creating and configuring custom user fields

**URL:** https://meta.discourse.org/t/creating-and-configuring-custom-user-fields/113192
**Category:** Site Management
**Tags:** how-to, user-custom-fields, users
**Created:** [April 2, 2019, 1:42am UTC](https://meta.discourse.org/t/creating-and-configuring-custom-user-fields/113192 "2019-04-02T01:42:35Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![Discourse](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/discourse/32/148734_2.png) [@Discourse](https://meta.discourse.org/u/Discourse)
#### Post date: [April 2, 2019, 1:42am UTC](https://meta.discourse.org/t/creating-and-configuring-custom-user-fields/113192/1 "2019-04-02T01:42:35Z")

</div>

> 🔖 This guide explains how to create and configure custom user fields in Discourse, including how to add them to the signup form, user profiles, and user directory.
> 
> 🙋 Required user level: Administrator

Custom user fields allow you to collect additional information from your users beyond the standard profile fields. These fields can be displayed on user cards, user summary pages, and even retrieved using the [Data Explorer](https://meta.discourse.org/t/32566?silent=true) plugin. This guide will walk you through the process of creating and configuring custom user fields.

## Adding a user field

1. Go to Admin \> Community \> User Fields (`discourse.example.com/admin/config/user-fields`).

2. If you haven’t created any user fields yet, you’ll see this screen:  

3. Click the “Add user field” button to add a new field.  

## Choosing a field type

The field type determines the input field users will see on the signup form. Choose based on the kind of information you’re collecting:

### Text field

- Use for short questions with many possible answers (e.g., “What company do you work for?”)
- Displays as a single-line HTML text input  
 ![User text field](https://global.discourse-cdn.com/meta/original/4X/d/7/3/d7391ac0942dd194eb598ac4ce83fb98f0087caf.png)

### Textarea

- Use for questions that may require longer, multi-line answers (e.g., “Tell us about yourself”)
- Displays as a multi-line HTML textarea input

### Date

- Use for collecting date values (e.g., “What is your date of birth?”)
- Displays as a date picker input

### Confirmation

- Use for yes/no questions (e.g., “Would you like to sign up for our newsletter?”)
- Displays as an HTML checkbox  
 ![User confirmation field](https://global.discourse-cdn.com/meta/original/4X/d/d/6/dd6a80afea4aff5a3482dee900ed0afd1f3a9091.png)

### Dropdown

- Use for questions with a set number of possible answers (e.g., “What is your gender?”)
- Displays as an HTML select input  
 ![Dropdown user field](https://global.discourse-cdn.com/meta/original/4X/3/b/f/3bfbf91e48ab3f269b0d8f9a89ef5a367d9aa1e9.png)

To add options for a dropdown field:

1. Click on the option input
2. Type an answer and click “Create”
3. Repeat for additional options  
 ![Dropdown user field option creation](https://global.discourse-cdn.com/meta/original/4X/0/f/5/0f5ef97853e9ca64bdd1390fdef933d6d32d6bd5.png)

The completed options should look similar to this:

 ![Dropdown user field options](https://global.discourse-cdn.com/meta/original/4X/0/4/1/04171e7e213f6a8f4b0232ad0860f09d97e97d48.png)

### Multiselect

- Use for questions where users can choose multiple answers from a set of options (e.g., “Which topics interest you?”)
- Displays as a multi-select input
- Options are configured the same way as dropdown fields

## Setting the field name and description

- **Field Name** : Appears before the input on the signup form and user profile
- **Field Description** : Appears after the input to help users complete the field

> ℹ Both the field name and description are required to save a field.

Here’s how custom fields appear on the signup form:

 ![Sign in custom fields](https://global.discourse-cdn.com/meta/original/4X/1/8/6/1865403fd295dc30fb1134780246132461b47298.png)

## Configuring user field options

### Field Requirements

- **Optional** - Optional fields may be left empty by users
- **For all users** - When a field is required by all users, every account, including logged on users will be forced to fill it. This is very useful for cases such as a terms-of-service (ToS) requirement.
- **On signup** - All new account will be required to fill the field.

Additionally, at the bottom of the creation form, you’ll find these preference checkboxes:

- **Editable after signup** : Allows users to update the field from their profile page
- **Show on public profile** : Displays the field value on the user’s summary page
- **Show on user card** : Shows the field value on the user card
- **Searchable** : Enables searching for users based on this field’s value in the user directory
- **Show on signup form** : Controls whether the field appears on the signup form. This is automatically enabled (and cannot be disabled) when the field requirement is “For all users” or “On signup”, or when the field is not editable after signup.

### Show on public profile

When enabled, the field value will be shown on the user’s profile page:

 ![User profile custom field](https://global.discourse-cdn.com/meta/original/4X/4/e/4/4e4927878e3ac8c71dcf319754ebedec05d92ad9.png)

### Show on user card

When enabled, the field value will be displayed on the user card:

 ![User card custom field](https://global.discourse-cdn.com/meta/original/4X/f/0/e/f0e9cd0c7c34565d0d42c5e63fef84f10c64962c.png)

### Searchable

When enabled, you can search for users based on their custom field values:

 ![Searchable user custom field](https://global.discourse-cdn.com/meta/original/4X/9/5/7/9572deb237ae034bc1ecc781196a57cfea077b05.png)

## Saving and editing fields

1. Click “Save” to add the field to your site’s list of user fields
2. To edit a field, click the “Edit” button next to it in the list
3. To delete a field, click the ellipsis menu (⋮) next to it and select “Delete”

 ![Custom user field list](https://global.discourse-cdn.com/meta/original/4X/3/6/2/362d0d5e257fdb726998317d35138ba03899f8e2.png)

## Adding custom fields to the user directory

1. Go to the user directory
2. Click the wrench icon:

 ![Wrench icon in the user directory](https://global.discourse-cdn.com/meta/original/4X/6/7/e/67e3040072fefbffd51945141270197d4f8897c2.png)

1. Check the custom user fields you want to display
2. Click “Save”

 ![Add custom user field to the user directory](https://global.discourse-cdn.com/meta/original/4X/c/5/0/c50e11d072ca9c5c0ddd62712d1139ffcc65589f.png)

The selected custom fields will now appear in the user directory table:

 ![Custom fields in user directory](https://global.discourse-cdn.com/meta/original/4X/8/f/8/8f81b373d002ce3ab57cf8bfb161912325db4c72.png)

> Last edited by @fzngagan 2025-07-17T09:12:38Z
> 
> Last checked by @hugh 2024-08-27T04:45:20Z
> 
> > **Check document**
> >
> > Perform check on document:

---

_[View the full topic](https://meta.discourse.org/t/creating-and-configuring-custom-user-fields/113192)._
