Strapi plugin logo for CSV Export

CSV Export

A powerful Strapi v5 plugin that enables easy export of content types to CSV format. Features include customizable field selection, filtering options, and batch operations, making it easy to export your Strapi content with precision and flexibility.

thumbnail for CSV Export

🚀 Strapi CSV Export Plugin

A powerful Strapi v5 plugin that enables easy export of content types to CSV format. This plugin provides a user-friendly interface to export your Strapi content with customizable field selection, filtering options, and batch operations.

Strapi CSV Export Banner

npm version npm downloads MIT License

✨ Features

  • Export any content type to CSV format
  • Select specific fields to export
  • Filter data before export
  • Support for all field types including relations and media
  • Batch export capabilities
  • Clean and intuitive user interface
  • Respects Strapi's permissions system
  • Internationalization support

🔧 Requirements

  • Strapi v5.x.x
  • Node.js >=14.19.1 <=22.x.x
  • NPM >= 6.0.0

📦 Installation

# Using npm
npm install strapi-plugin-csv-export

# Using yarn
yarn add strapi-plugin-csv-export

# Using pnpm
pnpm add strapi-plugin-csv-export

⚙️ Configuration

  1. Create or edit the plugin configuration file in your Strapi project:
1// config/plugins.js
2module.exports = {
3  'csv-export': {
4    enabled: true,
5    config: {
6      // Optional configuration
7      maxExportCount: 1000, // Maximum number of entries to export (default: 1000)
8      defaultFields: ['id', 'createdAt', 'updatedAt'], // Default fields to include
9      delimiter: ',', // CSV delimiter (default: ',')
10      encoding: 'utf8', // File encoding (default: 'utf8')
11      exportPath: './exports', // Path for temporary export files (default: './exports')
12      dateFormat: 'YYYY-MM-DD HH:mm:ss', // Date format in exports (default: 'YYYY-MM-DD HH:mm:ss')
13    },
14  },
15};
  1. Add the plugin to your dependencies and rebuild your Strapi admin panel:
# Using npm
npm run build
npm run develop

# Using yarn
yarn build
yarn develop

# Using pnpm
pnpm run build
pnpm run develop
  1. The plugin should now be available in your Strapi admin panel under the Plugins section.

📖 Usage

Quick Start

  1. Navigate to any content type in your Strapi admin panel
  2. Look for the "CSV Export" button in the top toolbar
  3. Click it to open the export interface

Export Button

Export Options

1. Field Selection

  • Choose which fields to include in your export
  • Support for all field types:
    • Basic fields (text, number, date, etc.)
    • Relation fields (one-to-one, one-to-many, many-to-many)
    • Media fields (with configurable URL or file path export)
    • Component fields (nested data)
    • Dynamic zones
    • Custom fields

Field Selection

2. Filtering Options

Filter your data before export:

  • Date range filters
  • Status filters (published/draft)
  • Custom field filters
  • Relation filters
  • Search functionality

3. Batch Operations

Export specific entries:

  1. Select entries using checkboxes
  2. Click "Export Selected" to export only chosen entries
  3. Use "Select All" for bulk operations

Export Format

The exported CSV file includes:

  • UTF-8 encoding with BOM for Excel compatibility
  • Configurable delimiter (default: comma)
  • Proper escaping of special characters
  • Nested data handling
  • Relation data resolution

Example output:

1id,title,author,publishedAt,categories
21,"My First Post","John Doe","2024-03-30","Tech,News"
32,"Getting Started","Jane Smith","2024-03-29","Tutorial"

🤝 Contributing

We love your input! We want to make contributing to Strapi CSV Export as easy and transparent as possible. Please check our Contributing Guide for detailed instructions on:

  • Reporting bugs
  • Discussing the current state of the code
  • Submitting fixes
  • Proposing new features
  • Becoming a maintainer

Development Workflow

  1. Fork the repo and create your branch from main
  2. Install dependencies: npm install
  3. Make your changes
  4. Add tests if applicable
  5. Run tests: npm test
  6. Update documentation
  7. Create a Pull Request

🐛 Troubleshooting

Common Issues

  1. Export button not visible

    • Ensure the plugin is properly installed and enabled
    • Check user permissions in Strapi admin
  2. Export fails with large datasets

    • Adjust maxExportCount in configuration
    • Use filters to reduce dataset size
  3. Relation fields not exporting

    • Verify relation field configuration
    • Check permissions for related content types

Debug Mode

Enable debug mode in your Strapi configuration:

1// config/plugins.js
2module.exports = {
3  'csv-export': {
4    enabled: true,
5    config: {
6      debug: true, // Enable detailed logging
7    },
8  },
9};

📝 License

MIT License © Shubha Kumar

📚 Documentation

💬 Support

⭐ Show your support

If this plugin helps you, please consider:

  • Giving it a star on GitHub
  • Sharing it with your team and friends
  • Contributing to make it better

📣 Acknowledgements

  • Thanks to all our contributors
  • Inspired by the Strapi community's needs for better data export solutions

Install now

npm install strapi5-plugin-csv-export

STATS

No GitHub star yet2 weekly downloads

Last updated

68 days ago

Strapi Version

5.12.1 and above

Author

github profile image for shubha kumar
shubha kumar

Useful links

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.