Dot All Lisbon – the official Craft CMS conference – is happening September 23 - 25.

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. | | Button Group | Choose a single item from a graphical, icon-based toolbar. | | 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. | | Content Block | Group other fields in a nested entry. | | 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. | | 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 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 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 to anything.

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.
  • Button Group — Choose from options identified by an icon—great for layout, positioning, and scale controls
  • Icon — Pick from a library of icons.
  • Money — Input values in a specific currency.
  • Range — Contextualize numeric values.

The Content Block field can be also be used to semantically and structurally group (and reuse!) a set of fields. <Since ver="5.8.0" feature="The Content Block field" />