Bulk Editor
Edit multiple Strapi entries at once in a spreadsheet-like interface.
Strapi Plugin: Bulk Editor
Edit multiple Strapi entries at once in a spreadsheet-like interface.
Get Started
Features
- Spreadsheet View - Edit multiple entries in a familiar table layout
- Multi-Cell Selection - Select and edit multiple cells at once
- Click to select a cell
- Cmd/Ctrl+Click to toggle additional cells (same column only)
- Shift+Click for range selection
- Shift+Cmd/Ctrl+Click to add a new range selection to the current selection
- Drag to Fill - Drag a value down to apply it to multiple rows
- Bulk Save - Save all changes in a single operation
- Almost All Field Types - Text, numbers, booleans, enums, dates, and relations… Support list below
- Relation Support - Full support for oneToOne, manyToOne, oneToMany, and manyToMany relations
Requirements
- Strapi v5.0.0 or higher
Installation
npm install strapi-plugin-bulk-editorAdd the plugin to your Strapi config:
// config/plugins.js or config/plugins.ts
module.exports = {
...
"bulk-editor": {
enabled: true,
},
};Start your Strapi admin panel :
npm run developUsage
- Navigate to any content type in the Content Manager
- Select at least one entry using the checkboxes
- Click the "Bulk Edit" button in the action bar
- Edit fields directly in the spreadsheet view
- Click Save to apply all changes
⚠️ Warning : This plugin is still in beta (v0.1). It may overwrite data inadvertently. Always check before saving. When in doubt, discard the edit.
Supported Field Types
| Type | Support |
|---|---|
| String / Text | ✅ Full |
| Integer / Float / Decimal | ✅ Full |
| Boolean | ✅ Full |
| Enumeration | ✅ Full (dropdown) |
| Date / DateTime / Time | ✅ Full |
| Email / Password | ✅ Full |
| Relation (all types) | ✅ Full |
| JSON | 👁️ Read-only |
| Rich Text / Blocks | 👁️ Read-only |
| Media | 👁️ Read-only |
| Components | ❌ Not supported |
| Dynamic Zones | ❌ Not supported |
Troubleshooting
ESM/CommonJS Module Errors
If you encounter errors like:
The requested module '/admin/node_modules/react-dom/index.js' does not provide an export named 'flushSync'or similar errors with lodash, you need to configure Vite's dependency optimization.
Fix: Update your Strapi admin Vite config:
// src/admin/vite.config.ts
import { mergeConfig, type UserConfig } from "vite";
export default (config: UserConfig) => {
return mergeConfig(config, {
optimizeDeps: {
include: ['react-dom', 'lodash'],
},
});
};If you don't have this file, create it. Then clear the Vite cache and restart:
rm -rf node_modules/.vite
npm run developPeer Dependency Conflicts
If you get peer dependency errors during installation, use the --legacy-peer-deps flag:
npm install strapi-plugin-bulk-editor --legacy-peer-deps"Bulk Edit" Button Not Appearing
Make sure the plugin is enabled in your config:
// config/plugins.js or config/plugins.ts
module.exports = {
"bulk-editor": {
enabled: true,
},
};Then rebuild and restart Strapi:
rm -rf .cache dist node_modules/.vite
npm run build
npm run developLicense
MIT
Install now
npm install strapi-plugin-bulk-editor
Create your own plugin
Check out the available plugin resources that will help you to develop your plugin or provider and get it listed on the marketplace.