KKitForma.

Language

EnglishEnglishTürkçeTurkishDeutschGermanBlog unavailable in this language · open toolsEspañolSpanishBlog unavailable in this language · open toolsFrançaisFrenchBlog unavailable in this language · open toolsPortuguêsPortugueseBlog unavailable in this language · open toolsItalianoItalianBlog unavailable in this language · open toolsNederlandsDutchBlog unavailable in this language · open toolsPolskiPolishBlog unavailable in this language · open toolsРусскийRussianBlog unavailable in this language · open toolsУкраїнськаUkrainianBlog unavailable in this language · open toolsSvenskaSwedishBlog unavailable in this language · open toolsNorskNorwegianBlog unavailable in this language · open toolsDanskDanishBlog unavailable in this language · open toolsSuomiFinnishBlog unavailable in this language · open toolsČeštinaCzechBlog unavailable in this language · open toolsRomânăRomanianBlog unavailable in this language · open toolsΕλληνικάGreekBlog unavailable in this language · open toolsالعربيةArabicBlog unavailable in this language · open toolsעבריתHebrewBlog unavailable in this language · open toolsفارسیPersianBlog unavailable in this language · open toolsاردوUrduBlog unavailable in this language · open toolsहिन्दीHindiBlog unavailable in this language · open toolsবাংলাBengaliBlog unavailable in this language · open toolsதமிழ்TamilBlog unavailable in this language · open toolsతెలుగుTeluguBlog unavailable in this language · open toolsमराठीMarathiBlog unavailable in this language · open toolsગુજરાતીGujaratiBlog unavailable in this language · open tools简体中文Chinese SimplifiedBlog unavailable in this language · open tools繁體中文Chinese TraditionalBlog unavailable in this language · open tools日本語JapaneseBlog unavailable in this language · open tools한국어KoreanBlog unavailable in this language · open toolsTiếng ViệtVietnameseBlog unavailable in this language · open toolsไทยThaiBlog unavailable in this language · open toolsBahasa IndonesiaIndonesianBlog unavailable in this language · open toolsBahasa MelayuMalayBlog unavailable in this language · open toolsFilipinoFilipinoBlog unavailable in this language · open toolsKiswahiliSwahiliBlog unavailable in this language · open toolsAfrikaansAfrikaansBlog unavailable in this language · open toolsMagyarHungarianBlog unavailable in this language · open toolsБългарскиBulgarianBlog unavailable in this language · open toolsHrvatskiCroatianBlog unavailable in this language · open toolsSrpskiSerbianBlog unavailable in this language · open toolsSlovenčinaSlovakBlog unavailable in this language · open toolsSlovenščinaSlovenianBlog unavailable in this language · open toolsLietuviųLithuanianBlog unavailable in this language · open toolsLatviešuLatvianBlog unavailable in this language · open toolsEestiEstonianBlog unavailable in this language · open toolsCatalàCatalanBlog unavailable in this language · open toolsEuskaraBasqueBlog unavailable in this language · open tools

Code & data

Shopify CSV recovery: broken UTF-8 text and missing SKU zeros are different problems

Diagnose damaged characters separately from spreadsheet conversions. Recover from an untouched source, preserve identifiers and rehearse a small product import.

Compare the file with an intact source

A product title that displays incorrectly and an SKU that has lost its leading zeros can appear in the same CSV, but they need different repairs. Shopify identifies incorrect encoding as one possible cause of unexpected characters after import. Spreadsheet software may also transform identifiers into numbers or dates while opening the file.

Keep the downloaded source, the edited spreadsheet and the proposed upload as separate files. Inspect a known accented title, a leading-zero SKU and a long barcode in each version. This comparison tells you where damage first appeared. Do not repeatedly open and save the only copy while trying different export menus.

Expected title: Crème mug
Expected SKU: 000742
Expected identifier: 123456789012345678

Check each value at three points:
original export → spreadsheet preview → saved CSV

A repaired file must match the original strings, not merely look tidy.

Shopify Help: importing products and encoding problems ↗

Recover characters from known bytes or the original export

If the original is readable but the spreadsheet is not, import a fresh copy using the correct encoding rather than editing each garbled character. Preview accented and non-English text before accepting the import. Save the repaired copy in the UTF-8 format required by the destination, then reopen it in a viewer that does not silently change column types.

If replacement symbols were already written into the saved file, choosing UTF-8 afterward cannot infer the original letters. Return to a clean export or another trustworthy source. Broad search-and-replace rules can damage legitimate text, especially when the file contains several languages. Keep a short before-and-after comparison for the affected rows.

Treat identifiers as text before spreadsheet conversion

Microsoft documents automatic conversions that can remove leading zeros, change long numbers and interpret text as dates. Import SKU and barcode columns as text before the conversion occurs. A custom display format that shows extra zeros is not a recovery method when the original identifier length is unknown.

Use an explicit source of truth for each repaired identifier. If 000742 became 742, padding every SKU to six digits is only valid when the catalog specification actually requires six digits. A long identifier whose digits were rounded cannot be reconstructed by widening the cell. Re-export it from the original system and compare the exact string.

Microsoft Support: preserving leading zeros and large numbers ↗

Validate structure and rehearse one small import

Run the repaired copy through KitForma’s Shopify CSV checker and review the proposed changes. The checker can flag local structural problems; it cannot prove that your remote images, store settings or catalog relationships are correct. Keep variant rows and dependent columns together. Shopify warns that removing required option information can change variant behavior.

Do not replace your production catalog as a test. Prepare a small, deliberately selected import with a backup and inspect Shopify’s own preview. After importing, verify the product title, SKU, barcode, options and images in the destination; then export that small result again and compare the identifiers with the source.

A successful rehearsal is evidence for that sample, not a guarantee for every row. Group the remaining records by the kinds of problems you found and check representative examples. Keep a change log with row identifiers and reasons so that an unexpected result can be traced without guessing which version was uploaded.

  1. Preserve the untouched source.
  2. Find where characters or identifiers first changed.
  3. Reimport with deliberate encoding and text column types.
  4. Review local CSV corrections.
  5. Test a backed-up, small import.
  6. Verify the destination and an exported sample.

Shopify Help: product CSV format and dependencies ↗

KITFORMA

Put it into practice

No account needed. Open an article, then try the matching tool.

Further reading

Sources last reviewed:

KitForma prepared this guide with AI assistance. Examples illustrate a workflow; they are not measurements of real sales, search volume or success. Check the linked sources and the result with your own file.

How to use this guide

Published by KitForma, maintained by Fatih Erkan. The linked references explain the relevant formats and definitions. Examples use sample inputs; they do not establish a speed, quality or compatibility guarantee for your files. Check the tool’s stated limits and inspect your downloaded result.

Publisher and project details

Get new guides in your inbox

Join our optional email newsletter for KitForma tools, practical guides and product updates.

Give consent on the separate Brevo form, then confirm the link in your email. This is separate from account and support preferences. Unsubscribe using the link in every newsletter.

— views— likesDiscuss

Questions & experiences

Share what worked, ask a specific question, or suggest a correction. Never include passwords, private files or personal document details.

Loading community…