Convert Text to Number is a free tool to convert text to number in Excel workbooks, turning the numbers stored as text on one sheet or all of them into real numbers, in place, in your browser, while ZIP codes and long IDs stay text. The usual file is an export from an accounting system or bank portal where the Amount column arrives as text: the cells show 1,234.50, carry a green triangle, and =SUM(D2:D845) comes out short or at 0.
How to convert text to number in Excel with this tool
- Drop an .xlsx or .xlsm file of up to 50MB on the box, or click to browse. The file is edited in your browser and never uploaded.
- Pick the decimal separator the text uses: point (1,234.50, the default) or comma (1.234,50 or 1 234,50). With several sheets, keep "All sheets" or pick one. Hidden sheets are included.
- Read the preview. It shows how many cells would become numbers on each sheet, and up to 12 of them with the text now and the number as it will show.
- Check "Left as text unless you tick them". Columns of values that start with a zero, or that someone marked as text on purpose, wait there. Tick a column to convert it anyway.
- Click "Convert N cells", then "Download .xlsx" ("Download .xlsm" for a macro-enabled file, which keeps its macros). amounts.xlsx comes back as amounts (xlsx.com).xlsx.
The download is your own workbook with only the converted cells changed.
What converts, and the format it gets
The tool reads amounts the way people type and export them, with separators, symbols and signs. A converted cell formatted as General or Text gets the number format the text was written in:
| Text in the cell | Becomes | Number format |
|---|
| 1234.50 | 1234.5 | General |
| 1,234.50 | 1234.5 | #,##0.00 |
| $1,234.50 | 1234.5 | $#,##0.00, negatives red in brackets |
| 12% | 0.12 | 0% |
| 12.5% | 0.125 | 0.00% |
| 450012345678 | 450012345678 | 0 |
Currency symbols count before or after the number: $, €, £, ¥, ₹, ₩ and nine more, so 1,234.50 € and £99 both convert. Negatives come in three spellings, and all of them work: -$5, (1234) and the trailing minus, 1234-, which SAP and some banks export. Spaces around the value are ignored, non-breaking ones included, so text pasted from a web page doesn't need trimming first.
That last table row matters for order numbers and account IDs. A whole number of 12 to 15 digits in a General cell shows as 4.50012E+11; the tool gives it the format 0 so it shows in full.
A cell that was formatted as Text becomes General, so the next value typed into it is a number too. A cell that already had another number format keeps it.
Formulas, charts, pivot tables, comments and every other part of the file keep their exact bytes, and no document properties are added. Excel recalculates the workbook when you open it, so a SUM or lookup that skipped the text cells shows the new total straight away. We checked the output in Excel for Mac: it opens without a repair prompt, and every converted cell returns TRUE for =ISNUMBER() with the intended format.
Converting without losing leading zeros
The tool leaves any value whose whole-number part starts with a zero (02134, 00123, 0123.5) as text, and lists those values by column with examples. Tick the column and it converts, and the page tells you the zero will go. 0.5 is not held.
Excel's own fixes have no such check. Select a column of ZIP codes and choose Convert to Number, and 02134 becomes 2134. Paste Special Multiply does the same, and so do Text to Columns and =VALUE(). Nothing warns you, and once the file is saved the zeros are gone.
Two other kinds of text are held back the same way, because someone chose them:
- Values typed with a leading apostrophe, like '123. Converting one also removes the apostrophe marker.
- Ranges where someone clicked Ignore Error on Excel's "Number stored as text" warning.
Long numbers are a separate case. Excel keeps 15 significant digits, so a 16-digit card number converted to a number ends in 0, and an 18-digit order ID loses its last three digits. Anything over 15 digits stays text, and the page says why.
Decimal commas and European files
Pick "Comma" as the decimal separator and the tool reads European amounts: a point, a space or a non-breaking space groups thousands, so 1.234,50 and 1 234,50 both become 1234.5. If more cells would convert under the other separator than under the one you picked, the page says so and suggests switching.
The choice matters because the same text means different numbers in different countries. In a US file, 1.234 is one and a bit; in a German one, it's one thousand two hundred and thirty-four. That is also why VALUE, multiplying by 1 and Paste Special all fail on 1.234,56 in US-English Excel: they read the text with your own settings.
Grouping has to be regular, in threes. Text that could be read two ways stays text: with a point decimal, 1,23 and 1 234 and 1.234,56 are left alone, as Excel leaves them. A file that mixes both conventions needs two runs, one sheet each.
In Excel, the fix for one column is NUMBERVALUE, which takes the separators as arguments:
=NUMBERVALUE(A2,",",".") // text, decimal separator, group separator
Converting text to numbers in Excel without the tool
For one clean column, Excel's own routes work fine:
- Convert to Number. Select the cells, click the warning icon or press Alt+Shift+F10, and choose Convert to Number. It only appears when background error checking is on (File > Options > Formulas).
- Text to Columns. Select one column, then Data > Text to Columns > Finish. The same click fixes a trailing minus: "Trailing minus for negative numbers" (under Advanced in step 3) is on by default, so 1234- comes out as -1234 unless someone has turned it off.
- Paste Special. Copy a cell holding 1, select the text numbers, then Home > Paste > Paste Special > Multiply.
- A helper column.
=VALUE(A2) or =A2*1, filled down, then copied and pasted back with Paste Values.
Changing the cell format to General on its own does nothing to values already there. Each cell has to be re-entered.
Every one of these works on one range, on one sheet, and converts everything in it. On a 30-sheet workbook with a ZIP column next to the amounts, that is a lot of careful selecting. Stay in Excel when new rows keep arriving (a VALUE column converts each one as it lands), or when the text is dates, times or scientific notation like 1.5E3: Excel converts those when typed, and this tool leaves them as text.
Limits
- Formulas are never changed. The page counts formulas that return a number as text. Wrap them in
VALUE() in Excel.
- Some text is left alone. Excel table header and totals cells and pivot table source headers stay text, since other parts of the file use that text as a column name. So does text with phonetic guides.
- Protected sheets are skipped. Remove the protection with Unprotect Sheet and run the file again.
- No column picker. Apart from the held-back columns, every number stored as text on the chosen sheets converts.
- One decimal separator per run.
- Some notations stay text. Scientific notation (1.5E3), dates (2026-01-05) and times (3:00) stay text, though Excel converts them when typed. So does 1/2, which Excel would turn into the date 2 January, not 0.5. Currency codes in letters (USD 5, 5 EUR) and the apostrophe thousands separator (1'234) stay text too.
- .xlsx and .xlsm only, up to 50MB. A legacy .xls is refused; open it in Excel and save it as .xlsx first.
Trim Spaces leaves " 1234 " as the text "1234"; this tool converts it with or without the spaces, so there's no need to trim first. After CSV to Excel, dollar amounts and bracketed negatives arrive as text, and this tool converts them. The Workbook Audit flags plain numbers stored as text too, alongside broken formulas and hidden sheets.
Questions
How do I convert text to number in Excel without losing leading zeros?
Convert only the amount columns and leave the codes as text. Convert to Number, Paste Special Multiply, Text to Columns and VALUE all turn 02134 into 2134, and Excel gives no warning first. This tool holds back any column of values starting with a zero until you tick it.
Why does Excel change the last digit of my number to 0?
Because Excel keeps only 15 significant digits, and the 16th becomes 0 the moment the value is a number. Card and account numbers belong in text: type them with a leading apostrophe, or format the column as Text before you paste.
Why does my SUM formula return 0 when the cells have numbers?
The numbers are stored as text, and SUM skips text. A cell that shows 1,234.50 but returns FALSE for =ISNUMBER(A2) confirms it.
Why won't Excel convert text to numbers?
The text holds something Excel can't read as part of a number: a hidden character, or the other decimal separator. Text pasted from a web page often ends in a non-breaking space, and VALUE returns #VALUE! on it; =VALUE(SUBSTITUTE(A2,CHAR(160),"")) fixes it, and this tool ignores those spaces. A file from a German system writes 1.234,56, which US-English Excel won't read; =NUMBERVALUE(A2,",",".") names the separators and does.
How do I convert numbers with a minus sign at the end in Excel?
Select the column and run Data > Text to Columns > Finish. Trailing minus for negative numbers, under Advanced in step 3, is on by default, so 1234- comes out as -1234; open Advanced only if the minus stays put, which means someone turned it off.
How do I get rid of the green triangle for number stored as text?
Select the cells, click the warning icon (or press Alt+Shift+F10) and choose Convert to Number. For ZIP codes and other values that should stay text, pick Ignore Error; this tool then holds that range back unless you tick its column.