Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Drupal 10.6.17 Update released for Drupal core (10.6.17)! Release: Drupal 11.3.17 Update released for Drupal core (11.3.17)! Release: Drupal 11.4.7 Update released for Drupal core (11.4.7)! Release: Linkit 7.0.17 Minor update available for module linkit (7.0.17). Release: Geocoder 8.x-4.36 Minor update available for module geocoder (8.x-4.36). Release: Entity Usage Plus 1.1.1 Minor update available for module entity_usage_plus (1.1.1). Release: Entity Reference Field Override 1.0.8 Minor update available for module erfo (1.0.8). Release: Field Sample Value 1.1.0 Minor update available for module field_sample_value (1.1.0). Usage Milestone: Schemata Module schemata crossed 1,000 active installs. Module Revived: Backlinks Index 1.1.5 Module backlinks_index updated after 7 months of inactivity (1.1.5).

Paragraphs Import

No security coverage

Part of the Paragraphs ecosystem · 63 projects

View on drupal.org

This module allows editors to bulk-create paragraph items by uploading a CSV file directly into the Paragraphs field widget. It's ideal for adding tabular content like reference lists or FAQs from a spreadsheet without manual entry. You can map CSV columns to specific paragraph fields and choose whether to append or replace existing content.

Paragraphs Import adds a CSV file upload to the Paragraphs field widget, so editors can bulk-create paragraph items from a spreadsheet instead of adding each one by hand.

It is most useful when you regularly have content in a spreadsheet that needs to be added as individual paragraphs items, such as reference lists, FAQ entries, or any repeating, tabular content into paragraph fields.

Features

  • Provides a dedicated Paragraphs (with CSV import) field widget that extends the core, stable Paragraphs widget. Your existing paragraph types, form display settings, and edit/closed modes keep working exactly as before.
  • Adds an "Import paragraphs from CSV" section to the entity edit form, with a file upload, a "first row is a header" checkbox, and an "Import" button.
  • Per-field column mapping: enter one paragraph field machine name per line in the widget settings. The line position is matched to the CSV column in that position.
  • If a field allows only one paragraph type, that type is used automatically. If it allows several, a select list lets you choose which one new CSV rows are imported as.
  • Optional "remove all existing paragraphs before importing" checkbox, for doing a clean re-import rather than appending to what's already there.
  • CSV parsing is handled by the league/csv library, so encoding BOMs and quoting/escaping edge cases in editor-supplied files are handled robustly.
  • Because the import UI lives on a dedicated widget, there's nothing to enable or disable per field beyond choosing the widget itself in "Manage form display".

Installation

Install the module through composer, as you would any other Drupal module.

Post-Installation

  1. Enable the module.
  2. Go to the "Manage form display" tab of the entity bundle that has your paragraphs field.
  3. Change that field's widget from Paragraphs (stable) to Paragraphs (with CSV import).
  4. Open the widget's settings (the gear icon) and fill in:
    • Paragraph type for CSV import — only shown if the field allows more than one paragraph type.
    • CSV column mapping — one field machine name per line; line 1 maps to CSV column 1, line 2 to column 2, and so on. Leave a line blank to skip that column.
  5. Save the form display. The "Import paragraphs from CSV" section now appears on the entity's edit form, above the existing paragraph items.
  6. Upload a CSV file, optionally tick "skip header row" and/or "remove existing paragraphs before importing," then click Import from CSV. The form rebuilds with the new paragraphs added — nothing is saved to the database until you save the entity form itself.

Additional Requirements

  • Paragraphs — this module extends its stable widget.
  • league/csv — installed automatically via Composer.

Similar projects

The Feeds module and Drupal core's Migrate API can both bulk-import paragraph content, but both require defining an import or migration configuration ahead of time.

Paragraphs Import is meant for the smaller, ad-hoc case: an editor already has a CSV and wants to drop it straight into a paragraphs field from the normal content edit form, without a site builder configuring a migration first.

Disclosure

Per the Drupal policy on AI use, AI was used when developing and documenting this module.

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
3
Tracked since
Jun 2026
Latest release
1 week ago
Releases (12 mo)
3 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
1.0.0-alpha3 Pre-release 10–11 Sep 8, 2026
1.0.0-alpha2 Pre-release 10 Jun 19, 2026
1.0.x-dev Dev 10–11 Jun 19, 2026