Custom Field Types
Craft has over 20 built-in field types that help create tightly-tailored authoring and developer experiences. The table below lists fields in the same order you’ll encounter them in the control panel; you can also browse them by the type of data they store.
# All Fields
Field Type | Description |
---|---|
Addresses | Manage nested address elements. |
Assets | Relate asset elements. |
Categories | Relate category elements. |
Checkboxes | Choose one or more predefined options using checkbox inputs. |
Color | Pick a color with your platform’s native color picker—or provide a hexadecimal value. |
Country | Choose from a list of countries in a select menu. |
Date/Time | Set a date, time, and timezone (optional). |
Dropdown | Choose a single item from a predefined list using a select menu. |
Validate input as an email address. | |
Entries | Relate entry elements. |
Icon | Pick from a palette of icons from FontAwesome (opens new window). |
Lightswitch | Choose an on or off value using a switch. |
Link | Define a link to an internal or external resource. |
Matrix | Create nested entries from a list of allowed entry types. |
Money | Store a value in a specific currency. |
Multi-Select | Choose one or more options via a tag-like Selectize (opens new window) input. |
Number | Store a numeric value. |
Plain Text | Basic input for any kind of textual value. |
Radio Buttons | Choose one option from a predefined list. Equivalent to the Dropdown field. |
Range | Pick a number with a visual slider. |
Table | Store repeating rows of simple values. |
Tags | Relate tag elements. |
Time | Choose a time without a date. |
Users | Relate user elements. |
# Data Types
Not sure which field type to use? This list is organized by the types of values that each field stores. Each field may appear in multiple groups!
# Text
Arbitrary and predefined strings.
- Plain Text — Single- or multi-line text of any length.
- Dropdown — A fixed set of options to choose from.
- Radio Buttons — Same as a dropdown, but allows “custom” values.
- Country — A specific set of values used to populate addresses.
- Email — Validate an email address. (See: Link)
Our first-party CKEditor (opens new window) plugin provides a powerful rich text composer that also supports nested entries.
# Booleans
On or off; yes or no; 1 or 0; true or false!
- Lightswitch — A single on/off switch.
- Checkboxes — Capture multiple binary settings at once.
# Numbers
- Money — A safer way to store currency values.
- Number — Single numeric value with controls for min/max values and precision.
- Range — A number field with an additional slider UI for tactile selection.
# Date + Time
These fields yield DateTime
objects that can be conveniently compared, queried, and formatted in templates.
# Lists
Sometimes, you need more than a single value!
- Checkboxes — Select any number of predefined options, or let authors set one manually.
- Matrix — Manage nested entries as an embedded element index or inline blocks.
- Multi-Select — A rudimentary multi-select input, without manual options.
- Table — Repeatable rows of simple data.
Most of the fields in the references section allow you to attach multiple relationships, as well.
# References
Create relationships to content, on- or off-site.
- Link — Flexible input for multiple kinds of locators, like URLs, element relationships, phone numbers, and email addresses.
- Assets — Connect uploaded media to any element.
- Categories — Organize elements into hierarchical taxonomies.
- Entries — Relate content to or from anywhere!
- Tags — Organize elements into a flat “folksonomy.”
- Users — Associate users with any type of content.
# Taxonomies
Help users and authors understand content by establishing explicit connections.
- Categories — Connect content to hierarchical structures.
- Tags — Expressive, ad-hoc organization.
- Entries — Anything can be a taxonomy!
You can even attach fields to the elements you relate via these fields—metadata for your metadata!
# Media
- Assets — Upload and attach files anywhere.
# Structured
Manage nested data.
Have a complex content model? You can nest entries as deeply as you want!
# Fun + Cosmetic
Spruce up the authoring experience with these dedicated UIs.