# Normalize column names
> Supported in: Batch, Faster, Streaming
Normalizes column names to use lower\_snake\_case.
An underscore is inserted at each camel case boundary, all letters are lowercased, hyphens and runs of whitespace become underscores, and periods are removed. Characters that Foundry does not permit in column names (`,;{}()=`, the tab, and newline characters) are always replaced with an underscore, regardless of whether the remove special characters argument is enabled. Consecutive underscores are then collapsed into a single underscore, and any leading or trailing underscore is removed.
**Transform categories**: Data preparation
## Declared arguments
* **Dataset:** Dataset to normalize column names.
*Table*
* *optional* **Remove special characters:** Replaces each run of the characters |@~\`!#$%^&=\*+':"/?>< in a column name with a single underscore. When this argument is disabled (the default), these characters are left unchanged, except for those that Foundry does not permit in column names, which are always replaced with an underscore.
*Literal\*
## Examples
### Example 1: Base case
**Argument values:**
* **Dataset:** ri.foundry.main.dataset.a
* **Remove special characters:** *null*
**Input:**
| recentlyServiced | tailNumber | \_airlineCode |
| ----- | ----- | ----- |
| true | KK-150 | KK |
| false | XB-120 | XB |
| true | MT-190 | MT |
**Output:**
| recently\_serviced | tail\_number | airline\_code |
| ----- | ----- | ----- |
| true | KK-150 | KK |
| false | XB-120 | XB |
| true | MT-190 | MT |
***
### Example 2: Base case
**Argument values:**
* **Dataset:** ri.foundry.main.dataset.a
* **Remove special characters:** true
**Input:**
| recently^Serviced | tail@Number$ | !airline\*Code |
| ----- | ----- | ----- |
| true | KK-150 | KK |
| false | XB-120 | XB |
| true | MT-190 | MT |
**Output:**
| recently\_serviced | tail\_number | airline\_code |
| ----- | ----- | ----- |
| true | KK-150 | KK |
| false | XB-120 | XB |
| true | MT-190 | MT |
***
### Example 3: Edge case
**Argument values:**
* **Dataset:** ri.foundry.main.dataset.a
* **Remove special characters:** *null*
**Input:**
| columnA. | columnB() | column!C | column,;{} D | column()e |
| ----- | ----- | ----- | ----- | ----- |
| foo | bar | fooBar | foo | bar |
**Output:**
| column\_a | column\_b | column!\_c | column\_d | column\_e |
| ----- | ----- | ----- | ----- | ----- |
| foo | bar | fooBar | foo | bar |
***