How to convert product names to title case in a product csv
- Step 1Export the product feed as CSV — Download from your PIM, ERP, or supplier.
.csv/.tsv/.txtload directly;.xlsx/.xls/.odsare read from the first sheet. - Step 2Drop the file onto the converter — The header row appears as column checkboxes. Identify the product-title (or name / description) column.
- Step 3Tick only the title column — Check the product-title box. Crucially, leave SKU, model-number, and brand-code columns unticked — Title Case will mangle camel-case and codes (see the edge cases).
- Step 4Choose Title Case — Select the Title Case radio (preview
John Smith). It capitalises the first letter of each word and lowercases the rest of each word. - Step 5Convert and review the preview — Click Convert case. The first-10-rows preview lets you spot any brand names that came out wrong (
iPhone→Iphone) before you commit. - Step 6Fix exceptions, then upload — Download the
.title-case.csv, then use csv-find-replace to correct any trademarks the naive pass got wrong, and upload to your store or marketplace.
Exactly how Title Case transforms product names
The converter uses the regex \w\S*: capitalise the first character of each whitespace-separated token, lowercase the remainder of that token. There are no style exceptions and no awareness of brands, hyphens, or model codes.
| Input product name | Title Case output | Note |
|---|---|---|
HEAVY DUTY STAPLER | Heavy Duty Stapler | The intended, clean result |
heavy duty stapler | Heavy Duty Stapler | All-lowercase fixed too |
iPhone 15 PRO | Iphone 15 Pro | Mid-word capital is LOST — iPhone becomes Iphone |
USB-C Charging Cable | Usb-c Charging Cable | Hyphen is inside the token, so no re-capital after - |
The Lord Of The Rings | The Lord Of The Rings | No small-word rule — Of and The stay capitalised |
3M Command Strips | 3m Command Strips | Digit-led token lowercases the letter — 3M→3m |
MacBook Air M3 | Macbook Air M3 | Camel-case brand flattened; M3 survives (single trailing letter+digit) |
Which columns to tick (and which to never tick)
Title Case suits descriptive prose. It corrupts identifiers. Tick selectively.
| Column type | Tick for Title Case? | Reason |
|---|---|---|
| Product title / name | Yes | Descriptive words capitalise cleanly |
| Category / collection | Yes | Same — plain words |
| SKU / model number | No | SKU-AB12→Sku-ab12 corrupts the identifier — use UPPERCASE instead |
| Brand (e.g. iPhone, eBay) | Caution | Camel-case brands lose their capital (eBay→Ebay) |
| Price / quantity | No effect | Digits are unaffected, but no reason to tick |
Cookbook
Before/after rows from real product feeds showing both the clean wins and the trademark gotchas you must proof for.
Three suppliers, three casings, one consistent result
ExampleThe classic multi-supplier merge problem. Title Case normalises shouty caps, all-lowercase, and inconsistent caps into one display form for the catalogue.
Input: SKU,Title,Price STP-01,HEAVY DUTY STAPLER,8.99 STP-02,heavy duty stapler,8.99 STP-03,Heavy duty Stapler,8.99 Convert case → Title Case, column: Title (SKU unticked) Output (.title-case.csv): SKU,Title,Price STP-01,Heavy Duty Stapler,8.99 STP-02,Heavy Duty Stapler,8.99 STP-03,Heavy Duty Stapler,8.99
Brand camel-case gets flattened — proof before publishing
ExampleTitle Case has no brand dictionary. iPhone, MacBook, and USB-C all lose their internal capitalisation. Review the preview and patch with find-replace.
Input: Title iPhone 15 PRO Case MacBook Air Sleeve USB-C to USB-A Adapter Convert case → Title Case: Title Iphone 15 Pro Case Macbook Air Sleeve Usb-c To Usb-a Adapter Fix step: csv-find-replace Iphone→iPhone, Macbook→MacBook, Usb-c→USB-C, Usb-a→USB-A
SKU column correctly left unticked
ExampleIf you accidentally tick the SKU column, Title Case wrecks it. Keeping it unticked leaves the identifier byte-for-byte intact.
Input: SKU,Title KB-MX99-BLK,mechanical keyboard Convert case → Title Case, column: Title only Output (SKU untouched, Title fixed): SKU,Title KB-MX99-BLK,Mechanical Keyboard (If SKU had been ticked: KB-MX99-BLK → Kb-mx99-blk — corrupted.)
No small-word style — articles stay capitalised
ExampleUnlike AP/Chicago title case, this tool capitalises every word including a, the, of, and. If you need editorial title case, fix the small words afterward.
Input: Title the art of the deal lord of the flies Convert case → Title Case: Title The Art Of The Deal Lord Of The Flies (For editorial style, follow up with csv-find-replace: ' Of '→' of ', ' The '→' the ', ' And '→' and '.)
Header row stays exactly as named
ExampleTitle Case skips the header, so your store import map keeps matching the original column name even though the values were transformed.
Input: product_name WIRELESS MOUSE Convert case → Title Case, column: product_name Output (header preserved): product_name Wireless Mouse
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.
Camel-case brand loses its internal capital
Known limitationTitle Case lowercases everything after the first letter of each word, so iPhone→Iphone, eBay→Ebay, MacBook→Macbook, PlayStation→Playstation. There is no brand dictionary. Leave brand columns unticked, or run Title Case then patch the known brands with csv-find-replace.
Hyphenated terms not re-capitalised after the hyphen
By designA hyphen is a non-space character, so \S* swallows it and the word after the hyphen is lowercased: USB-C→Usb-c, E-Reader→E-reader, T-Shirt→T-shirt. If you want T-Shirt, fix it with find-replace after the pass.
No AP/Chicago small-word exceptions
By designArticles, conjunctions, and short prepositions are capitalised like any other word: of→Of, the→The, and→And. This is mechanical title case, not editorial. For publication-style titles, post-process the small words with csv-find-replace.
Digit-led tokens lowercase the trailing letter
Known limitationBecause the token starts with a digit, \w\S* capitalises position 0 (a no-op for a digit) and lowercases the rest: 3M→3m, 4K→4k, 10W→10w. Keep model-spec columns unticked if these matter, or correct afterward.
SKU column accidentally ticked
Corrupted outputTitle Case on an identifier mangles it: SKU-AB12→Sku-ab12, KB-MX99-BLK→Kb-mx99-blk. WMS/ERP imports then fail to match. Only tick descriptive text columns. For SKUs you want consistent, use UPPERCASE on the dedicated SKU normalisation guide.
No column ticked applies Title Case to everything
By designLeaving all checkboxes empty applies the transform to ALL columns, including SKU and price text. For a product feed you almost always want a specific column ticked. Confirm your selection before running.
Accented and non-Latin product names
Supportedcafé au lait→Café Au Lait — accents are handled by Unicode-aware case methods. Scripts without case distinction (Chinese, Japanese, Arabic) pass through unchanged, which is correct.
Feed exceeds the free 2 MB / 500-row limit
BlockedLarge catalogues are blocked on the free tier (2 MB, 500 data rows). Split with csv-row-limiter into chunks, or upgrade to Pro for 100 MB / 100,000 rows.
Title already in correct Title Case
ExpectedRe-running Title Case on already-correct titles is a no-op for those cells — the Cells converted count only includes values that actually changed. Safe to run as a normalisation guarantee.
Frequently asked questions
Will Title Case capitalise every word including 'a', 'the', and 'of'?
Yes. This is mechanical title case — it capitalises the first letter of every whitespace-separated word with no exceptions. the lord of the rings becomes The Lord Of The Rings. If you need AP or Chicago style with lowercase small words, post-process them with csv-find-replace.
Does it handle brand names like iPhone or eBay correctly?
No — it lowercases everything after the first letter of each word, so iPhone→Iphone and eBay→Ebay. There is no brand dictionary. Leave brand columns unticked, or run the pass and then fix the known brands with find-replace. Always check the preview for camel-case brands.
What happens to hyphenated names like USB-C or T-Shirt?
The word after the hyphen is not re-capitalised, because the hyphen is treated as part of the same token: USB-C→Usb-c, T-Shirt→T-shirt. Patch these with csv-find-replace after the conversion.
Can I convert just the title column without touching SKUs?
Yes, and you should. Tick only the title column. Title Case corrupts SKUs and model codes (SKU-AB12→Sku-ab12), so leave those unticked. For SKUs that need consistency, use UPPERCASE instead.
Does this change the header row?
No. The converter skips row 0 entirely, so Title / product_name stays exactly as written and your store's import field mapping keeps working. Only the data values are transformed.
What about model numbers like 3M or 4K?
Tokens that start with a digit get their trailing letters lowercased: 3M→3m, 4K→4k. If model-spec accuracy matters, keep that column unticked or correct it after the pass.
How is Title Case different from Sentence case for product names?
Title Case capitalises the first letter of every word; Sentence case capitalises only the first letter of the whole cell and lowercases the rest. For HEAVY DUTY STAPLER, Title Case gives Heavy Duty Stapler and Sentence case gives Heavy duty stapler. Use Title Case for display names.
Can I upload an Excel product feed?
Yes — .xlsx, .xls, and .ods are accepted (first sheet only), and the result downloads back as .xlsx. Plain .csv, .tsv, and .txt are also accepted.
Will it touch my price or quantity columns?
Only if you tick them. Even then, digits are unaffected by case conversion, so numeric columns survive — but there is no reason to include them. Tick only the descriptive text columns.
How many products can I process for free?
Up to 2 MB and 500 data rows on the free tier. For a larger catalogue, split with csv-row-limiter or upgrade to Pro (100 MB / 100,000 rows).
Is my supplier and pricing data uploaded?
No. PapaParse runs in your browser; the feed never leaves your machine. Signed-in users get an anonymous run counter only — no cell content is transmitted.
Can I run this on a recurring supplier import?
Yes. GET /api/v1/tools/csv-case-converter returns the schema (caseType, columnIndices); pair the JAD runner and POST the payload to apply Title Case to the title column on every supplier drop, then chain a find-replace step for your brand fixes.
Privacy first
Processing runs locally in your browser with PapaParse. No file is uploaded — only metadata counters are saved for signed-in dashboard stats.