Drupal is a registered trademark of Dries Buytaert
drupal 10.6.11 Update released for Drupal core (10.6.11)! drupal 11.3.12 Update released for Drupal core (11.3.12)! drupal 11.2.14 Update released for Drupal core (11.2.14)! drupal 10.5.12 Update released for Drupal core (10.5.12)! cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)!

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.

Activity

Total releases
2
First release
Jun 2026
Latest release
13 hours ago
Release cadence
0 days
Stability
0% stable

Releases

Version Type Release date
1.0.0-alpha2 Pre-release Jun 19, 2026
1.0.x-dev Dev Jun 19, 2026