Text Case Conversion
Standardize text casing in any string column without code. Apply sentence, upper, lower, title, or swap case to one or more columns in a single step.
Text Case Conversion reformats every value in a string column to a consistent casing style. Select one or more columns, pick a case format, and submit. Edilitics updates the column values in place and no new column is created.
Only string and categorical columns are available for selection. Boolean, date, datetime, timestamp, and time columns are excluded automatically.
When to Use Text Case Conversion
Use this operation when text values in the same column have inconsistent casing and that inconsistency will cause problems downstream.
- Joining on name fields.
"Amazon"and"amazon"will not match in a join. Lower-casing both sides before the join eliminates the mismatch. - Grouping by category.
"Electronics","electronics", and"ELECTRONICS"produce three separate groups instead of one. Lower or title case collapses them. - Display in reports or dashboards. Column values shown directly in charts or tables look inconsistent when casing varies. Title case or sentence case makes them readable.
- Exporting to external systems. Many downstream tools expect a specific casing convention. Apply it here before the export step.
- Standardizing free-text fields. Sales rep names, region labels, and product categories collected from forms often arrive with mixed casing from different users.
Sample Dataset
The examples in this doc use the Edilitics sample orders dataset. Download it to follow along in your own workspace.
edilitics_sample_orders.csv
Sample orders dataset for hands-on practice · 500 rows
Relevant columns for Text Case examples:
Prop
Type
The Five Case Formats
Each format applies a specific transformation to every character in a value. Choose based on how the field will be used downstream.
Capitalizes the first character of the entire string and lowercases everything else.
This is not per-sentence or per-word capitalization. The transformation treats the whole value as one string.
| Input | Output |
|---|---|
ALICE JOHNSON | Alice johnson |
alice johnson | Alice johnson |
Alice Johnson | Alice johnson |
order confirmed - shipped | Order confirmed - shipped |
Best for: notes fields, descriptions, free-text inputs where one capital at the start is enough.
Converts every character to uppercase.
| Input | Output |
|---|---|
Alice Johnson | ALICE JOHNSON |
new york | NEW YORK |
order-123 | ORDER-123 |
Best for: country codes, status flags, identifiers that must be uppercase to match a downstream system.
Converts every character to lowercase.
| Input | Output |
|---|---|
Alice Johnson | alice johnson |
NEW YORK | new york |
Electronics | electronics |
Best for: join keys, category columns, any field where you want to normalize before grouping or filtering.
Capitalizes the first character of each word, lowercases all other characters.
| Input | Output |
|---|---|
alice johnson | Alice Johnson |
new york city | New York City |
ELECTRONICS AND GADGETS | Electronics And Gadgets |
Best for: customer names, product names, city/region fields shown in reports or dashboards.
Inverts the casing of every character. Uppercase becomes lowercase, lowercase becomes uppercase.
| Input | Output |
|---|---|
Alice Johnson | aLICE jOHNSON |
Hello World | hELLO wORLD |
Best for: internal testing, data obfuscation, or specific encoding requirements. Rarely used in production cleaning pipelines.
Configuration Modes
Text Case Conversion offers two ways to configure which columns to transform.
Select All Columns is the default mode. It lists every eligible string and categorical column in your dataset. A case selector appears next to each column name.
- Toggle individual columns on or off.
- Set a different case format per column. Each column has its own dropdown.
- Default case for each column is Sentence case. Change it before submitting.
- Columns you leave toggled off are not affected.
Custom mode lets you add column-and-case pairs manually.
- Click Add Column to add a row.
- Select the column from the dropdown (only eligible columns appear).
- Set the case format for that column.
- Add as many pairs as needed.
- Remove any row with the delete button on that row.
Use Custom when you only need to transform a specific subset of columns and do not want to scroll through a long list.
How to Apply Text Case Conversion
Open the Text Case Conversion operation
In your Transform pipeline, click Add Operation and select Text Case from the operation list.
Choose a configuration mode
Select Select All Columns to see all eligible columns at once, or switch to Custom to build your list manually.
Select the columns to transform
In Select All Columns mode, toggle on each column you want to change. In Custom mode, use Add Column to add each column you need.
Only string and categorical columns appear in the list. If a column you expect is missing, it is likely a non-text type (integer, date, boolean) and is excluded by design.
Set the case format for each column
Each selected column has its own case dropdown. Choose from Sentence case, UPPER CASE, lower case, Title Case, or sWaP cAsE. You can apply different formats to different columns in the same operation.
Submit the operation
Click Submit. Edilitics applies the case transformation to every value in each selected column. The columns update in place. A success toast confirms: "Text case transformation applied. Preview now reflects the changes."
Verify in the preview
Check the data preview to confirm the output matches your expectation. If the result is not what you intended, remove the operation and re-add it with the correct settings.
Before and After
Input data with mixed casing across three columns:
| customer_name | sales_rep | notes |
|---|---|---|
alice johnson | MARK CHEN | PRIORITY ORDER - EXPEDITE |
BOB SMITH | sara lee | standard delivery |
Carol White | Tom Brown | Customer requested gift wrap |
After applying: customer_name Title Case, sales_rep Title Case, notes Sentence case:
| customer_name | sales_rep | notes |
|---|---|---|
Alice Johnson | Mark Chen | Priority order - expedite |
Bob Smith | Sara Lee | Standard delivery |
Carol White | Tom Brown | Customer requested gift wrap |
Code Equivalent
If you need to replicate this transformation in SQL or Python:
-- Title Case for names (SQL INITCAP), Sentence Case for notes (UPPER first char + LOWER rest)
SELECT
INITCAP(customer_name) AS customer_name,
INITCAP(sales_rep) AS sales_rep,
UPPER(SUBSTRING(notes, 1, 1)) || LOWER(SUBSTRING(notes, 2)) AS notes
FROM orders;Standard SQL INITCAP is available in PostgreSQL, BigQuery, Snowflake, and Redshift. For sentence case, combine UPPER/LOWER on substrings.
import polars as pl
df = df.with_columns([
# Title Case: capitalize first letter of each word
pl.col("customer_name").map_elements(
lambda s: " ".join(w.capitalize() for w in s.split()),
return_dtype=pl.Utf8
),
pl.col("sales_rep").map_elements(
lambda s: " ".join(w.capitalize() for w in s.split()),
return_dtype=pl.Utf8
),
# Sentence Case: str.capitalize() uppercases first char, lowercases rest
pl.col("notes").str.capitalize(),
])After Save & Preview, the pipeline shows a DQ delta badge on this step - green if the table score improved, red if it dropped. See Data Quality Scoring for how scores are calculated.
After Save & Preview, the pipeline shows a DQ delta badge on this step - green if the table score improved, red if it dropped. See Data Quality Scoring for how scores are calculated.
Operation Reference
Prop
Type
Frequently Asked Questions
Next Steps
Find and Replace
Replace specific text patterns inside string columns after normalizing case.
Merge Columns
Combine customer_name and other fields into a single formatted output column.
Filter
Filter rows by text values now that casing is consistent across the column.
Group By
Aggregate by category columns without duplicate groups from casing differences.
Need help? Email support@edilitics.com with your workspace, job ID, and context. We reply within one business day.
Last updated on
Round Off Values
Control decimal precision on float columns: round to 0–5 decimal places across all columns at once or per-column with different precision. Values are updated in place, no new column created.
String Extract
Extract substrings from a text column using regex capture groups. Each capture group becomes a new string column. Preset patterns for email, URL, phone, date, and number. No code needed.