PRODUCT FILE PREPARATION

Shopify CSV Multiple Images Fixer — One Image Per Row, Ready to Import

Paste your supplier CSV with several image URLs in one cell. Get a Shopify-ready file with one image per row, correct Image Position and nothing uploaded. Free for up to 20 products.

Your CSV stays
in your browser.

Free export includes complete products up to 20 products or 100 output rows, whichever comes first. Keep a copy of your original CSV and review Shopify’s import preview. This tool formats image rows; it does not publish products or host images.

1. Open your CSV locally

No file selected. Browser limits: 10 MiB input, 25,000 source rows, 500 columns, 50,000 output rows. Device memory can impose a lower limit.

UTF-8 by default; BOM detected. Output: UTF-8 CSV / LF.

Or paste CSV text

2. Confirm column mappings

Auto detection samples the first 100 source rows. Confirm both choices. A supplier identifier header is renamed Handle; its values stay exact. Existing official Handle columns take priority.

Commas within a URL are retained. A separator starts the next HTTP(S) URL or an empty entry. Export accepts HTTPS only. Images are never fetched.

CSV processing stays in this tab. No CSV upload, store login or image request. Checkout verifies order details only.

3. Review every product group

One image URL per row.

Free preview covers the entire converted table. The first image goes on the main row at position 1. Further images use existing variant rows before new image-only rows are added.

Free export: up to 20 independent Handles or 100 data rows, whichever is reached first. Each product group stays whole.

ONE-TIME PURCHASE · USD 4.99

Download your whole catalog.

Preview your CSV locally, then unlock a full-catalog download.

One-time payment · no subscription · no account needed

No Shopify app to install. Your CSV stays in your browser.

Restore this tool’s access anytime below using its order number and payment email. Choose your source CSV again; the site does not keep it.

Compare free and paid access & view watermarked samples · Purchase recovery routes

14-day money-back guarantee — email support@filepreplab.com.

Tip: keep your original file open — after checkout you may need to select it again.

Questions or wrong result? Email support@filepreplab.com.

Already bought this tool? Verify your order

Shopify product images belong on separate rows sharing the same Handle. A supplier’s single cell can contain several addresses, so expand that list before import. Put the first image on the main product row, place later images on existing variant rows, and add rows containing only Handle, Image Src and Image Position when necessary.

This converter treats the Handle as the boundary of one product. Two products can share an image address without becoming one product, and two variants can share a Handle without being reduced to one variant. The converter collects the selected image list across each product’s source rows. It keeps the first occurrence of each URL within that product, assigns positions starting at one, and keeps each original row’s other cell values. A repeated image does not delete the row carrying a different size, price or stock code.

Supplier Single-Cell vs Shopify Multi-Row field mapping
Field or rowSupplier Single-CellShopify Multi-Row output
Product identifierHandle, URL handle or a mapped supplier identifierThe same Handle on every row for that product
Product imagesSeveral URLs in one selected cellOne URL in Image Src / Product image URL per assigned row
Image PositionMissing, repeated or inherited supplier valuesRebuilt as 1, 2, 3… within the Handle
Existing variant rowsSeparate option values, SKUs and pricesRetained; used for additional product-image URLs before inserting rows
New image-only rowsNo corresponding source rowOnly Handle, Image Src and Image Position are populated
Selected image helperImages, Image URLs or another supplier fieldRemoved when the mapping checkbox is selected; retained only for an archive copy otherwise

Read the worked example before importing

Imagine a cup with two variant rows: Small has SKU 00017 and Large has SKU 00018. The Small row’s image-list cell contains front, side and back addresses in that order. The Large row has no image list. After expansion, Small carries the front address at position 1, Large carries the side address at position 2, and a third row carries the back address at position 3. That third row has the cup’s Handle and empty cells everywhere except the two product-image fields. Both original SKUs and option values stay exactly as parsed.

The image placed alongside Large remains a product-gallery image. The converter does not assign that image to the Large variant’s separate variant-image field. Existing variant-image values stay unchanged. Original image alt text also stays unchanged, so review whether it still describes the product image now on that row. New image-only rows have no generated description or alt text. The converter cannot infer those descriptions from an address.

If the source lists the same Handle in several places, the converter gathers those rows under its first occurrence. Their order within that product remains the source order. The preview reports this regrouping. Product groups may move relative to intervening products, so use the Origin column to compare each original row with its source row number. Handles that differ only by case or Unicode normalization are blocked for review rather than silently combined.

Open a local CSV, confirm the Handle and multi-image mappings, then select the separator used inside image cells. Expand the images and inspect every output page. Source row numbers help trace retained variant data; image-only labels identify inserted rows. Resolve notices and compare several complete products before downloading a file for your import test.

Start with a separate copy of the original export. The file chooser reads bytes into this tab; the paste option reads text that you supply. Auto detection examines column names and samples image values from the first 100 source rows. This is a starting suggestion, not a judgment about your entire catalog. Use the two dropdowns to confirm the product identifier and the actual image-list column. Known variant and product fields are excluded from destructive mappings. An existing official Handle column must be used when present.

The file separator and image-list separator are different settings. A semicolon-delimited source file might contain pipe-separated images inside one cell. A comma-delimited CSV containing comma-separated image URLs needs correct quotes around that cell. Papa Parse handles quoted commas, escaped quotation marks and quoted line breaks, with dynamic number conversion disabled. A stock code such as 00017 stays text. If another application already removed its zeros, this tool cannot recover them.

Inside image cells, the converter recognizes commas, semicolons, pipes or line breaks. It treats a punctuation separator as a boundary when followed by another HTTP(S) URL or an empty entry. This retains a comma in an address such as a,b.jpg. Ambiguous supplier conventions can still need source cleanup; select a specific separator when automatic splitting does not match your data. HTTPS is required by this version’s local validator. A syntactically valid address does not establish that an image exists, is publicly accessible, or contains the intended product.

Check exact cells, not only the totals

The preview gives access to every converted row and column without payment. Pages contain 50 rows to keep the table manageable; use Previous, Next or the page dropdown to reach the end. A page break can pass through a product in the preview, because it is a viewing control. Download boundaries are calculated separately and keep products whole. The image URLs are displayed as text. They are never loaded as thumbnails, so reviewing a private supplier address does not send it to an image host.

Use the counts to locate unexpected changes. New image-only rows should appear only when images outnumber reusable source rows. Repeated URLs are deduplicated within each Handle. Image positions are deliberately rebuilt; old supplier positions are not reserved. Malformed quoting, inconsistent cell counts, blank identifiers, duplicate headers and formula-like cells block processing. Formula protection is conservative and can catch legitimate negative values. Correct the source deliberately; the converter will not alter a variant cell to hide a warning.

Choose the file’s real encoding if UTF-8 decoding fails. Supported alternatives include Windows-1252, UTF-16, Shift JIS and GB18030. Inspect non-English characters after changing it. Downloaded files are newly serialized as comma-separated UTF-8 CSV with LF record endings and an optional BOM. CSV quoting may therefore differ from the original bytes, while retained cell text stays exact. Do not use a source-file checksum as a test of a deliberately converted file.

Free export includes complete product groups up to 20 independent Handles or 100 data rows, whichever limit is reached first. The header does not count. If the next product cannot fit, export stops before it. Full Export is a separate USD 4.99 one-time purchase for the whole table and optional empty URL cleanup for the whole converted table.

For example, 21 products with one row each produce a 20-product free file. The Handle limit is reached first even though only 20 of the 100 available rows are used. Five products with 20 rows each fill the 100-row limit. If two products occupy 60 and 50 rows, only the first product fits: the remaining 40-row allowance is left unused because including part of the second product could separate its variants from its images. If the first product alone needs 101 rows, the free file contains no complete product and the download button stays disabled.

The boundary notice reports the actual included products and rows, which limit was encountered, and the Handle immediately after the exported portion. It does not quietly export the first 100 arbitrary rows. Review this notice before passing a file to someone else. A free file can be the entire catalog when all complete groups fit the allowance. Full Export is useful when the table goes beyond that allowance, rather than a requirement to preview the excluded products.

Empty URL cleanup handles gaps between separators or a trailing separator in an image-list cell. Those gaps are reported separately from normal blank image cells on variant rows. A free download containing explicit empty URL entries is blocked until you fix them in the source. With a verified Full Export order, the cleanup option can remove those entries and unused original rows containing only a Handle and an empty image. It never deletes an original variant row merely because that variant has no image. Arbitrary text such as N/A is not silently treated as an empty URL.

Full Export is a USD $4.99 one-time purchase. Keep your original CSV open: after checkout you may need to select it again, because your file stays in your browser. Questions or a wrong result? Email support@filepreplab.com.

Formatting is only one stage of a product import. Compare your remaining column names and dependency fields with your current Shopify export, keep a backup, and use a small reviewed test before a catalog-wide change. Shopify’s own import preview is the place to inspect store-specific effects. This tool has no store access and cannot roll back an import. For the next part of an order workflow, use the shipping label cropper; for a separate print-file task, inspect image to 300 DPI metadata. Neither operation changes this CSV or hosts its image files.

01Can Shopify import multiple image URLs from one CSV cell?

Prepare one product-image URL per row with the same Handle for that product. This converter expands a supplier’s comma, semicolon, pipe or newline list. It places the first image on the main row, uses existing variant rows next, and adds image-only rows when needed. Check Shopify’s import preview before applying changes.

02Will converting images change my variants or SKUs?

Original variant cell text, including leading-zero SKUs, option values, prices and variant-image fields, is preserved. Product-image URLs and positions are rebuilt. Non-adjacent rows for a Handle are grouped together while keeping that product’s original row order. Only the explicitly selected supplier helper can be removed; a mapped identifier header becomes Handle.

03What is included in the free export?

The entire converted table is free to preview, with every column and pages of 50 rows. A free CSV contains the first complete product groups that fit within 20 independent Handles and 100 data rows, whichever limit is reached first. The header is excluded. The converter never splits a product group to fill unused space.

04What does the USD 4.99 Full Export purchase unlock?

Shopify Bulk CSV Image Expander & Validator is a separate one-time USD 4.99 product for full-table export within browser limits and optional empty URL cleanup. This purchase is separate from File Prep Lab PDF / PSD products. A verified order for this exact product is required. A paid-looking return link alone cannot unlock the button. Full Export applies within this browser version’s limits; purchase does not remove technical limits.

05Is my CSV uploaded, and can I convert an unlimited catalog?

CSV parsing, image expansion, preview and download run locally in this browser tab. The tool does not fetch your image URLs or connect to Shopify. Payment verification sends order details only. This version accepts up to 10 MiB input, 25,000 source rows, 500 columns, 50,000 output rows and 250 images per product; available device memory can impose a lower limit. Split larger files by complete products.

Sources & scope

Official Shopify product CSV guidance and Papa Parse documentation checked October 15, 2026. Papa Parse 5.5.3 is included under the MIT license. Local limits: 10 MiB input, 25,000 source rows, 500 columns and 50,000 output rows. This independent tool is not affiliated with Shopify. The social preview is a diagram, not a live screenshot.

Shopify product CSV documentationPapa Parse documentationPapa Parse license