TO_TEXT converts numbers to text while retaining their existing number format. Dates, currencies and percentages can therefore become formatted strings without a separate format code.
TO_TEXT function syntax
=TO_TEXT(value)
- value: numeric input or a reference.
- Nonnumeric input is returned unchanged according to Google’s reference.
Set up the example data
Enter this small dataset starting in A1. The first row contains headers. Keep the formula output separate from the input cells.
| Value |
|---|
| 123 |
| 45.6 |
| TRUE |
| 0.87 |
| Already text |
For the formatted examples, apply currency formatting to A3 and percentage formatting to A5. The screenshot shows their displayed values; their underlying numbers remain 45.6 and 0.87.
Convert a number to text
Enter this formula in A10. The result looks like 123 but is a text value. ISTEXT is a more reliable type check than alignment, which can be manually changed.
=TO_TEXT(A2)
Result: 123.

Verify the output type
This returns TRUE for the converted number. Use ISNUMBER when you need the opposite check.
=ISTEXT(TO_TEXT(A2))
Result: TRUE.
Check the type when converting logical values
Our September 2026 test converted TRUE to text: TYPE returned 2. Google’s reference says nonnumeric inputs are returned unchanged, so this observed behavior differs from the documentation.
=TYPE(TO_TEXT(A4))
Result: 2.
Join a quantity to a unit
The ampersand joins the converted number and the label. TO_TEXT is useful when you want an existing numeric format included; ordinary concatenation may use a different representation.
=TO_TEXT(A2)&" units"
Result: 123 units.
Convert a calculation
The multiplication runs before conversion. This produces text containing 87, without automatically adding a percent sign.
=TO_TEXT(A5*100)
Result: 87.
Use an explicit date format
Use TEXT for a specified output layout. TO_TEXT on a date-formatted cell preserves that cell’s display; on a plain serial it returns the serial as text.
=TEXT(DATE(2026,1,15),"yyyy-mm-dd")
Result: 2026-01-15.
Understand numeric-text coercion
Some arithmetic operators coerce numeric text back to a number. The blanket claim that all later math fails is incorrect. Use VALUE when you want conversion to be explicit.
=TO_TEXT(123)+1
Result: 124.
Preserve a currency display
Format A3 as currency with two decimal places first. TO_TEXT keeps the displayed dollar symbol and trailing zero in the returned string. Currency formatting alone does not convert between currencies.
=TO_TEXT(A3)
Result: $45.60.
Preserve a percentage display
Format A5 as a percentage first. Its numeric value is 0.87, while the returned text is 87%. Changing the source format can change the text produced.
=TO_TEXT(A5)
Result: 87%.
Other Google Sheets articles you may also like