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 plugin. This guide will walk you through the process of creating and configuring custom user fields.
Adding a user field
-
Go to Admin > Community > User Fields (
discourse.example.com/admin/config/user-fields). -
If you haven’t created any user fields yet, you’ll see this screen:
-
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
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
Dropdown
- Use for questions with a set number of possible answers (e.g., “What is your gender?”)
- Displays as an HTML select input
To add options for a dropdown field:
- Click on the option input
- Type an answer and click “Create”
- Repeat for additional options
The completed options should look similar to this:
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:
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:
Show on user card
When enabled, the field value will be displayed on the user card:
Searchable
When enabled, you can search for users based on their custom field values:
Saving and editing fields
- Click “Save” to add the field to your site’s list of user fields
- To edit a field, click the “Edit” button next to it in the list
- To delete a field, click the ellipsis menu (⋮) next to it and select “Delete”
Adding custom fields to the user directory
- Go to the user directory
- Click the wrench icon:
- Check the custom user fields you want to display
- Click “Save”
The selected custom fields will now appear in the user directory table:
Last edited by @fzngagan 2025-07-17T09:12:38Z
Last checked by @hugh 2024-08-27T04:45:20Z
Check document
Perform check on document:














