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
012345→12345) — 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:
- 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.
- 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 Type | Cause | Recoverable? | Tool | Cost |
|---|---|---|---|---|
| Garbled / mojibake characters | Non-UTF-8 encoding (Windows-1252 saved from Excel) | Yes — if original UTF-8 bytes are intact; no — if bytes were overwritten on save | Format Checker | Free |
| Curly / smart quotes breaking imports | Excel injected typographic quotes during cell editing | Yes | Find & Replace | Free |
| Image rows severed from products | Excel sort reordered individual rows, breaking Handle-group integrity | Partial — clean, re-sort, dedupe; some image-row re-mapping may be manual | Data Cleaner | Free |
| Leading zeros stripped from SKU / barcode | Excel auto-converted text column to numeric on open | Often no — zeros are gone from the CSV; re-export from source system | Re-export from source | — |
| Structural garbage / truncated rows | Incomplete write, bad export, network error during download | Sometimes — depends on where corruption starts | Format Checker | Free |
.xlsx file won't open / XML damage | File-level binary corruption | Yes — partial recovery via Excel Repair | Excel Repair | Pro |
What Produces Each Damage Type
| Symptom | Root Cause | Section |
|---|---|---|
| Garbled characters (accented letters → ?, em dashes → â€") | Windows-1252 encoding, opened and re-saved in Excel without specifying UTF-8 output | Encoding damage |
| "There was an error importing your file" | Curly/smart quote characters treated as illegal quoting by the CSV parser | Curly quotes |
| Products have no images or wrong images after import | Excel sort severed image-URL rows from their parent Handle rows | Excel-sort structure damage |
SKU or barcode values are wrong — 012345 now shows as 12345 | Excel auto-converted text-format column to numeric on open, stripping leading zeros | Leading zeros |
| "Shopify can't recover corrupted files for you" | Excel reported or Shopify import reported file as corrupted — may be encoding, may be true corruption | Escalation |
Table of Contents
- Recovering from Encoding Damage
- Recovering from Curly Quote Injection
- Recovering from Excel-Sort Structure Damage
- When It's Not Recoverable: Stripped Leading Zeros
- Escalating to Excel Repair for True .xlsx Corruption
- FAQ
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:
- Open Format Checker and load the product CSV.
- Check the reported encoding. If it shows Windows-1252 or ANSI, proceed.
- Use Format Checker to re-encode the file to UTF-8.
- 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.
- 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:
- Open Find & Replace and load the product CSV.
- Replace each curly quote variant with its straight ASCII equivalent:
"→""→"'→''→'
- Download the corrected file.
- 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:
- Open Data Cleaner and load the product CSV.
- Apply
removeEmptyRowsto clear trailing blank rows. - Apply a sort by the
Handlecolumn (ascending). This groups all rows for each product together. - Download the re-sorted file.
- Open in a plain text editor. For each Handle group, verify: parent row (with
Title) first, variant rows (withVariant SKU) next, image rows (withImage Src) last. - Correct any within-group ordering issues manually in the text editor — not in Excel.
- 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:
- Shopify: Open and edit a CSV file — Contains the "Shopify can't recover corrupted files" statement; covers Excel sorting risks and image URL row positioning
- Shopify: Import a CSV file — Import workflow and error reporting for product CSVs
Standards and encoding reference:
- RFC 4180: Common Format and MIME Type for CSV Files — The CSV quoting standard; explains why curly quotes produce parsing errors
- Unicode FAQ: UTF-8, UTF-16, UTF-32 & BOM — Encoding reference; explains the byte-level difference between UTF-8 and Windows-1252
- MDN Web Docs: TextDecoder — How browsers handle encoding detection and re-encoding in client-side file processing