A little help goes a long way. Find a tool/

Text FIELD NOTES · 4 MIN READ

Batch Case Conversion: One Rule, Every Line

How per-line case conversion works: seven target cases, what each transformation does to acronyms and separators, and why empty lines stay put.

Nobody converts one name at a time. The real job always arrives as a column: forty database fields, thirty config keys, a spreadsheet of product labels that have to move into a system that only accepts snake_case. Batch case conversion is a one-rule-for-every-line operation, and understanding what that rule does — and what it refuses to guess — is the difference between a clean rename and a subtle mess.

Seven cases, one pass

The Case Convert Batch tool takes one string per line and applies a single target case to every line independently. Here is the same three-line list through all seven targets, exactly as the tool produces it:

input:      user login count | Order TOTAL | Quarterly Sales Report FY2025

upper:      USER LOGIN COUNT | ORDER TOTAL | QUARTERLY SALES REPORT FY2025
lower:      user login count | order total | quarterly sales report fy2025
title:      User Login Count | Order Total | Quarterly Sales Report Fy2025
sentence:   User login count | Order total | Quarterly sales report fy2025
camel:      userLoginCount   | orderTotal  | quarterlySalesReportFy2025
snake:      user_login_count | order_total | quarterly_sales_report_fy2025
kebab:      user-login-count | order-total | quarterly-sales-report-fy2025

Every output line corresponds to the input line at the same position — line 1 in is line 1 out, whatever happens to the lines around it. That positional guarantee is the whole value of a batch tool: you can paste a column, convert it, and paste it back without any risk of reordering.

What each transformation really does

Title case capitalizes the first letter of every word and lowercases the rest — which is why the acronym FY2025 comes out as Fy2025. The converter only knows word boundaries where separators were; it cannot know that FY means "fiscal year", so acronyms get flattened. Expect to fix acronyms by hand after any title-case pass (this limitation is examined in detail in Camel vs Snake vs Kebab).

Sentence case is stricter: the whole text is lowercased first, then only the first letter of the string and the first letter after a period, exclamation mark, or question mark are capitalized. Feed it hello THERE. world! ok? and you get Hello there. World! Ok? — the mid-sentence shout disappears entirely, which is the point.

camelCase, snake_case, and kebab-case all work on the same principle: runs of non-alphanumeric characters — spaces, hyphens, punctuation — collapse into a single separator, and any separator at the start or end of the line is stripped. Messy input is not an obstacle but a use case: user login count!! converts to user_login_count without a pre-cleaning pass.

Empty lines and edge cases

Empty lines are preserved in their original position and stay empty in the output, so line numbering never shifts. Blank lines at the very start or end of the paste are dropped, which keeps the output tidy when a stray newline sneaks in from the clipboard. A line that is only whitespace converts to an empty string — worth remembering when the source is a spreadsheet export that pads rows.

Batch versus single, and one-way streets

The single Case Converter transforms one block of text and is the right choice for prose, headings, and paragraphs. The batch tool is for lists — its contract is one line in, one line out, same order. If your "list" is really one sentence you want retitled, use the single tool; if it is a column, batch wins on speed and safety.

One warning applies to every mode: conversion is largely a one-way street. Convert quarterlySalesReportFy2025 to snake_case and you get quarterlysalesreportfy2025 — the capital letters that mark word boundaries to your eye are ordinary letters to the converter, which only reads separator characters. Always convert from the human-readable original, never from a previously converted form. And when the destination is a URL rather than a codebase, that is a different dialect of the same idea — see How URL Slugs Work.

Try it yourself

Paste a real column — column names, config keys, label texts — into the Case Convert Batch tool and cycle through all seven target cases to see which convention fits your system. Compare the same lines through the single Case Converter to feel the difference between block and batch workflows, and read Camel vs Snake vs Kebab for the reasoning behind each camp before you pick a lane.

Frequently asked questions

How is the batch tool different from the Case Converter?
The Case Converter transforms one block of text. The batch tool takes a list of separate strings — one per line — and converts each independently, so a whole column of names or keys comes out in the same case in one pass, with every output line matching its input line's position.
What happens to acronyms like FY2025?
Title case and camelCase flatten them: "FY2025" becomes "Fy2025" or "fy2025" because the converter only recognizes word boundaries where separators were, not inside capitalized runs. Plan a quick manual pass to restore acronyms after converting.
What happens to empty lines?
Empty lines are preserved in their original position and stay empty in the output, so line numbering never shifts and every input line maps to exactly one output line. Blank lines at the very start or end of the paste are dropped.
Can I convert camelCase back to snake_case?
Not reliably. The converter reads separator characters, not capital letters, so "quarterlySalesReportFy2025" becomes "quarterlysalesreportfy2025" in snake_case. Always convert from the human-readable original, never from a previously converted form.
Which case should I pick for my project?
Follow your ecosystem: camelCase for JavaScript and Java variables, snake_case for Python and SQL, kebab-case for CSS, URLs, and file names, SCREAMING_SNAKE for constants. Fighting the local convention costs more than it gains.