R
by Webの相談所 4.9 (107 reviews)

Really Simple CSV Importer

Alternative CSV Importer plugin. Simple and powerful, best for geeks.

Really Simple CSV Importer ranks #885 among WordPress.org plugins with 40,000+ active installations, is #121 of 4,931 in the Utilities & Tools category, a 4.9/5 rating from 107 reviews, and was last updated Jul 16, 2026. Data from WordPress.org, refreshed twice daily — see methodology.

Tested up to WP 7.0.4 (Current: 7.1)
v1.3.1 Current Version v1.3.1
Updated 1 month ago Last Update on 16 Jul, 2026
Refreshed 8 hours ago Last Refreshed on
#121 of 4,931 in Utilities & Tools Top 5% by installs Downloads -38% this week
View on WordPress.org
Rank
#885
No change
Active Installs
40K+
-6.6%
KW Avg Position
9.8
No change
Downloads
325.8K
+28 today
Support Resolved
100%
No change
Rating
98%
Review 4.9 out of 5
4.9 (107 reviews)

Next Milestone 50K

Total Progress 32.9%
40K+ 50K+
94
Ranks to Climb
-
Growth Needed
8,000,000
Active Installs
Pro

Unlock Exact Install Count

See the precise estimated active installs for this plugin, calculated from real-time ranking data.

  • Exact install estimates within tiers
  • Track install growth over time
  • Milestone progress predictions
Upgrade to Pro
Need 6,715 more installs to reach 50K+

Rank Changes

841 863 886 909 931 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
841 864 888 912 935 01-09-2026 02-09-2026 03-09-2026 04-09-2026 05-09-2026 06-09-2026 07-09-2026 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
Current #885
Change
Best #

Upgrade to Pro

Unlock 30-day and 90-day rank history charts with a Pro subscription.

Upgrade Now

Active Installs Growth

Active Installs 0,000,000+
Growth +0.0%
Peak 0,000,000

Downloads Growth

0 50 100 150 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
0 50 100 150 200 01-09-2026 02-09-2026 03-09-2026 04-09-2026 05-09-2026 06-09-2026 07-09-2026 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
Downloads
Growth
Peak

Upgrade to Pro

Unlock 30-day, 90-day, and yearly download history charts with a Pro subscription.

Upgrade Now

Reviews & Ratings

4.9
107 reviews
Overall 98%
5
102 (95%)
4
3 (3%)
3
0 (0%)
2
1 (1%)
1
1 (1%)

Support Threads Overview

Resolved
Unresolved
1
Total Threads
1
Resolved
0
Unresolved
100%
Resolution Rate

Security History

Source: WPVulnerability

1 known vulnerability on record · 1 in the last 24 months · checked 1 week ago

  1. Really Simple CSV Importer [really-simple-csv-importer] < 1.3.1

    CVE-2026-65461 · Fixed in v1.3.1

TL;DR

AI summary of the plugin's readme

This plugin is for WordPress site owners and developers who need to bulk import or update posts from CSV files. It solves the problem of manually creating posts, custom fields, taxonomies, and thumbnails by mapping CSV columns to post data with hooks for customization.

  • Category support
  • Tag support
  • Custom field support
  • Smart Custom Fields support
  • Custom Field Suite support
  • Advanced Custom Fields support
  • Custom Taxonomy support
  • Custom Post Type support

Frequently Asked Questions

Common questions about Really Simple CSV Importer

No. Only columns which you want to update.
Yes. Please use ID field to specify the existing post.
Yes. Please use ID field to specify the new post ID.
Yes. You can use column names same as wp_post table, but if the column name does not match, it creates a custom field (post meta) data. Importing custom taxonomy is a bit more complicated, "tax_{taxonomy}" means, "tax_" is prefix, and {taxonomy} is name of custom taxonomy (not labels). Here is an example. csv file "post_title","released","tax_actors" "Captain Phillips","2013","Tom Hanks, Barkhad Abdi, Barkhad Abdirahman" imported post data Post Title: Captain Phillips Custom field "released": 2013 Custom taxonomy "Actors": Tom Hanks, Barkhad Abdi, Barkhad Abdirahman
Because PHP cannot read multibyte text cells in some cases. Locale setting is taken into account by this function. If LANG is e.g. en_US.UTF-8, files in one-byte encoding are read wrong by this function.
Yes. Please create additional plugin and use really_simple_csv_importer_save_meta filter to make array data. Add-on development example
Here is an example, assuming you have a field called cf47rs_images, format the csv cell data as, http://localhost/websitename/photos/photo12345-1.jpg|http://localhost/websitename/photos/photo12345-2.jpg|http://localhost/websitename/photos/photo12345-3.jpg or some other urls of files you want to import, and then use the really_simple_csv_importer_save_meta filter to hook into the import process, add_filter( 'really_simple_csv_importer_save_meta', 'rsc_import_images',10,3); function rsc_import_images( $meta, $post, $is_update ) { //convert to an array $images = explode("|",$meta['cf47rs_images']); $meta['cf47rs_images']=array();//reset the meta field //directory to import images to $artDir = 'wp-content/uploads/imported_cf47rs_images/'; //if the directory doesn't exist, create it if(!file_exists(ABSPATH.$artDir)) { mkdir(ABSPATH.$artDir); } require_once(ABSPATH . 'wp-load.php'); require_once(ABSPATH . 'wp-admin/includes/image.php'); global $wpdb; //loop through each photos that need to be imported foreach($images as $file_url){ //let's get the image file name $new_filename = array_pop(explode("/", $file_url)); //move the file to our custom import folder if (@fclose(@fopen($file_url, "r"))) { //make sure the file actually exists $siteurl = get_option('siteurl'); $skip_attachment_insert=false; //check if this image has already been imported, if(file_exists(ABSPATH.$artDir.$new_filename) ){ //file already imported //either change the name of the file UNCOMMENT the following line //$new_filename = date("Y-m-d H:i:s").$new_filename; //.... or overwrite it, COMMENT OUT the next 3 lines of code if you choose to uncomment the renaming of file name. //in which case we want to find the attachment ID and store it in our meta field $attach_id = attachment_url_to_postid($siteurl.'/'.$artDir.$new_filename); $meta['cf47rs_images'][$attach_id] = $siteurl.'/'.$artDir.$new_filename; //no need to insert a new attachment, we reuse the same $skip_attachment_insert=true; } //(over)write the new file copy($file_url, ABSPATH.$artDir.$new_filename); if($skip_attachment_insert) continue; $file_info = getimagesize(ABSPATH.$artDir.$new_filename); //create an array of attachment data to insert into wp_posts table $artdata = array( 'post_author' => 1, 'post_date' => current_time('mysql'), 'post_date_gmt' => current_time('mysql'), 'post_title' => $new_filename, 'post_status' => 'inherit', 'comment_status' => 'closed', 'ping_status' => 'closed', 'post_name' => sanitize_title_with_dashes(str_replace("_", "-", $new_filename)), 'post_modified' => current_time('mysql'), 'post_modified_gmt' => current_time('mysql'), 'post_type' => 'attachment', 'guid' => $siteurl.'/'.$artDir.$new_filename, 'post_mime_type' => $file_info['mime'] ); $uploads = wp_upload_dir(); $save_path = $uploads['basedir'].'/imported_cf47rs_images/'.$new_filename; //insert the database record $attach_id = wp_insert_attachment( $artdata, $save_path ); $meta['cf47rs_images'][$attach_id] = $siteurl.'/'.$artDir.$new_filename; //generate metadata and thumbnails, comment this out if you don't want thumbnails if ($attach_data = wp_generate_attachment_metadata( $attach_id, $save_path)) { wp_update_attachment_metadata($attach_id, $attach_data); } } } return $meta; }

More plugins by Webの相談所

Sign In / Register

You need to sign in or register to use this feature.