JSON to Shopify CSV Converter

Turn product catalog JSON into Shopify-ready CSV rows without uploading product data.

Product catalog JSON

Object, product array, or products array

Valid product JSON41 lines · 937 chars

Shopify CSV output

9 mapped Shopify columns

Handle,Title,Body (HTML),Vendor,Option1 Name,Option1 Value,Variant SKU,Variant Price,Image Src
"devcrate-hoodie","DevCrate Developer Hoodie","<p>A heavyweight hoodie for long debugging sessions.</p>","DevCrate","Size","Small","DC-HOODIE-S","49.00","https://cdn.example.com/devcrate-hoodie.jpg"
"devcrate-hoodie","DevCrate Developer Hoodie","<p>A heavyweight hoodie for long debugging sessions.</p>","DevCrate","Size","Large","DC-HOODIE-L","49.00","https://cdn.example.com/devcrate-hoodie.jpg"
"privacy-first-sticker","Privacy-First Sticker","A durable laptop sticker.","DevCrate","Title","Default Title","DC-STICKER-01","4.5","https://cdn.example.com/privacy-sticker.jpg"
4 lines · 3 product rowsUTF-8 CSV · local only

Tool documentation

Prepare product JSON for Shopify CSV imports

Convert structured product catalogs into a focused Shopify CSV without exposing unpublished products, pricing, SKUs, or image URLs to a third-party conversion server.

100% Client-Side

Conversion runs locally in your browser.

No Payload Logging

Your tool input is never uploaded or logged.

Private by Design

Input stays on your device and is not persisted.

How to use

  1. 1

    Paste or load product JSON

    Use a single product object, an array of products, or an object containing a "products" array. Load the sample catalog to see the supported structure.

  2. 2

    Review the mapped Shopify rows

    DevCrate creates one CSV row per variant and maps handles, descriptions, vendors, options, SKUs, prices, and image URLs.

  3. 3

    Copy or download the UTF-8 CSV

    Copy the generated text or download the BOM-prefixed UTF-8 CSV, then review it before importing through Shopify Admin.

Technical details

Why native Shopify CSV imports fail

Shopify imports are sensitive to exact column names, valid CSV quoting, consistent product handles, and variant rows. Missing headers, unescaped commas or quotes, and malformed option data commonly cause rejected imports or incorrectly grouped products.

Required Shopify column headers

This converter emits Handle, Title, Body (HTML), Vendor, Option1 Name, Option1 Value, Variant SKU, Variant Price, and Image Src in a stable order. Every value is CSV-escaped, including HTML and text containing commas or quotation marks.

Product and variant row mapping

Products without variants generate one row with a Default Title option. Products with a variants array generate one row per variant while retaining the shared product handle, title, vendor, description, and primary image.

Our 100% zero-server privacy guarantee

JSON parsing, product normalization, CSV escaping, copying, and file generation all happen in this browser tab. DevCrate sends no product payload to an API and creates no server-side payload log. Ordinary static page requests may still be logged by the site host, but they never contain your catalog.