Skip to content
Guide

How to bulk edit entries in Statamic

Short answerStatamic's bulk actions change status, not fields. To change a field on many entries you can edit the content files, run a script, or edit the whole collection as a spreadsheet in the Control Panel.

Updated 2026-10-20

What Statamic does out of the box

In an entry listing you can select many entries and run a bulk action, such as publishing, unpublishing or deleting them. Changing a field, like a meta description on 200 pages or a price on 80 products, means opening each entry and saving it.

Option 1: edit the content files

On a flat-file site, each entry is a Markdown file with YAML front matter in content/collections/<collection>/. A project-wide search and replace in a code editor can change plain text across many entries at once.

  • Fast for simple text changes.
  • Skips your blueprint's validation, so a typo in YAML or a wrong value type breaks the entry.
  • Not possible with the Eloquent driver, where entries are database rows.

Run php please stache:refresh afterwards so Statamic picks the changes up.

Option 2: a script

Statamic's PHP API can change entries in bulk, for example in php artisan tinker:

use Statamic\Facades\Entry;

Entry::query()
    ->where('collection', 'products')
    ->get()
    ->each(fn ($entry) => $entry->set('in_stock', true)->save());

This works on flat files and the Eloquent driver, but it is a job for a developer, and like editing files it does not run the blueprint's validation rules.

Option 3: edit the collection as a spreadsheet

Karelia Spreadsheet opens a collection, or a selection of entries, as a spreadsheet inside the Control Panel. Editors can do it themselves, and every entry is saved the way the publish form saves it.

  1. Install it in your site's folder: composer require karelialabs/statamic-spreadsheet.
  2. Open Content → Spreadsheet and pick a collection, or select entries in any listing and choose Edit in Spreadsheet.
  3. Type in the cells, paste a block from Excel or Google Sheets, drag the fill handle, or use Find and replace.
  4. Check the highlighted changes. Values that cannot be right are marked red and never sent.
  5. Press Save. Each entry goes through its blueprint's validation, and errors come back on the exact cell.
A Statamic blog collection as a spreadsheet with five unsaved changes highlighted and an invalid price marked red
Unsaved changes are highlighted before you save

Round-trip through CSV

  1. In the sheet, choose Export CSV.
  2. Edit the file in Excel, Google Sheets or anything else.
  3. Choose Import CSV. Rows are matched by ID or slug, and the imported values show up as unsaved changes.
  4. Check them, then press Save.
Find and replace in the spreadsheet with column, match case and whole cell options and a count of matches
Find and replace shows the count before it changes anything

Nested fields such as Bard, Replicator and Grid are shown read-only in the sheet; edit those on the entry page.

FAQ

Can I bulk edit fields in Statamic without an addon?

Yes, by editing the content files on a flat-file site or with a script using Statamic's PHP API. Both skip the blueprint's validation, so check the result.

Can I import a CSV into existing Statamic entries?

With Karelia Spreadsheet, yes: rows are matched by ID or slug and shown as unsaved changes before you save.

Will bulk changes create revisions?

Saving from the spreadsheet goes through Statamic's revisions where they are on, as a working copy. Scripts and file edits do not.

More guides