← Functions
propertextfunctionsbeginner

Excel PROPER Function

PROPER capitalizes the first letter of each word in a text string and converts the rest of each word to lowercase.

PROPER capitalizes the first letter of every word in a text string and makes all other letters lowercase. It's the function you reach for when a name field, product list, or address column has been typed in all caps, all lowercase, or some inconsistent mix. One thing to know upfront: PROPER capitalizes every word it finds, including ones you'd rather leave alone, like the "S" in a possessive or the "d" in "McDonald."

Available in: Excel 365, Excel 2021, Excel 2019, Excel 2016, and earlier versions. Also works in Excel for the web and Excel for Mac.

Syntax

=PROPER(text)
ParameterRequiredDescription
textYesThe cell reference or text string you want to reformat. Can be a direct string in quotes or a reference to a cell that contains text.

PROPER takes exactly one argument. There's no optional parameter, so there's no default behavior to second-guess here, which makes it one of the simpler text functions to get right on the first try.

Basic Example

Say you've imported a customer list where names are entered inconsistently: "JOHN SMITH" in one row, "jane doe" in the next, "Robert JONES" in a third. You want every name formatted the same way.

=PROPER(A2)

// A2 = the raw name, for example "JOHN SMITH" or "jane doe"

Whatever casing A2 contains, this formula returns "John Smith" or "Jane Doe." PROPER doesn't care whether the source text was all caps, all lowercase, or scrambled. It scans the string, finds the start of each word, and capitalizes just that first letter while lowercasing everything after it.

How PROPER Works

How PROPER decides where a word starts

PROPER capitalizes the character that immediately follows any non-letter character, not just a space. That includes hyphens, apostrophes, periods, and parentheses. So "mary-jane o'brien" becomes "Mary-Jane O'Brien," because the hyphen and apostrophe both count as word breaks.

PROPER only touches letters

Numbers, dates, and punctuation marks pass through untouched. =PROPER("order #4521") returns "Order #4521," not some reformatted version of the number. Spaces and symbols stay exactly where they are.

PROPER converts numeric cells to text

Here's the part people don't expect: if text refers to a cell containing an actual number rather than a number stored as text, PROPER still returns a result, but that result is text. =PROPER(1234.5) returns "1234.5" as a text string, left-aligned in the cell, with any currency symbol, comma separator, or decimal formatting stripped away. PROPER doesn't reformat numbers. It just returns whatever digits it finds as plain text.

PROPER always lowercases the rest

There's no way to tell PROPER "leave this part alone." If your source text has intentional internal capitals, like "iPhone" or "McDonald," PROPER flattens them to lowercase and only recapitalizes the first letter of each word segment. More on exactly how that plays out below.

Common Use Cases

Cleaning up names imported from another system

CRM exports and form submissions rarely arrive with consistent casing. Combine PROPER with TRIM to fix spacing and casing in one pass.

=PROPER(TRIM(A2))

// TRIM(A2) strips leading, trailing, and repeated spaces first
// PROPER then capitalizes the first letter of each remaining word

Standardizing product titles for a catalog

A supplier feed might list "WIRELESS mouse - black" in one row and "wireless Mouse-Black" in another.

=PROPER(B2)

// B2 = raw product title as received from the supplier feed
// returns "Wireless Mouse - Black"

Building a proper-cased full name from separate fields

If first and last names live in separate columns, concatenate them before applying PROPER so the result is consistent regardless of how each field was originally typed.

=PROPER(C2&" "&D2)

// C2 = first name field, D2 = last name field
// the "&" joins them with a space before PROPER reformats the result

Handling Errors

PROPER doesn't generate its own errors under normal use since it only takes one argument and accepts any text or number. The errors you'll actually see are inherited from whatever feeds the formula. If the referenced cell already contains an error, like #N/A from a failed lookup or #REF! from a deleted column, PROPER passes that error through unchanged rather than fixing or masking it.

Common causes of an inherited error:

  • The source cell contains #N/A, #VALUE!, or #REF! from an upstream formula
  • A referenced column or row was deleted, breaking the cell reference
  • The formula points to a cell on a sheet that no longer exists
=IFERROR(PROPER(A2), "Check source data")

Wrap PROPER around the whole cleanup chain, not just the raw value. =PROPER(TRIM(SUBSTITUTE(A2," "," "))) handles double spaces, stray whitespace, and casing in a single formula instead of three separate helper columns.

Notes & Gotchas

Why does PROPER change "McDonald" to "Mcdonald"?

PROPER treats prefixes like "Mc" as part of the same word rather than a separate capitalization unit. Since it only capitalizes the letter immediately after a space or punctuation mark, and there's no space or symbol between "Mc" and "Donald," the "D" gets lowercased along with the rest of the word. There's no built-in fix. You'd need a manual override or a helper list of known exceptions.

Why does PROPER turn "Mike's" into "Mike'S"?

The apostrophe in a possessive counts as a word boundary, exactly like a space or hyphen does. PROPER sees "s" after the apostrophe as the start of a new word and capitalizes it, even though grammatically it isn't one. This is a known limitation with no argument to disable it. If possessive names are common in your data, a SUBSTITUTE-based cleanup after PROPER is the usual workaround.

Does PROPER work with numbers and dates?

PROPER leaves numbers and dates alone if they're already formatted as such, since it only capitalizes letters. But if you apply PROPER directly to a numeric or date cell, the result converts to plain text, which strips any number or date formatting that was applied to the original cell. A date like 3/15/2026 stored as an actual date, run through PROPER, returns a text string instead of a recognizable date value.

Why did my numbers lose their formatting after using PROPER?

This is the same numeric conversion issue from above, worth calling out on its own because it surprises people who assume PROPER only touches text columns. If you accidentally apply PROPER to a column of prices or dates instead of a name column, the output looks like the same digits but behaves as text: it won't sum, sort numerically, or calculate correctly. Check your source column before wrapping it in PROPER.

Can PROPER capitalize only the first word of a sentence?

No. PROPER capitalizes every word it finds, so it can't produce standard sentence case on its own. If you only want the very first letter of a sentence capitalized while the rest stays lowercase, you need a custom formula combining UPPER, LEFT, and MID, since PROPER has no setting to limit its scope to one word.

PROPER has no way to preserve intentional internal capitals. Brand names, prefixes like "Mc" or "O'", and possessives all get flattened and then partially recapitalized in ways that look wrong. Always spot-check a converted column before overwriting your original data, and keep a backup column with the raw text until you've confirmed the results.

Related Functions

FunctionUse this when...
UPPERYou need every letter capitalized, not just the first letter of each word.
LOWERYou need to force text to all lowercase, for matching or comparison purposes.
TRIMYour text has extra or inconsistent spaces that need removing before or alongside casing fixes.