Skip to main content
drupalreleases
Release: Better Exposed Filters 7.2.0 — Minor update available for module better_exposed_filters (7.2.0). Release: Bootstrap 8.x-3.43 — Minor update available for theme bootstrap (8.x-3.43). Release: Svg Image 3.2.5 — Minor update available for module svg_image (3.2.5). Release: Tagify 2.0.5 — Minor update available for module tagify (2.0.5). Release: Editoria11y Accessibility Checker 3.0.11 — Minor update available for module editoria11y (3.0.11). Release: Entity Browser - Table Layout 2.0.5 — Minor update available for module entity_browser_table (2.0.5). Release: Commerce License 3.1.0 — Minor update available for module commerce_license (3.1.0). Release: Add Content by Bundle Views Area Plugin 2.0.2 — Minor update available for module add_content_by_bundle (2.0.2). Module Revived: @font-your-face 4.3.0 — Module fontyourface updated after 7 months of inactivity (4.3.0). Security Coverage: Open Y Branch Selector — Module openy_branch_selector now has official Drupal security advisory coverage.

Config Transfer exports a selection of configurations to a zip file, and imports it on another site, even when the configurations are ignored by Config Ignore.

A typical use: the webforms are ignored by Config Ignore, so that the client can edit them in production without the deployments overwriting them. A new or reworked webform is prepared on the staging site, exported to a zip file, and imported in production, with a review of the changes. The existing webforms keep their submissions.

Features

  • Export a selection: filter the configurations by type, module or text, with labels understandable by site builders, select them in a table, and download a zip file.
  • Dependencies and translations: optionally add the configurations the selection depends on, such as the fields used by a view, and their translations. The configurations to export are reviewed before the download.
  • Import with a review: upload YAML files or a zip file, check the status of each configuration (new, changed, identical or refused) and the diff of the changes, then import the selection.
  • Even when ignored: the configurations are imported even when Config Ignore ignores them, while the full configuration import keeps ignoring them.
  • Safe for existing entities: an existing configuration entity keeps its UUID, so that it is updated instead of deleted and created again: a webform keeps its submissions. Nothing is deleted.
  • Validation: a configuration entity is refused when its ID does not match its name, or when its UUID already belongs to another entity.
  • Translations: the translations are imported in their collection, without replacing the configuration they translate.
  • Drush: drush config:transfer-import (cti) imports the configurations matching patterns from the sync directory, a directory, a zip or a YAML file, with a dry run option.
  • Dedicated permissions: "Export selected configuration" and "Import selected configuration", both restricted. The imports and exports are logged with their author.

Requirements

  • Drupal 11.4 or later, or Drupal 12, with the Configuration Manager module.
  • The zip PHP extension.
  • Drush 13 or later, for the Drush command.

Installation

composer require 'drupal/config_transfer:^1.0@alpha'
drush pm:install config_transfer

Grant the permissions to trusted roles, then use the Export selected and Import selected tabs of Administration > Configuration > Development > Configuration synchronization.

The zip file

The zip file has the structure of a sync directory: NAME.yml for the configurations, language/CODE/NAME.yml for their translations. A zip file made from a sync directory can be imported too.

Limitations

  • Only configurations are exported: the modules and themes they depend on must be installed on the target site.
  • The import runs in a single request: import large selections in several times.
  • A zip file can contain up to 500 files, 10 MB per file and 50 MB in total.

Similar projects

  • The single import of Drupal core imports one configuration at a time, from a pasted YAML, without Config Ignore. It refuses an existing configuration entity with another UUID, which is the case of a webform recreated on a staging site.
  • Config Single Export downloads the configuration of the single export of core, one at a time.
  • Config Partial Export exports the configurations that differ from the sync directory, for developers.
  • Config Exporter exports and imports some types of configuration entities (content types, blocks, views, vocabularies, menus) in a JSON file.
  • Config manual export and import exports and imports configurations searched by name, for Drupal 8 and 9.
  • Config Ignore Webform and Webform Config Ignore choose which webforms the full import ignores. They complement Config Transfer, which deploys the ignored webforms one by one.

Documentation

See the README file of the module for the usage, the Drush examples and how the import works.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Oct 2026
Latest release
2 hours ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Core Release date
1.0.0-alpha1 Pre-release 11 Oct 9, 2026