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.

Fields + Content
Get started with fields in Craft.

# 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.
Email 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!

# 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.

  • Date — Capture a date and time.
  • Time — Store only the time of day.

# 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.

  • Color — Select from a palette of colors, or choose a new one.
  • Icon — Pick from a library of icons.
  • Money — Input values in a specific currency.
  • Range — Contextualize numeric values.