Configuration Entity

Last updated on
30 December 2025

In modern Drupal (8 and above), configuration entities are used to store and share system settings. Configuration entities include user roles, site settings, image styles, and various third-party module settings. They're exportable and can be version-controlled.

Configuration entities are structured, typed objects that store system-level settings controlling site behavior. They can be exported and imported via Drupal's configuration management system. In practice, configuration entities are typically managed by developers and administrators.

Configuration entities represent items such as content types, views, user roles, image styles, block types, menus, and date formats. Unlike content entities, they are stored as configuration objects and designed to be exported and imported across environments, making them essential for keeping development, staging, and production synchronized. 

Configuration entities support translation but do not use the Field API for user-configurable fields. Their structure is defined in code, which keeps them predictable and stable for configuration management workflows.
 

Configuration entities use the Entity API in order to keep configuration in the database.

Differences compared to Content Entity

  1. Integrates with CMI API for exportability.
  2. Doesn't have fields but uses properties instead.
  3. Schema file (Content Entity uses hook_schema())

Tutorials

Help improve this page

Page status: No known problems

You can: