Navigated to blog › recover-corrupted-shopify-product-csv
Back to Blog
csv-import-guides

Recover a Corrupted or Broken Shopify Product CSV

May 24, 2026
12
By SplitForge Team

Quick Answer

Shopify states plainly: "Shopify can't recover corrupted files for you." Most product CSV damage, however, is not file-level corruption — it is structural damage introduced by spreadsheet editing. The four most common damage types have different recovery paths:

  • Encoding corruption (garbled characters after Excel save) — recoverable free with Format Checker
  • Curly/smart quotes (illegal quoting errors) — recoverable free with Find & Replace
  • Excel-sort structure damage (image rows severed from products) — partially recoverable free with Data Cleaner; some re-mapping may be manual
  • Stripped leading zeros (SKU 01234512345) — often unrecoverable from the CSV itself; requires re-export from source

True .xlsx file corruption (the file cannot be opened) escalates to Excel Repair (Pro).


Fast Fix — the two most common, fully recoverable cases:

  1. Encoding corruption: Open Format Checker, load your product CSV. If it reports Windows-1252 / ANSI encoding, use Format Checker to re-encode to UTF-8. Download the re-encoded file.
  2. Curly/smart quotes: Open Find & Replace. Replace " with ", " with ", ' with ', ' with '. Download the corrected file. Re-import.

If the file won't open in a plain text editor and shows [file is corrupted and cannot be opened] in Excel, skip to the Excel Repair section below.


TL;DR: A store was down for three days after a failed catalog restore. The product CSV had been sorted by price in Excel before re-import — standard practice for reviewing the catalog before a relaunch. The sort reordered all rows individually, severing image-URL rows from their parent Handle rows. The import completed with a success banner. Half the products had no images; some had the wrong images. Recovery required exporting a fresh backup from Shopify's admin — the CSV itself could not be repaired without the source data.

Knowing which damage type you have before attempting recovery saves hours. The table below maps each damage type to what's actually possible.


Recovery Decision Table

Damage TypeCauseRecoverable?ToolCost
Garbled / mojibake charactersNon-UTF-8 encoding (Windows-1252 saved from Excel)Yes — if original UTF-8 bytes are intact; no — if bytes were overwritten on saveFormat CheckerFree
Curly / smart quotes breaking importsExcel injected typographic quotes during cell editingYesFind & ReplaceFree
Image rows severed from productsExcel sort reordered individual rows, breaking Handle-group integrityPartial — clean, re-sort, dedupe; some image-row re-mapping may be manualData CleanerFree
Leading zeros stripped from SKU / barcodeExcel auto-converted text column to numeric on openOften no — zeros are gone from the CSV; re-export from source systemRe-export from source
Structural garbage / truncated rowsIncomplete write, bad export, network error during downloadSometimes — depends on where corruption startsFormat CheckerFree
.xlsx file won't open / XML damageFile-level binary corruptionYes — partial recovery via Excel RepairExcel RepairPro

What Produces Each Damage Type

SymptomRoot CauseSection
Garbled characters (accented letters → ?, em dashes → â€")Windows-1252 encoding, opened and re-saved in Excel without specifying UTF-8 outputEncoding damage
"There was an error importing your file"Curly/smart quote characters treated as illegal quoting by the CSV parserCurly quotes
Products have no images or wrong images after importExcel sort severed image-URL rows from their parent Handle rowsExcel-sort structure damage
SKU or barcode values are wrong — 012345 now shows as 12345Excel auto-converted text-format column to numeric on open, stripping leading zerosLeading zeros
"Shopify can't recover corrupted files for you"Excel reported or Shopify import reported file as corrupted — may be encoding, may be true corruptionEscalation

Table of Contents


Recovering from Encoding Damage

Excel on Windows silently converts UTF-8 CSV files to Windows-1252 (ANSI / CP1252) when you open and re-save them without specifying UTF-8 output. The conversion replaces the byte sequences for non-ASCII characters (accented letters, em dashes, typographic quotes, currency symbols) with Windows-1252 equivalents. On import into Shopify, these bytes are misinterpreted as UTF-8 and render as garbled character sequences — café becomes café, becomes â€".

What is recoverable:

If the file was saved from Excel with Windows-1252 encoding but the original text content is correct at the Windows-1252 level (that is, the characters were not further corrupted), re-encoding to UTF-8 recovers the text. The bytes C3 A9 (UTF-8 for é) would have been written as E9 (Windows-1252 for é) — re-encoding maps them back correctly.

What is not recoverable:

If the file was opened and re-saved multiple times with encoding changes at each step, or if the source text contained characters outside both UTF-8 and Windows-1252 ranges, the bytes may have been overwritten in a way that is not reversible by re-encoding alone. Characters that appear as ? (literal question marks) in the damaged file typically indicate the bytes were replaced, not just misinterpreted — those must be corrected manually.

Recovery steps:

  1. Open Format Checker and load the product CSV.
  2. Check the reported encoding. If it shows Windows-1252 or ANSI, proceed.
  3. Use Format Checker to re-encode the file to UTF-8.
  4. Open the re-encoded file in a plain text editor and spot-check 5–10 rows with accented characters. If they render correctly, the re-encoding succeeded.
  5. If characters still appear garbled, the bytes were overwritten and the original values must be recovered from the source system.

Do not open the file in Excel after re-encoding to verify — Excel may re-convert the encoding on open. Use a plain text editor (Notepad, VS Code, Notepad++) that supports UTF-8 display.


Recovering from Curly Quote Injection

Excel and word processors automatically convert straight ASCII quotes (" ') to typographic curly/smart quotes (" " ' ') when editing cells containing quoted text. A CSV parser — including Shopify's importer — treats a curly quote character inside a field as an unescaped literal quote character, which violates RFC 4180 quoting rules. The result: the parser fails on the first row containing a curly quote and produces "there was an error importing your file" (representative — exact wording may vary).

This is one of the most common product CSV damage types and one of the most fully recoverable.

Recovery steps:

  1. Open Find & Replace and load the product CSV.
  2. Replace each curly quote variant with its straight ASCII equivalent:
    • ""
    • ""
    • ''
    • ''
  3. Download the corrected file.
  4. Re-import.

The replacement is exact — no risk of over-replacing, because straight ASCII quotes are the correct RFC 4180 quoting characters. All four variants should be replaced in a single pass.

If the curly quotes are inside product descriptions or titles (not in field-delimiter positions), the replacement also corrects them — Shopify's product description fields accept straight quotes correctly.


Recovering from Excel-Sort Structure Damage

Shopify's product CSV uses a parent-row / variant-row structure. Image URL rows are a separate row type within this structure: each Image Src row carries the same Handle as its parent product row and must appear after that parent row. Excel's column sort operates on individual rows — it does not recognize Handle groups. Sorting by price or alphabetically by title reorders all rows independently, severing image-URL rows and variant rows from their parent Handle.

What is recoverable:

Data Cleaner can re-sort the file by the Handle column, which groups all rows for the same Handle together. It can also remove empty rows, deduplicate, and trim whitespace. After re-sorting by Handle, all rows for each product are contiguous — but not necessarily in the correct order within the group. The parent row (the row containing Title) should appear before variant rows, and image rows should follow the product row.

Data Cleaner re-sorts by column value — it does not intelligently reorder parent/variant/image rows within a Handle group. After sorting by Handle, verify that within each Handle group the parent row (containing Title) appears first, followed by variant rows, followed by image URL rows. This verification step may require manual inspection of the sorted file for the products where sorting caused the most disruption.

What is partially recoverable:

If image rows were displaced far from their parent Handle by the sort, and the file contains many products with similar Handle prefixes, the re-sort brings them close but may not restore correct within-group ordering automatically. For catalogs where manual re-mapping of image rows is impractical, re-exporting a fresh catalog from Shopify's admin (if the store is still live) or from the source system is faster than manual row correction.

Recovery steps:

  1. Open Data Cleaner and load the product CSV.
  2. Apply removeEmptyRows to clear trailing blank rows.
  3. Apply a sort by the Handle column (ascending). This groups all rows for each product together.
  4. Download the re-sorted file.
  5. Open in a plain text editor. For each Handle group, verify: parent row (with Title) first, variant rows (with Variant SKU) next, image rows (with Image Src) last.
  6. Correct any within-group ordering issues manually in the text editor — not in Excel.
  7. Re-import.

For the complete catalog cleaning workflow (before a re-import, not post-damage), see How to Clean a Product Catalog CSV for Shopify and WooCommerce. For pre-import validation after cleaning, see Product CSV Pre-Import Validation Checklist.


When It's Not Recoverable: Stripped Leading Zeros

Excel auto-converts columns that look like numbers to numeric format when it opens a CSV, without prompting. A Variant SKU of 012345 becomes 12345. A barcode of 0045678901234 becomes 45678901234. The original leading zeros are not preserved anywhere in the file — they are gone.

This is often unrecoverable from the damaged CSV alone. The correct values must come from one of:

  • The original source system (your ERP, PIM, supplier system, or inventory management platform)
  • A backup of the CSV taken before the Excel open
  • A re-export from Shopify's admin if the products are already live in the store with correct SKUs

If you have a regex pattern for your SKU format (for example, all SKUs are exactly 8 digits), you can use Find & Replace with a regex to pad truncated values — but only if the truncated value is uniquely identifiable as truncated and the correct pad length is known. This is an approximation, not a recovery: if 12345 was originally 012345 and not 12345, padding restores it; if 12345 was never zero-padded, padding damages it.

Prevention — do not open product CSVs directly in Excel:

Open CSVs via Excel's Data → From Text/CSV import wizard (not by double-clicking). In the wizard, set any column containing SKUs, barcodes, or other numeric-format text fields to Text data type before loading. This prevents the auto-conversion. Alternatively, use a plain text editor or a dedicated CSV viewer for product CSVs that contain text-format numeric fields.


Escalating to Excel Repair for True .xlsx Corruption

Free tool recovery handles the most common product-CSV damage — encoding corruption, curly quotes, Excel-sort structure damage, and some structural truncation. These are all cases where the file is damaged at the content level but remains openable.

Genuine .xlsx file corruption — where Excel reports "the file is corrupted and cannot be opened," or where the file produces a blank workbook on open — is a different class of problem. The .xlsx container itself has structural XML damage or a binary-level issue that prevents normal reading.

Excel Repair (Pro) extracts readable data from corrupted .xlsx files using three modes:

  • Standard: attempts full recovery including formulas and formatting
  • Data-only: extracts cell values only, discards formulas and formatting — highest recovery rate for content
  • Partial: recovers whatever worksheets and rows are structurally intact; useful when only part of the file is damaged

Excel Repair is a Pro-tier tool. It handles true file corruption — not encoding issues, not curly quotes, not Excel-sort damage. If any of the free-tool paths above apply to your situation, exhaust them first. Escalate to Excel Repair when the file itself cannot be opened by any application.

This post is scoped to post-damage recovery of a product CSV that was damaged through spreadsheet editing, failed saves, or corrupt imports. For pre-import error fixing on an intact file — duplicate handle removal, header normalization, encoding check before a first import — see Fix the Five Most Common Shopify CSV Import Errors. For the full e-commerce CSV guide, see Shopify & WooCommerce Product CSV: Fixes, Imports & Migrations.


Additional Resources

Methodology: Damage types and recovery paths verified against Shopify's import documentation and Excel's documented CSV-handling behavior, May 2026. The "Shopify can't recover corrupted files for you" statement is verbatim from Shopify's "Open and edit a CSV file" documentation. Recovery outcomes depend on the specific encoding and damage state of your file.

Shopify documentation:

Standards and encoding reference:


FAQ

Shopify's documentation uses this phrase to clarify that their support team will not manually repair a damaged product CSV for you. It does not mean the file is unrecoverable — it means recovery is your responsibility. Most product CSV damage (encoding, quotes, Excel-sort structure damage) is recoverable with free tools without Shopify's involvement.

Usually, yes — with caveats. The most common cause is Excel sorting that severed image-URL rows from their parent Handle rows. Use Data Cleaner to re-sort by Handle, which groups all rows for each product together. Then verify that image URL rows follow their parent product row within each Handle group. Some manual re-mapping may be required for products where the sort moved image rows far from their Handle. If the store is still live with correct images, re-exporting from Shopify's admin is often faster than manual CSV repair.

Often no. Excel converts text-format columns that look like numbers to numeric values on open, discarding leading zeros. Once stripped from the CSV, the original values are gone unless you have a backup or source system record. If all your SKUs follow a fixed-length format (for example, always 8 digits), you can use Find & Replace with a regex to pad values that are too short — but only if you can reliably identify which values were truncated and know the correct length.

Open the file in a plain text editor (Notepad, VS Code, Notepad++). If product names or descriptions show ? or multi-character sequences like é or â€" where accented letters or em dashes should appear, the file has encoding corruption. If the file looks correct in a text editor but Shopify reports an import error, search for curly quote characters (" " ' ') — these are invisible at a glance but cause parsing failures. Both Format Checker and Find & Replace handle each type respectively.

Use Excel Repair (Pro) only when the source file is an .xlsx that Excel itself cannot open — when Excel reports "the file is corrupted and cannot be opened" or produces a blank workbook on open. Free tools handle CSV-level damage (encoding, quotes, structure). Excel Repair handles binary-level .xlsx corruption. If your file opens in Excel but the data is wrong, the problem is almost certainly one of the CSV-level damage types covered above — not file corruption.

No. Format Checker re-encodes the byte representation of the file — it changes how the bytes are interpreted as text, not the text content itself. A product name that reads café in Windows-1252 encoding will read café in UTF-8 after re-encoding. The characters are the same; the byte sequence changes to conform to UTF-8. Format Checker does not modify field values, add or remove rows, or change delimiters during the re-encoding operation.

Data Cleaner can re-sort rows by a column value (for example, by Handle to group all rows for each product together). It cannot restore the original row order from before the Excel sort unless you have a row-number column or another sortable field that encodes the original sequence. If original order matters — for example, products were sequenced intentionally for display — re-export from Shopify's admin or restore from a pre-sort backup.


Recover Your Product CSV

Re-encode from Windows-1252 to UTF-8 — in your browser, no upload
Replace curly quotes and structural damage with free tools
Honest recovery limits — stripped leading zeros need a re-export, not a workaround

Continue Reading

More guides to help you work smarter with your data

csv-guides

Do You Need a Database for a Large CSV File? (2026 Answer)

The internet's answer to every big CSV is 'import it into a database.' Sometimes that's right. Usually it's a weekend of setup to answer one question. Here's the honest decision.

Read More
csv-guides

How to Open a Large CSV File — Even 10 GB, No Database (2026)

Excel dies at 1,048,576 rows, text editors choke, and 'just use a database' is a weekend project. Here's every real way to open a huge CSV — receipts included.

Read More
excel-guides

Excel File Too Large to Open? Fix Every Memory Error (2026)

Excel freezes, throws 'not enough memory,' or crashes outright — on a file that's only 40 MB. Here's why file size lies about memory, and the fix per error.

Read More