We still need a simple TITLE CASE (PROPER) function alongside UPPER and LOWER

Users have been calling for a simple TITLE CASE / PROPER function since 2016.

And I know, there is @Bill.French’s wonderful script - Field Tweaker - that allows you to reformat a field as either UPPER, LOWER, or TITLE CASE.

However, the script doesn’t work when the field is a computed field, as it is in my case.

The fields I need text formatting control over are computed from different sources. I need versions of those fields that are UPPER CASE - which is easily achieved via the UPPER() function - but I also need TITLE CASE versions (for reasons I don’t want to bore anyone with).

Again, if there was a standard PROPER() function in Airtable, this would be a piece of cake.
I am sure I am not alone with this request.


100% Agreed!

I ended up working around the issue you are encountering with the calculated field by creating an automation that would take my calculated field & re-enter it in another field as plain text - I then use Field Tweaker to Proper Case my entries. The problem with this is that I am then waiting for the script to be applied across 10,000+ lines, rather then the formula tackling it from the start.

Very much needed! 80 views in two weeks, help us Airtable!

I’ll add to the chorus, would love this functionality.

Yes please, I just imported a bunch of data and realize it’s all screwy and need proper caps etc.

@Markus_Wernig @Joe_Svingala @Miles_Mattison @Christopher_Cantrall @Curtis_Gabhart_CCIM you can use the formula below (instead of creating many columns to achieve this):

REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(REGEX_REPLACE(LOWER({YOUR FIELD NAME}), "^a", "A"), "^b", "B"), "^c", "C"), "^d", "D"), "^e", "E"), "^f", "F"), "^g", "G"), "^h", "H"), "^i", "I"), "^j", "J"), "^k", "K"), "^l", "L"), "^m", "M"), "^n", "N"), "^o", "O"), "^p", "P"), "^q", "Q"), "^r", "R"), "^s", "S"), "^t", "T"), "^u", "U"), "^v", "V"), "^w", "W"), "^x", "X"), "^y", "Y"), "^z", "Z"), " a", " A"), " b", " B"), " c", " C"), " d", " D"), " e", " E"), " f", " F"), " g", " G"), " h", " H"), " i", " I"), " j", " J"), " k", " K"), " l", " L"), " m", " M"), " n", " N"), " o", " O"), " p", " P"), " q", " Q"), " r", " R"), " s", " S"), " t", " T"), " u", " U"), " v", " V"), " w", " W"), " x", " X"), " y", " Y"), " z", " Z")

My gosh! Thanks a lot!

That’s impressive, and yet somehow it makes me both happy and sad at the same time.

1 Like

Apologies in advance if any of this doesn’t make sense, I’ve been playing with scripting, automations, and formulas for the past 6 hours.

I’m not sure exactly what your need is for Title Case, but I was determined to fix my issue regarding Title Case using a formula.

One of my bases is an ATS where people fill out an application/pre-screening questionnaire that has separate fields for First Name and Last Name. I was using a CONCANTENATE formula to have a Full Name field, but sometimes applicant’s input their names in all caps or all lower case.

The Formula:
UPPER(LEFT({First Name}, 1)) & LOWER(MID({First Name}, 2, 20)) & " " & UPPER(LEFT({Last Name}, 1)) & LOWER(MID({Last Name}, 2, 20))

I used UPPER to capitalize and LEFT to grab the first letter of the word in the First Name field. I then used LOWER to uncapitalize and MID to start with the second letter of the word in the First Name field. The 20 is probably more characters than I will ever have in that field, but I set it to pull apply to the next 20 letters just in case. Then I used ‘& " " &’ to add a space and then followed the exact same formula to edit the First Name fields and applied it to the Last Name fields.

Depending on your use case, you’ll probably need to edit other fields or formulas, or add/change some parameters, but I hope this is helpful!

1 Like

Thanks so much for this! Now if we can just get a simpler function in Airtable …