---
title: "Import Reviews from a CSV file for Your Products"
description: "If you are migrating from another review app or want to upload custom reviews in bulk, you can easily import them into Ryviu using a CSV file."
url: https://docs.ryviu.com/en/articles/19-import-reviews-from-a-csv-file-for-your-products
collection: "Import reviews"
updated: 2026-11-03
language: en
---

# Import Reviews from a CSV file for Your Products

If you are migrating from another review app or want to upload custom reviews in bulk, you can easily import them into Ryviu using a CSV file.

> **Info:** ⚠ **Plan Requirement:** This feature is exclusively available on **Ryviu Paid Plans**.

### 💡 Before You Start: Crucial Tips to Avoid Import Errors

-   **Use Google Sheets:** We highly recommend editing your CSV files using **Google Sheets** rather than Microsoft Excel. Excel often alters CSV formatting (e.g., encoding and delimiters), which frequently causes import failures.
    
-   **Save Format:** If you must use Excel, ensure you save the file as **CSV UTF-8 (comma-delimited) (\*.csv)**.
    
-   **File Limit (only version 1.0):** To ensure system stability, each CSV file should contain reviews for **no more than 50 products** at a time. Split your files if you have more than one.
    

* * *

### 👉 Step 1: Prepare Your CSV File

You have two options to prepare your import file:

#### Option A: Use the Ryviu CSV Template (Recommended)

Download the [Ryviu CSV Template](https://docs.google.com/spreadsheets/d/17j_NLeSfaLTIaRX_HHiG00rXKRe9Su_gcv-B0nSgUU0/copy?pli=1) and fill in your review data. Please follow these formatting guidelines:

<table data-id="ac333ba3-83a6-4558-b462-b90fbf256b15" style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="3cf72f5d-da52-4985-9fcc-f9adc97179e9"><strong>Column Name</strong></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="97b3eb65-6192-4771-a9f8-d4712c8d0407"><strong>Required?</strong></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="a2114107-48ab-48e7-881f-bd4d1e8eeab1"><strong>Accepted Format &amp; Examples</strong></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="75d0e90c-b9ab-42eb-939b-94f535d38211"><code>product_handle</code></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="21d01f5b-29c7-483f-a086-81b4e1ebfddf"><span><strong>Yes</strong></span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="a91bac04-1f4b-4db8-8c50-33eeb54a768c"><a target="_blank" rel="noopener noreferrer nofollow" class="linktype-link link" data-linktype="link" href="https://docs.ryviu.com/en/articles/75-get-your-shopify-product-handle-and-id.md#heading-1-get-the-shopify-product-handle">The product handle</a> (Shopify) or <a target="_blank" rel="noopener noreferrer nofollow" class="linktype-link link" data-linktype="link" href="https://docs.ryviu.com/en/articles/123-how-to-get-woocommerce-product-s-slug-title-and-id.md">product slug </a>(WooCommerce).<br><em>Example:</em> <code>red-leather-jacket</code></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="a3f5d840-2974-4b18-9c29-887b7d54828c"><code>rating</code></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="6b5f809b-a241-4562-b719-8a25a1cb0d8b"><span><strong>Yes</strong></span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="ecfb09e8-612a-414b-90a9-3b8b938c4f14">A whole number from <strong>1 to 5</strong>.</p><p data-id="d52b1eea-2290-4887-baf9-0146ff0ce386"><em>Example:</em> <code>5</code></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="6209004b-6e73-4c21-a126-7583fc3f9972"><code>author</code></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="2d76b718-6d34-46c5-a5b0-63eb47478ecd"><span><strong>Yes</strong></span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="ddddf208-9c63-44e7-89ee-46c25560db34">The name of the reviewer.</p><p data-id="2aaa1af9-18c2-455b-b1f8-c36527459635"><em>Example:</em> <code>John Doe</code></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="ec29dde0-6384-4d59-a447-79c681cc3fac"><code>title</code></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="c5ff1033-bbd6-4e17-b59b-635d94b28c01"><span>No</span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="8093f471-3165-4516-804d-44687b35ac2d">A short summary of the review.</p><p data-id="29f7271a-4d8b-4930-b3c7-2b2174ebf6b0"><em>Example:</em> <code>Excellent quality!</code></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="957823a6-7a9e-4bbe-a157-808827922ebd"><code>body_text</code></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="3b562ed5-45ae-43fb-b799-5b20e9c5aad9"><span>No</span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="1da69b68-27e7-4a22-ad1b-3c197c737322"><span>The detailed content of the review.</span></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="f703d4fd-7168-4133-ac33-a7005f6910b7"><code>email</code></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="764ccda4-e028-406c-83e4-d2f4c154d321"><span>No</span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="fa0d2417-1043-42ae-8f3c-30b316de1996"><span>The reviewer's email. If blank, you can use dummy emails like </span><code>user@example.com</code><span>.</span></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="0933ffa9-a6ce-4450-b96f-394f41025c92"><code>photo_urls</code></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="f67e76fc-50e3-46b4-81bc-7e82c4d94fca"><span>No</span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="35d625ce-4c73-45a9-96db-45bd9bbbf265">Direct image URLs. If a review has multiple photos, separate the URLs with commas.</p><p data-id="3ef8f312-0974-4e03-b8c4-1717c15348dd"><em>Example:</em> <code>[https://domain.com/img1.jpg,(https://domain.com/img2.jpg),[https://domain.com/img3.jpg],(https://domain.com/img4.jpg)</code></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="6a97700a-8d91-408b-a04a-a8d8897e6b91"><code>created_at</code></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="5ceb5ca4-0dc8-47ed-9dae-2bee146bf5d9"><span>No</span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="1034a601-acdc-4ee8-8179-c8cc850de79f">Format: <strong>YYYY-MM-DD HH:MM</strong></p><p data-id="9ba4e6b1-f2f5-4abb-8dbb-22b1b783e76b"><em>Example:</em> <code>2026-07-14 14:30</code>.</p><p data-id="58295a18-5932-47ea-be0f-c9bcdd19128e"><em>(If left blank or incorrect, reviews will show the current import time)</em></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="5347fb57-8f11-457a-b683-3ea899a75dbb"><code>status</code></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="94af6352-8630-4c68-bb7e-d7c5bd549079"><span>No</span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="7f039f2a-80df-47ab-9ec5-8ed0e6bd8c78"><span>Use </span><code>enable</code><span> to publish instantly, or </span><code>disable</code><span> to keep it as a draft.</span></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="7fe5905d-dd0c-4601-b45c-4f85667779cb"><code>featured</code></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="ebb9a529-5ca8-4201-821a-e24786a7fdbd"><span>No</span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><p data-id="2e43129a-bbac-44ee-88fd-a8b1a8d4514b"><span>Use </span><code>1</code><span> to feature the review on your widget, or </span><code>0</code><span> to keep it standard.</span></p></td></tr></tbody></table>

#### Option B: Use a CSV Export from Your Previous App

If you are switching to Ryviu, you don't need to reformat your file! We fully support direct CSV imports exported from:

-   **Ryviu** (Backups)
    
-   **Loox**
    
-   [**Judge.me**](https://Judge.me)
    
-   **Product Reviews by Shopify**
    
-   **Rivo**
    

> **Warning:** **Warning on Images:** Ryviu retrieves images via the links provided by your previous app. If you uninstall or delete your account in that app, those image links may break, causing images to disappear from Ryviu.

### 👉 Step 2: Import the CSV into Ryviu

Once your file is ready (and downloaded as a `.csv` file), follow these steps to upload it:

1.  Log in to your **Ryviu Dashboard**.
    
2.  Go to the **Reviews** Manager section, click **Import reviews** button at the top right.
    
3.  Click **Import CSV.**
    
4.  Under **CSV format**, select the platform/app that matches your CSV file (e.g., _Ryviu_, _Loox_, [_Judge.me_](https://Judge.me), etc.).
    
    ![](https://staticfiles.gleap.io/ghelparticle/TZS2bMLk6jfry7UWGJySK3dzw7oC1GiHpO6ozV6xH5axw46QituNpVvuVms37qBmSLIeHZl8ahN.png)
5.  Click **Add file** and select your saved `.csv` file.
    
6.  **Choose Import Behavior** (If your product already has existing reviews on Ryviu, choose how to handle them):
    
    -   **Merge (Recommended):** Keeps your current reviews and adds the new ones from the CSV.
        
    -   **Replace:** Deletes all existing reviews on Ryviu for these products and replaces them with the CSV reviews.
        
    -   **Skip:** Ignores and skips importing reviews for products that already have reviews in your dashboard.
        
        ![Import reviews screen showing CSV format Ryviu, an uploaded file, required CSV fields, and Merge selected as the import type. Visible: Import reviews, Upload CSV File, Please ensure your CSV file follows the required format:, product\_handle (required), rating (required, integer), created\_at (optiona](https://staticfiles.gleap.io/ghelparticle/Ftlqktb6WTDeVQ1xVy3Y8ikcoVWwQdNM6mJL2ekiY5uONvYRiDgnmuXrodsr3FUwicXjL2uYlE7.png)
7.  Click **Import**.
    

* * *

### Tutorial video

Watch this video to get detailed instructions.

* * *

**Need help?**

Get in touch with our support team through [live chat](https://docs.ryviu.com/en/articles/101-support.md) or email at [info@ryviu.com](mailto:info@ryviu.com)**.** We're here to help!​
