Import WP – Export and Import CSV and XML files to WordPress


Our optimised WordPress importer makes it easy to export and import CSV and XML files into WordPress posts, pages, categories, and tags. We have simplified the process to Import attachments, images, and any WordPress data using our custom visual data selection tools that make it straightforward to import XML or CSV files from any data feed.

Our WordPress exporter allows you to export CSV, XML or JSON files with data from any wordpress post type or taxonomy, including exporting custom fields, images, attachments, and related terms. This means you can easily export CSV, XML or JSON files containing only the WordPress data and structure you need.

Import CSV and XML files to WordPress posts, categories and users

To create a csv importer or xml importer the steps are the same, except that xml files contain a nested data structure, instead of csv files that containing rows and headings.

  1. Choose Import file – Import an XML or CSV file by either uploading a file, downloading from a remote url, or from a remote FTP.
  2. Map data – Select what parts of your import file should be used to create and update a WordPress record.
  3. Set Permissions – Set what is used to identify each record, and select what the importer can insert, update and delete.
  4. Run the importer.

Import WordPress Attachments from XML / CSV files

Import WordPress attachments from CSV and XML files from either a remote url, an ftp server, the websites filesystem, or the WordPress media library.

Attachments can be downloaded every time the importer runs, or can check the media library to use an existing version if it exists already, saving media from downloading duplicate images.

WordPress CSV and XML Importer features

  • Simple XML data selection tool to Import XML files.
  • Easy to use CSV data selection tool to import CSV files.
  • Import data from remote urls and data feeds.
  • Import data from an FTP server
  • Import data from files stored on the web server.
  • Import data to WordPress posts and pages
  • Import categories and tags.
  • Import Attachments from Remote URL
  • Import Attachments from FTP server
  • Import Attachments from local filesystem
  • Import Attachments from Media Library.
  • Import Attachment title, caption, alt tag metadata.

WordPress Exporter features

  • Export all available fields, or select which WordPress data to export.
  • Create nested XML files containing repeating data.
  • Customise CSV file headings
  • Customise XML node names and attribute labels.
  • Filter which records are exported

Product Import Export for WooCommerce Add-on

The free Import WP WooCommerce add-on extends Import WP’s XML and CSV import capabilities allowing to Export and Import WooCommerce products.

  • Export WooCommerce products into CSV, XML or JSON files
  • Import WooCommerce products from CSV and XML
  • Import and Export simple, grouped, external, variable and variation products.
  • Export and import WooCommerce products and images including featured product images and gallery images.
  • Export and Import product categories including hierarchy.
  • Export and Import WooCommerce product attributes, categories and tags
  • Export and import product prices and stock levels.

A number of add-ons are available to add functionality to the importer / exporter.

  • Advanced Custom Fields ACF Add-on – ACF XML & CSV data importer and exporter.
  • JetEngine Add-on – JetEngine XML & CSV data importer and exporter.
  • WooCommerce Add-on – XML & CSV Importer and Exporter for all WooCommerce product types.
  • Rank Math SEO Add-on – XML & CSV Importer for Rank Math SEO metadata.
  • Yoast SEO Add-on – XML & CSV Importer for Yoast SEO metadata.
  • Polylang Add-on – XML & CSV Importer for Polylang translations.
  • BLM file importer Add-on – BLM file and media Importer.

Find out more about Import WP Add-ons.

What is Import WP Pro?

Import WP Pro is a paid upgrade that includes premium support and adds the following extra features:

  • Import data to custom fields – used by themes and plugins to store custom data associated with posts.
  • Import data to WordPress custom post types.
  • Import data to WordPress custom taxonomies
  • Schedule importers

Find out more about Import WP Pro on our website.


  • Import WP, New importer screen
  • Import WP, Post template setup screen
  • Import WP, Run import page
  • Import WP, Import history page


  1. Upload ‘jc-importer’ to the ‘/wp-content/plugins/’ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. A new menu item under Tools > Import WP should appear where you can access the plugin.

For further documentation on installing and using Import WP features can be found here.


How to Import XML files using our XML Importer

Our XML importer allows you to easily import xml files made up from any XML schema / structure.

When importing XML files you first need to set the document base path, the XML base path defines what makes up a record and is used when calculating how many records will be imported.

Using our XML visual data selector you can choose what data to be imported from each record’s XML nodes attributes or text, or you can manually select data using custom written XPath queries.

How to Import CSV files using our CSV Importer

Our CSV importer makes it possible to import CSV files containing any number of columns or rows, with settings to set the CSV delimiter character that is used to separate each data cells defaulting to a comma, set the CSV enclosure character that is used to wrap around each data cell defaulting to a quotation mark, and set what character encoding was used when creating the csv.

Using our CSV data selector you can visually choose what columns should be used when importing each record.

What documentation is available

Documentation can be found online on

What add-ons are available

A full list of available addons can be found here.


11 marca, 2023
This plugin is great. And if you have a wish or question, James will help you. He is a true expert. Thanks!!!
29 avgusta, 2022
Great plugin. The free version has good features for most of the tasks. The premium version has good features and excelent support. It is easy to use to import and export spreadsheets and update data. The best plugin I tried for these tasks.
Read all 19 reviews

Contributors & Developers

“Import WP – Export and Import CSV and XML files to WordPress” is open source software. The following people have contributed to this plugin.




  • ADD – Add option on importer create screen to create from existing exporter.
  • ADD – Add option on importer create screem to create from exporter config.
  • ADD – Display unique identifier on importer log messages.
  • ADD – Add csv file settings to exporter (escape, delimiter, and seperator).
  • ADD – Add csv escape character field to importer.
  • ADD – Option when importing taxonomy terms onto a post type, to search via custom field.
  • ADD – Add iwp/importer/template/post_create_term filter to disable creation of terms when importing taxonomies onto a post type.
  • FIX – Update importer / exporter temp path to use wp_upload_dir instead of WP_CONTENT_DIR.
  • FIX – Fix enable field dropdown from overflowing screen.
  • FIX – Page Header and Footer responsiveness.


  • ADD – New unique identifier UI, allowing you to select from template fields or create a custom identifier.
  • ADD – Add filter to enable custom delete actions
  • ADD – Add action to override default delete behaviour with custom code.
  • ADD – Add post taxonomy field labelled Hierarchy relationship, allowing you to choose from connecting all to just last term.


  • FIX – Fix issue TypeError: count() in xml parser.


  • FIX – Fix issue causing csv exporter to show empty screen after clicking “Add fields”.


  • ADD – Allow for addons to register panel settings, currently only supports toggle fields.
  • FIX – Fix error if id passed to attachment is not of an attachment type.
  • FIX – Reduce database calls during import.


  • ADD – Add pot translation file.
  • ADD – Add mapper exist query filters.
  • ADD – Add post template term filter.
  • FIX – Importing Post parent field, if searching by name make sure it is not an empty value.


  • ADD – Add missing iwp/exporter/user/fields filter when generating user exporter field list.


  • FIX – remove status ajax request during manual import, instead add max record cap per request.
  • FIX – fix layer ordering issue where wp footer was in front of import interface.
  • FIX – If importing a remote attachment, if it starts with the uploads url search media library first.


  • ADD – Add exporter rest points to compatibility module.
  • FIX – Add second argument to iwp/exporter/user/setup_data filter, to avoid conflict with ACF module in Pro.


  • FIX – fix missing error when an importer is unable to download the source file.


  • ADD – Add compatability panel do attempt to disable plugins during import process.
  • FIX – Reduce plugin header size.


  • ADD – Add documentation links to each section heading.
  • FIX – Add tooltip to unique identifier field.


  • FIX – Reduce database calls during import.
  • ADD – during import define WP_IMPORTING flag.


  • ADD – Enable post_status field by default.


  • ADD – Add new Permission Field user interface.
  • FIX – Issue with deleting objects when template uses multiple post types.


  • FIX – unique identifier field now correctly display’s previously selected custom values.


  • FIX – Improve Exporter speed by lazy loading only what is needed.


  • FIX – Error displayed when removing custom field during loading of its data.
  • ADD – Show unique identifier field for term import template.
  • ADD – Allow for term perents to reference a custom field.
  • FIX – Normalize exporter file path to fix failed download of file on windows.


  • FIX – Issue with parsing xml file swith duplicate node names.
  • ADD – Allow importing of attachments from zip files using ‘iwp_zip’.
  • ADD – New Attachment template allows you to import and update attachment files and meta data.
  • ADD – New url field when exporting attachment post type, contains full url of file.
  • ADD – New term type field on post template.
  • ADD – Merge zip archive import code into core plugin.
  • ADD – Attachments can now be imported from the main zip file by setting the attachment base url/path to iwp_zip.
  • FIX – Reduce plugin size by using @wordpress/scripts.
  • ADD – New import setting to automatically download new files before being manually run.
  • ADD – New Comment import template.


  • FIX – Ftp username and passwords needed to be url encoded if they contain special characters.
  • FIX – Add filter iwp/ftp/passive_mode to enable/disable ftp passive mode.


  • FIX – Parsing of FTP connection strings when using Remote Url to download csv/xml files.


  • FIX – Stop XML File reader parsing tags as xml in CDATA tags.
  • FIX – Importer history date previously recording date as NaN…
  • FIX – Exporter status throwing DivisionByZeroError.
  • FIX – Issue exporting User, Tax, and Comment Exports.


  • FIX – Issue with ImporterRunner being passed to filter instead of Importer.


  • ADD – Update Exporter and Importer Runner.


  • FIX – Exporter issue caused by property access level.


  • FIX – Changing delimiter or enclosure was previously not reindexing the temp config file.
  • ADD – Allow csv exporter to add subrows.


  • ADD – Add continue button to manually ran imports.
  • ADD – field map ability to all fields, mapped field type has been deprecated.


  • FIX – Importer PostMapper version tag breaking when using multiple post types.
  • FIX – Issue with running importer not checking server limits.
  • FIX – Issue with memory limit reading -1 as no memory, insead of unlimited.
  • ADD – Add iwp/importer/init action when importer is being started.
  • Add – Schedule exporter upgrade message.


  • FIX – issue with reading memory_limit set using G suffix
  • FIX – issue with post_date not setting post_date_gmt.


  • FIX – issue with schedule interface, once saved you were not able to add new rows.
  • ADD – Add filters to modify export query.
  • ADD – Add helper function iwp_fn_prefix_items


  • ADD – exported CSV files with default column names will autofill template fields when creating a new importer.
  • FIX – fixed issue with addon data being cleared.
  • FIX – fixed issue with importer status not being displayed correctly.


  • ADD – new delimiter field to attachments and taxonomy settings.
  • FIX – fix UI speed issue.


  • FIX – Revert default exporter delimiter back to “,”


  • ADD – Extend exporter field select options with ability to rename and structure output.
  • FIX – Multiline custom method matching.
  • FIX – Fix missing wp_read_audio_metadata dependency when importing audio files.


  • ADD – new helper function iwp_fn_get_posts_by.
  • FIX – Add memory usage escape check, hard limit of 90%.


  • FIX – Importer CSV file settings page disable flag not changing when fields are updated.
  • ADD – Imported Record tracking is moved from meta tables to own table.
  • ADD – Allow custom text entry on repeater base node field.


  • FIX – Importer session has changed fatal importer error during import initialization.


  • FIX – AddonBasePanel save callback was not following permission rules.
  • FIX – PHP error caused by , at end of arrays.
  • FIX – Importer session has changed fatal importer error during import initialization.


  • FIX – Importer state to work with WP Multisite.


  • ADD – Simplified importer runner, import chunks removed in faviour of state locking.


  • ADD – New action iwp/importer/mapper/init run before a record has been imported.
  • ADD – New action iwp/importer/mapper/before to modify data before importing a record.
  • ADD – New action iwp/importer/mapper/before_insert to modify data before inserting a record.
  • ADD – New action iwp/importer/mapper/before_update to modify data before updating a record.
  • ADD – New action iwp/importer/mapper/after run after a record has been imported.


  • ADD – New filter iwp/allowed_file_types to allow different file types apart from the default xml / csv.
  • ADD – New filter iwp/get_filetype_from_ext to allow setting the file type based on the attached file name.


  • FIX – Addon Panel, Core template fields are no longer excluded from processing due to missing enabled flag.


  • FIX – Hash geneartion on local files now match correctly.
  • ADD – Downloaded media without extensions, attempt to get extension from content-type header.


  • FIX – Restore old method of …