How to convert sku column to uppercase in a csv
- Step 1Export the inventory or product CSV — Pull from your WMS, ERP, marketplace, or supplier.
.csv/.tsv/.txtload directly;.xlsx/.xls/.odsare read from the first sheet. - Step 2Drop the file onto the converter — Column checkboxes appear from the header row. Locate the SKU column (and barcode, if you have one).
- Step 3Tick the SKU column — Check the SKU box. Add the barcode box if it also contains letters you want uppercased. Leave description and price unticked.
- Step 4Choose UPPERCASE — Select the UPPERCASE radio (preview
JOHN SMITH). It uppercases every letter in the selected column's data cells. - Step 5Convert and verify the count — Click Convert case. The Cells converted figure tells you how many SKUs actually had lowercase letters; the preview confirms the format.
- Step 6Trim, dedup, then import — If your SKUs have stray spaces or symbols, follow up with csv-whitespace-trimmer or csv-special-char-stripper, dedup with csv-deduplicator, then import to your WMS/ERP.
What UPPERCASE does to a SKU column
toUpperCase() applied per data cell. Only letters change; digits and separators are preserved exactly.
| Input SKU | Output (UPPERCASE) | Note |
|---|---|---|
sku-001 | SKU-001 | Standard lowercase SKU folded |
Kb-Mx99-Blk | KB-MX99-BLK | Hyphens and digits preserved, letters uppercased |
prod_a12.v2 | PROD_A12.V2 | Underscore and dot preserved |
ABC-123 (already upper) | ABC-123 | No-op — not counted in Cells converted |
sku 001 (space + trailing space) | SKU 001 | Spaces NOT removed — uppercase changes case only |
café-1 | CAFÉ-1 | Accented letter uppercased (Unicode-aware) |
Pre-import SKU normalisation chain
Uppercasing is usually one step in a sequence. This tool does only the case step; chain the others for a fully clean SKU column.
| Problem in the SKU column | Fixed by this tool? | Use instead / also |
|---|---|---|
Mixed case (sku-001 vs SKU-001) | Yes — UPPERCASE mode | — |
| Leading / trailing spaces | No | csv-whitespace-trimmer |
Stray symbols (SKU#001!) | No | csv-special-char-stripper |
| Duplicate SKU rows | No | csv-deduplicator after uppercasing |
Wrong SKU prefix (OLD- → NEW-) | No | csv-find-replace |
Cookbook
Before/after rows from real inventory and order exports showing the SKU column uppercased while neighbouring columns stay untouched.
Three suppliers, three SKU casings, one match key
ExampleEach supplier types the same SKU differently. The WMS only matches the uppercase form, so two of three rows fail to find their product. Uppercasing the column first makes all three match.
Input: SKU,Qty,Supplier sku-001,12,A Sku-001,5,B SKU-001,8,C Convert case → UPPERCASE, column: SKU (Qty/Supplier unticked) Output (.upper-case.csv): SKU,Qty,Supplier SKU-001,12,A SKU-001,5,B SKU-001,8,C Next: csv-deduplicator (key: SKU) to merge / total quantities.
Uppercase SKU and barcode together, leave the title
ExampleBoth the SKU and an alphanumeric barcode need to be uppercase for the marketplace, but the product title should keep its display capitalisation. Tick both ID columns.
Input: SKU,Barcode,Title kb-99,abc1234xy,Mechanical Keyboard Convert case → UPPERCASE, columns: SKU + Barcode Output: SKU,Barcode,Title KB-99,ABC1234XY,Mechanical Keyboard
Header row stays — import map intact
ExampleUppercasing skips the header, so the column name your ERP maps against is unchanged even though every SKU value below it is now uppercase.
Input: sku,qty ab-12,3 Convert case → UPPERCASE, column: sku Output (header 'sku' preserved): sku,qty AB-12,3
Uppercase does not strip a trailing space
ExampleCase conversion is case-only. A SKU with a trailing space (common from a copy-paste) stays padded and may still fail an exact match — chain a trim.
Input: SKU ab-12 Convert case → UPPERCASE: SKU AB-12 ← trailing space still present Then csv-whitespace-trimmer: SKU AB-12
Already-uppercase SKUs report zero conversions
ExampleRunning the pass on a column that is already uppercase is harmless — the Cells converted count is 0, confirming nothing changed. Useful as a guarantee step before import.
Input: SKU ABC-123 DEF-456 Convert case → UPPERCASE: SKU ABC-123 DEF-456 Result panel: Cells converted = 0
Errors and edge cases
Real errors and silent failures sourced from each platform's own documentation. Match the wording to the row, fix what the row says to fix.
Leading or trailing whitespace on the SKU
PreservedUPPERCASE changes letter case only. ab-12 becomes AB-12 with the trailing space intact, which can still break an exact-match lookup. Run csv-whitespace-trimmer before or after the case pass.
Stray symbols inside the SKU
PreservedSymbols like #, !, or smart quotes are not removed — SKU#001→SKU#001. If the WMS expects a clean alphanumeric SKU, run csv-special-char-stripper as a separate step.
SKU column accidentally left unticked (all columns selected)
By designIf you tick nothing, the converter uppercases ALL columns — including the product title and any text. For SKU normalisation you almost always want one or two specific columns ticked. Check the selection before running.
Non-letter SKUs (pure numeric or symbol-only)
ExpectedA SKU of 001234 or 00-11-22 has no letters, so UPPERCASE is a no-op and it is not counted in Cells converted. The value is byte-identical in the output.
Excel coerced the SKU into a number and dropped leading zeros
Upstream data lossIf the source spreadsheet stored 001234 as a number, Excel may have already saved it as 1234 — uppercasing cannot recover the lost zeros because they were gone before the file reached the tool. Re-export the SKU column as text from the source system.
Two SKU rows differ only by case
Supportedsku-1 and SKU-1 both become SKU-1 after the pass, but the converter does not remove the resulting duplicate rows. Follow with csv-deduplicator keyed on the SKU column to collapse them.
Accented or non-Latin letters in the SKU
SupportedAccented letters uppercase correctly (café-1→CAFÉ-1) via Unicode-aware methods. Caseless scripts pass through unchanged. Most clean SKUs are ASCII, so this rarely comes up.
File over the free 2 MB / 500-row limit
BlockedLarge inventory files are blocked on free. Split with csv-row-limiter or upgrade to Pro (100 MB / 100,000 rows).
Frequently asked questions
Should SKUs always be uppercase?
Uppercase is the most common convention for warehousing and marketplaces because it is unambiguous and easy to read on labels, but it is a convention, not a rule. What actually matters is that your SKUs are consistent. Check your WMS or ERP documentation; if it expects lowercase, use the lowercase mode instead — the workflow is identical.
Will this change the SKU values themselves, not just the case?
No. Only letter case changes. The sequence of characters — digits, hyphens, underscores, dots — is preserved exactly, so kb-mx99-blk becomes KB-MX99-BLK with the same structure. It does not add, remove, or reorder characters.
Can I convert both SKU and barcode columns in one run?
Yes. Tick both checkboxes under Apply to columns and both are uppercased in the same pass. The converter handles each selected column index independently, so other columns stay untouched.
Does it remove spaces or symbols from the SKU?
No — it changes case only. A trailing space or a stray # survives. Chain csv-whitespace-trimmer for spaces and csv-special-char-stripper for symbols to get a fully clean SKU.
Will the header row become uppercase too?
No. The converter skips the first row, so your SKU / sku column name is preserved exactly and the ERP import field-mapping keeps matching. Only the data cells below it change.
Does it deduplicate SKUs after uppercasing?
No. Uppercasing makes case-different SKUs identical, but removing the duplicate rows is a separate step — run csv-deduplicator keyed on the SKU column afterward.
My SKUs lost their leading zeros — can this fix that?
No. If leading zeros are missing, the source spreadsheet coerced the SKU to a number before the file reached the tool. Case conversion cannot recover lost characters. Re-export the column as text from your source system.
Can I upload an Excel inventory file?
Yes — .xlsx, .xls, and .ods are accepted (first sheet), and the result downloads back as .xlsx. Plain .csv, .tsv, and .txt work too. Just watch for Excel having already stripped leading zeros from numeric-looking SKUs.
How many rows can I process for free?
Up to 2 MB and 500 data rows on the free tier. For a full inventory file, split it with csv-row-limiter or upgrade to Pro (100 MB / 100,000 rows).
Is my inventory data uploaded to a server?
No. PapaParse processes the file in your browser; SKUs, quantities, and supplier data never leave your machine. Signed-in users get an anonymous run counter only.
What does Cells converted tell me?
It counts the SKU cells whose value actually changed — so already-uppercase SKUs are excluded. If you expected many mixed-case rows but the count is low, most of your SKUs were already normalised.
Can I automate this for every inbound supplier file?
Yes. GET /api/v1/tools/csv-case-converter returns the schema (caseType, columnIndices); pair the JAD runner and POST the payload to uppercase the SKU column on each drop, then chain trim, special-char-strip, and dedup steps in the same pipeline.
Privacy first
Processing runs locally in your browser with PapaParse. No file is uploaded — only metadata counters are saved for signed-in dashboard stats.