toolbench.onlineby Valkyron Labs

Converters

Number Formatter

Turn a plain figure into the form a reader expects, with grouping, decimals, currency, or a shorter compact style for the locale you choose.

Number Formatter

Format numbers with thousands separators, decimals, currency, and locales including en-US, de-DE, and sv-SE.

Enter a number to format.

Formatted output

—

Output actions

Ready to copy output once your result appears.

One plain number, one locale, one style

Number Formatter reads one plain number and prints a four-line block: the formatted value, the parsed raw value, the locale tag, and the style name. Grouping and the decimal mark come from Intl for the locale you pick. Decimal places apply to decimal, percent, scientific, and engineering. Currency uses the currency's own fraction digits. Compact uses a long name such as million. Copy output copies the four lines. There is no download.

How to format one number

  1. 1Type into Number. The placeholder is 1234567.89. The box starts empty, and an empty box says Enter a number to format. without replacing a previous success until the next valid parse.
  2. 2Choose Locale and Style. Decimal and en-US are selected on arrival, and Decimal places starts at 2. Currency replaces that box with a currency menu. The other styles keep Decimal places.
  3. 3Read Formatted output. A success says Formatted successfully. A value that does not parse says Please enter a valid number. and clears the block. Copy output copies the four lines from the latest success.

What it is good for

  • • Seeing 1234567.89 as 1.234.567,89 for de-DE before it goes into a document.
  • • Checking that 25 in Percent style is 25.00% in en-US, not 2500%.
  • • Catching a pasted European figure that lost its grouping because commas were stripped first.

Example

Input

1234567.89 with de-DE, Decimal, and 2 decimal places

Output

Formatted:   1.234.567,89
Raw input:   1234567.89
Locale:      de-DE
Style:       decimal

The spaces after each colon are part of the copied block. sv-SE prints the same magnitude with no-break spaces and a comma: 1 234 567,89. en-US prints 1,234,567.89.

What each style prints

The parser trims the field and deletes every comma, then calls parseFloat. 1234567.89 stays 1234567.89. The four lines are Formatted, Raw input, Locale, and Style, padded so the values start in the same column. Decimal with 2 places and de-DE is 1.234.567,89. The same number in en-US is 1,234,567.89. en-IN groups by the Indian pattern, so the formatted line is 12,34,567.89. ja-JP matches the en-US digits for this value. A leading minus is kept, so -1234.5 in en-US with 2 places is -1,234.50. A leading plus is not required. 1e3 parses as 1000 and, with 0 places in en-US, formats as 1,000.

Percent divides your number by 100 and then formats with the percent style, so the digits you typed are the percent. 25 with en-US and 2 places is 25.00%. 0.25 with the same settings is 0.25%, not 25%. de-DE with 0 places prints 25 % with a space before the sign. Scientific notation on 12345 with 2 places in en-US is 1.23E4. Engineering notation on the same input is 12.35E3, because the exponent is forced onto a multiple of three and the two fraction digits then round. Compact ignores the decimal-places box and uses a long label: 1234567 in en-US is 1.2 million, and the same integer in de-DE is 1,2 Millionen.

Locale, style, currency, and decimal places

Locale has six choices: en-US (1,234.56), de-DE (1.234,56), sv-SE (1 234,56), fr-FR (1 234,56), ja-JP, and en-IN (1,23,456). The menu labels show the pattern. The tag written on the Locale line is the value, such as de-DE, not the parenthetical example. Style has Decimal, Currency, Percent, Scientific, Engineering, and Compact. Changing a menu updates the block immediately. There is no Format button.

Currency hides Decimal places and offers USD, EUR, GBP, JPY, CHF, AUD, CAD, INR, or SEK. Fraction digits follow the currency. 1234567.89 as USD in en-US is $1,234,567.89. The same magnitude as EUR in de-DE is 1.234.567,89 €. 1234567 as JPY in ja-JP is ¥1,234,567, with no fraction digits, even though the decimal box is hidden rather than set to 0. Decimal places accepts 0 through 20. A blank box lets Intl choose. 21 is treated as 20, so 1.2 prints with twenty zeros after the point. A negative entry is treated as 0, so 1.2 prints as 1 in en-US decimal.

When a display form is the point

Use this page when you have one magnitude and you need the grouping, the currency symbol, or the compact word a reader in that locale expects. A spreadsheet that already calculated 1234567.89 can be checked here before it is pasted into a German invoice or a Swedish report. The Raw input line is the number after the comma strip, which is the value that was actually formatted. If that line is not the magnitude you had in mind, the formatted line is not either.

A unit change, such as kilograms to pounds, is the unit converter. This page does not convert scales. A binary or hex spelling of an integer is the number base converter. A Unix time is the timestamp converter. The byte length of the formatted text, if a cookie or a header must hold it, is the byte size calculator. None of those pages apply a locale grouping pattern.

Commas you typed, and spaces that are not spaces

Commas are removed before the parse, so an en-US figure you copied, such as 1,234.56, still parses as 1234.56 and formats again as 1,234.56 with 2 places. A de-DE figure you copied, such as 1.234,56, loses the comma and becomes 1.23456, which with 2 places in de-DE prints as 1,23. The click still succeeds. 1.234.567 is worse: parseFloat stops at the second dot, the raw line is 1.234, and 2 places print 1.23. Type a plain number with a dot as the decimal mark, or an en-US comma as a thousands separator. Do not paste a European-grouped string and expect the grouping to be understood.

sv-SE grouping uses U+00A0, a no-break space, not a space you can type with the space bar. fr-FR grouping uses U+202F, a narrow no-break space. Both look like gaps in the formatted line. A later search for a normal space will miss them, and a CSV join can treat the no-break space as part of the token. The status line does not warn about that. An empty Number box says Enter a number to format. and clears the block. Letters, or a second dot that leaves nothing parseable at the start, say Please enter a valid number.

Rules and limitations

One field, commas deleted, then parseFloat. Locales: en-US, de-DE, sv-SE, fr-FR, ja-JP, en-IN. Styles: decimal, currency, percent, scientific, engineering, compact. Decimal places 0–20 apply except for currency, which uses the currency's digits, and compact, which uses a long name.

Percent formats the typed number divided by 100, so 25 displays as 25%. The output is four labeled lines. Copy output copies them. There is no download. An empty box or a failed parse clears the block.

Common problems

If a European paste collapsed to a number near 1, the commas were deleted and a second dot ended the parse. Retype the magnitude with a dot as the only decimal mark.

If a Swedish or French line will not match a search for spaces, the grouping character is U+00A0 or U+202F. If Percent showed 0.25% when you wanted 25%, type 25. The style does not multiply a fraction you already scaled.

Frequently asked questions

Why did 1.234,56 become about 1.23?

Commas are removed before parsing, so 1.234,56 becomes 1.23456. With 2 decimal places in de-DE that prints as 1,23. Type 1234.56 if the magnitude is one thousand.

Does 25 in Percent style mean 25%?

Yes. The typed number is divided by 100 and then formatted as a percent, so 25 with 2 places in en-US is 25.00%. Typing 0.25 produces 0.25%.

Which styles ignore Decimal places?

Currency uses the currency's own fraction digits, and the box is hidden. Compact uses a long label such as million and does not read the box. The other four styles clamp the box to 0–20.

Why does a Swedish number contain an odd space?

sv-SE grouping is a no-break space, U+00A0. fr-FR uses a narrow no-break space, U+202F. They look like gaps and they are not the space-bar character.

Is my input uploaded or saved?

This tool processes input in your browser and does not save its input or output to local storage. Copy and download are user actions. The site uses analytics for page and action metadata and may use ads and production error reporting; see the Privacy Policy for those services.

About this tool

Maintained by Toolbench. For large or deeply nested files, split the input into smaller batches and verify representative results before using them in an import or application. Report reproducible problems through Contact.

Next steps

Related tools

Continue the workflow with nearby tools for formatting, publishing, debugging, or follow-up checks.

Trust

Policies, contact, and answers

Clear pages for how Toolbench works, what we collect, and how to reach us.