Master Currency Formatting in Tableau: From Basic Steps to Custom Displays

If you want the fastest answer to how to change number to currency in Tableau, it usually takes just a few clicks:

If you want the fastest answer to how to change number to currency in Tableau, it usually takes just a few clicks:

  • In Tableau Desktop: right-click the measure, number in the view, or axis, choose Format, open the Numbers dropdown, and select Currency (Standard) or Currency (Custom).
  • If you want the format to follow the field across worksheets: right-click the field in the Data pane and choose Default Properties > Number Format.
  • In web authoring: format the measure in the view, typically from the pill on the Marks card, because field-level defaults may not be exposed the same way.

That quick path solves most cases. The part that usually trips people up is not whether Tableau supports currency formatting, but where you apply it, which format type you choose, and when a worksheet override is taking precedence over a field default.

This guide walks through the full workflow for Tableau Desktop and web authoring, then goes further into custom display units, international currency symbols, format-code tricks, and the common reasons a currency format seems to “disappear.”

Number Formatting Basics in Tableau

Tableau supports several built-in number display types, including Automatic, Number (Standard), Number (Custom), Currency (Standard), Currency (Custom), Percentage, and Scientific. You can access them by right-clicking a number in the view or on an axis, choosing Format, and then using the Numbers dropdown in the Format pane. Tableau documents this number-formatting workflow for Tableau Cloud, Tableau Desktop, and Tableau Server in its help on formatting numbers and null values: Tableau Help: Format Numbers and Null Values

For currency formatting, the most important distinction is simple:

Format type Best when you want What Tableau controls
Currency (Standard) A quick, locale-based result Currency symbol and overall currency pattern based on the selected locale
Currency (Custom) A very specific visual style Decimal places, negative values, display units, prefix/suffix, and thousands separators

In practice, Currency (Standard) is the fastest option when you want Tableau to handle the symbol and local pattern for you. Currency (Custom) is better when you want a deliberate display such as $1.2M, CHF 25,000, or ($4,320.00).

It also helps to understand that Tableau formatting depends on where the value appears. Tableau authors often think of these display areas as formatting zones: the Pane controls values shown inside the view, while Axis and Header control shelf-driven text. Continuous pills produce axes, and discrete pills produce headers, so the same field can look correct in one place and wrong in another until you format the right zone. Playfair Data’s explanation of Tableau formatting zones is useful for this mental model: Playfair Data: Tableau Formatting Series — How to Format Numbers and Dates

A practical rule of thumb:

  • Use a field default when the measure is inherently monetary and should usually appear as currency.
  • Use the Format pane when only one worksheet, axis, label, or header needs a special treatment.
  • If both exist, the view-level format overrides the default.

That last point explains a lot of “Tableau ignored my formatting” moments.

A few common reasons currency formatting does not seem to apply:

  • You formatted the Pane, but the plain numbers you still see are on the Axis or Header.
  • A worksheet-level format is overriding the field’s default number format.
  • You converted the number into a string, which breaks Tableau’s normal numeric display formatting.
  • The issue is actually about null or special values, which Tableau handles separately from ordinary number formatting in the Format pane, and special-value formatting does not apply to dimensions or discrete measures.

Once you understand those basics, the rest of the workflow becomes much easier.

Step-by-Step: Currency Formatting in Tableau Desktop

In Tableau Desktop, the fastest way to format a measure like SUM(Sales) as currency is to work directly from the field you are already using in the view. A common example uses the built-in Sample - Superstore data: right-click the SUM(Sales) pill, open Format, and change the number style from there. That workflow is also demonstrated in The Data School’s Sample Superstore walkthrough: The Data School: Quick currency formatting trick

Here is the basic Desktop workflow:

  1. Add your measure to the view, such as SUM(Sales).
  2. Right-click the number in the view, the axis, or the measure pill.
  3. Select Format.
  4. In the Format pane, choose the correct target area: - Pane for values shown inside the view, including many mark labels - Axis for continuous-axis displays - Header for discrete shelf displays
  5. Open the Numbers dropdown.
  6. Choose: - Currency (Standard) for locale-based currency formatting - Currency (Custom) for manual control

If your goal is just to make sales, revenue, profit, or cost look like money, start with Currency (Standard). It is usually enough.

If you need a more polished business display, choose Currency (Custom) and adjust the options Tableau exposes:

  • Decimal places for cents or rounded whole-dollar values
  • Negative values using a minus sign or parentheses
  • Units such as thousands or millions
  • Thousands separators
  • Prefix and suffix

That lets you move from a raw number like 1234567.89 to something more readable, depending on the audience:

  • $1,234,567.89
  • $1.23M
  • ($1,234,568) if you want rounded negatives in finance-style notation

This is also where context matters. Executive KPI cards often benefit from abbreviated values, while detailed finance tables usually need full precision.

One of the most common Tableau frustrations happens right here: you format the labels and the axis still shows plain numbers. That usually means you formatted the Pane but not the Axis. The same measure can legitimately have different formatting in different zones, so you have to target the exact location where the viewer sees the text.

A useful troubleshooting checklist for Desktop:

  • Labels wrong, axis right? Format the Pane.
  • Axis wrong, labels right? Format the Axis.
  • Headers still plain? Format the Header zone.
  • Everything changed except one worksheet? That worksheet probably has its own override.
  • Nothing seems to work? Check whether the field has been converted into text inside a calculated field.

If you are formatting several marks at once, it is often worth scanning the whole worksheet after the change.

Setting Default Number Formats for Fields

If you repeatedly use fields such as Sales, Profit, Revenue, or Budget, setting a default number format is usually the cleanest long-term solution. In Tableau, you do that from the Data pane by right-clicking the field and choosing Default Properties > Number Format. Tableau also states that the default format is saved with the workbook and exported with the connection information: Tableau Help: Format Numbers and Null Values

This is generally the best choice for measures that are inherently monetary, including:

  • Sales
  • Profit
  • Revenue
  • Cost
  • Budget
  • Discount amount

Once the default is set, new worksheets that use that field start with the currency format already applied. That helps prevent a dashboard where one sheet shows $12.4M, another shows 12400000, and a third shows $12,400,000.00 purely because three different authors formatted the same measure three different ways.

The hierarchy is straightforward:

  1. Field default for broad consistency
  2. Worksheet override when a specific view needs something different

That means a workbook can stay consistent overall while still allowing exceptions. For example, one worksheet might show Sales as $12.4M on a KPI card, while another shows $12,432,118.47 in a detailed table.

A second practical trick is learning custom format syntax from Tableau itself. Many authors choose a built-in format first, then switch to Custom to inspect or edit the code Tableau generated. That “start with a standard format, then refine it” approach is also highlighted in Tableau formatting guidance from Playfair Data, and it is much easier than trying to memorize format codes from scratch.

Currency Formatting in Tableau Online and Web Authoring

In browser-based authoring, the general idea is the same: format the measure from the view you are editing. Tableau’s help for web authoring includes number-format options such as Currency (Custom) for view-level formatting, while a community answer from February 2022 describes a common Tableau Online workflow: drag the measure to the Marks card, right-click the pill, choose Format, then select a currency option and set the number of decimal places you want. That community-reported workflow is documented here: Trailhead Community: How do you change number format to currency in Tableau Online?

A practical web-authoring path looks like this:

  1. Add the measure to the view.
  2. Right-click the measure pill on the Marks card.
  3. Choose Format.
  4. Set the number format to a currency option.
  5. Adjust decimals and any visible custom settings for that worksheet.

The important caveat is about field defaults. In that same 2022 Tableau Online discussion, the responder noted that they did not see the same Default Properties > Number Format capability available in the browser that Desktop users expect. Because that evidence comes from a community thread rather than official release notes, the safest phrasing is: this was community-reported in 2022, and you should verify the controls in your specific Tableau Cloud or Server version.

In practical terms, the difference looks like this:

Environment Most convenient approach
Tableau Desktop Set field defaults for reusable monetary fields, then override only where needed
Web authoring Expect more view-level formatting from the worksheet you are editing

That is not necessarily a problem. Many teams publish dashboards that already have their monetary fields standardized in Desktop, then make smaller worksheet-level tweaks in the browser later.

Customizing Currency: Decimals, Units, and Symbols

For most business dashboards, Currency (Custom) is the sweet spot. It gives you much more control than Currency (Standard) without forcing you into calculated-field workarounds.

With custom currency formatting, Tableau can control:

  • Decimal places
  • Negative value style
  • Display units such as thousands or millions
  • Thousands separators
  • Prefix
  • Suffix

That covers a lot of common display needs:

  • $1,234.56
  • $1.2K
  • $3.4M
  • €850K
  • CHF 25,000
  • ($9,400)

If the built-in controls are still not enough, Tableau also supports Excel-style custom number format syntax, with some limitations. Longstanding Tableau references show patterns such as $#,##0.00 for a two-decimal currency display and #,##0,,.00M for a value scaled to millions with an M suffix, while also noting that Tableau does not support Excel-style color codes, conditional comparisons, or repeated fill characters in the same way: Clearly and Simply: Tableau Custom Number Formats

A few useful patterns:

  • $#,##0.00 → full currency with cents
  • $#,##0 → whole-dollar display

That syntax matters because it lets you do things the standard dropdown cannot express as neatly. For example, you can use prefixes and suffixes to add business context without changing the underlying number, or use commas in the format code to scale a display down by thousands or millions.

You can also use semicolon-separated sections to define separate formats for positive, negative, and zero values. That is especially useful in finance-style tables where negative values should stand out with punctuation rather than color. Examples include:

  • -$1,234
  • ($1,234)

Or, if you want more text context:

That kind of formatting can be effective in text tables and labels, but there is a tradeoff: maintainability. A short custom code such as $#,##0.00 is easy for another analyst to understand. A long three-part format with text labels, scaling, and punctuation becomes much harder to decode later.

A good practical rule:

  • If the built-in Currency (Custom) controls can do it, use them.
  • If you need a consistent specialized pattern across a view, use a custom code.
  • If the formatting logic itself must change by value or by parameter, move up to a calculation.

Also remember that operating-system regional settings can influence separators such as commas and periods. So a custom pattern can look slightly different across environments even when the code itself is identical.

International Currencies and Locale Selection

If you need a currency outside the usual dollar-or-pound pattern, Currency (Standard) is often the fastest and safest choice because Tableau uses locale-based symbols and formatting rules. A simple example uses the Sample Superstore data: right-click SUM(Sales), open Format, choose the Pane tab, switch the Numbers dropdown to Currency (Standard), and search for a country such as Egypt to pull the built-in currency display. That workflow is demonstrated here: The Data School: international currency formatting example

This approach has two big advantages:

  1. You do not need to search the web for a symbol and paste it manually.
  2. Tableau can apply the broader local currency pattern, not just the symbol itself.

The Egypt example also highlights an important nuance: some locales can return non-Latin numerals. In that case, the display may be technically correct for the locale but less readable for your intended audience. A practical fix is to start with Currency (Standard) to get the right locale-based symbol, then switch to Currency (Custom) so you can keep the currency style while adjusting the display more directly.

Tableau also allows explicit locale choices when the country-level context matters. For example, Tableau’s help calls out locale-specific selection such as German (Switzerland) when you want Swiss Franc formatting.

One more subtlety: thousands separators and decimal separators can depend on your operating system’s regional settings, not just the Tableau format code. So the same custom pattern may render with commas in one environment and periods in another.

A simple decision tree works well here:

  • Need the correct local currency quickly? Use Currency (Standard).
  • Need the correct symbol but a different numeral style or extra control? Switch to Currency (Custom).
  • Need a highly standardized multilingual display across many audiences? Use custom currency formatting carefully and test it in the environment where viewers will actually consume the workbook.

Advanced: Dynamic Units and Custom Syntax Tricks

Tableau’s native number formatting is strong when the rules are static: always show dollars, always use millions, always show two decimal places. It is not designed to automatically switch one field between raw dollars, thousands, millions, and billions based on the value of each mark.

That is why analysts often use a two-part calculated-field approach for dynamic units. A common pattern uses thresholds of 1,000, 1,000,000, and 1,000,000,000 to divide the value into K, M, or B, then pairs that with a separate suffix field: Playfair Data: How to Automatically Change Number Units in Tableau

// Normalized Sales
IF SUM([Sales]) >= 1000000000 THEN SUM([Sales]) / 1000000000
ELSEIF SUM([Sales]) >= 1000000 THEN SUM([Sales]) / 1000000
ELSEIF SUM([Sales]) >= 1000 THEN SUM([Sales]) / 1000
ELSE SUM([Sales])
END
// Sales Suffix
IF SUM([Sales]) >= 1000000000 THEN "B"
ELSEIF SUM([Sales]) >= 1000000 THEN "M"
ELSEIF SUM([Sales]) >= 1000 THEN "K"
ELSE ""
END

The usual implementation is:

  1. Put the normalized measure in the view.
  2. Apply currency formatting to that normalized measure.
  3. Display the suffix next to it.

That can produce outputs such as:

  • $950
  • $12.4K
  • $3.8M
  • $1.2B

It is much less reliable in charts where different marks may be normalized at different scales. A label showing $800K next to another showing $1.2M is readable as text, but if the chart is based on differently normalized values, the visual comparison can become confusing or even misleading.

That is the key tradeoff:

  • Static custom syntax is best when the entire view should share one unit, such as millions across an executive dashboard.
  • Dynamic calculations are best when values vary so widely that a single unit would make some labels unreadable.

For static scaling, custom format syntax can be simpler than calculations. Tableau supports several useful ideas from classic number formatting:

  • Commas can scale the display down by thousands or millions
  • Prefixes and suffixes can add symbols or labels
  • Semicolons can separate positive, negative, and zero formats

That means a whole dashboard can consistently show one field in millions with a pattern like #,##0,,.00M, while another dashboard shows the same measure in full currency.

If you go dynamic, document the calculation clearly. Without comments, a future editor may see only a field called “Normalized Sales” and miss the fact that every mark could be using a different unit.

Handling Currency in Strings and Calculated Fields

One of Tableau’s least intuitive behaviors appears when you turn a number into text. Once you use STR() or concatenate a measure into a sentence, the measure stops behaving like a formatted number and starts behaving like a plain string. Community examples show currency formatting disappearing in exactly this situation, so a value that displayed as $651,226.00 in the view could turn into an unformatted numeric string when combined with text: Trailhead Community: String with number formatted as currency

For example:

"This period's sales: " + STR(SUM([Sales]))

That will not preserve the field’s display formatting automatically.

The workaround is to build the formatted output manually with string functions such as:

  • STR()
  • LEN()
  • LEFT()
  • RIGHT()
  • FIND()
  • ROUND()

That approach works, but it becomes tedious quickly because you have to insert commas, decimals, and symbols yourself. In community examples, authors use conditional logic based on string length to decide where commas should go, then add the currency symbol and decimals manually.

In some live-connection scenarios, authors also use RAWSQL_STR() to push currency formatting down to the database, for example through a database-side formatting function. But that depends on the underlying database and is not available for extracts, so it is best treated as a situational workaround rather than a general Tableau feature.

A related issue appears when the same displayed metric sometimes needs to be currency and sometimes a percentage, often because of a parameter switcher. Tableau has built-in field formatting, but it does not natively let one field behave as currency in one branch and percentage in another branch at the same moment. A commonly described workaround is to return formatted strings from a calculated field instead, so one branch outputs a monetary label and another outputs a percent label. That approach is outlined in a parameter-driven example using Sample Superstore here: Multiple number format types of the same field in Tableau

The downside is important: once the result becomes a string, you lose many of the benefits of keeping the field numeric, including cleaner chart behavior and simpler sorting.

That leads to a strong best practice:

  • Keep measures numeric as long as possible.
  • Use Tableau’s display formatting whenever possible.
  • Use string-building only when the number must literally be part of a sentence or mixed-format label.

If a value can remain numeric, let Tableau format it. If you force it into text, you take over the formatting job yourself.

The same principle helps with troubleshooting. If a currency display unexpectedly vanishes, ask these questions in order:

  • Is the value still numeric, or did a calculation convert it to text?
  • Am I formatting the right zone: Pane, Axis, or Header?
  • Is a worksheet-level override replacing the field default?
  • Is this a locale issue rather than a currency issue?
  • Am I trying to make one field behave like two different number types?

For most use cases, Tableau’s built-in Currency (Standard) and Currency (Custom) options are enough. Calculations and string workarounds are powerful, but they should be the exception, not the starting point.

What’s the difference between Currency (Standard) and Currency (Custom)?

Currency (Standard) uses the selected locale to determine the currency symbol and general pattern. Currency (Custom) lets you control the display yourself, including decimal places, negative values, units, separators, and prefix or suffix. Use Standard when you want Tableau to follow locale conventions; use Custom when you need a specific look.

Can I format currency workbook-wide?

That default follows the field across worksheets, but a worksheet-specific change in the Format pane can still override it for one view. For reusable monetary measures, field defaults are usually the best starting point.

How do I handle non-English numerals in currencies?

A practical approach is to start with Currency (Standard) so Tableau gives you the correct locale and symbol. If that locale displays numerals that are not right for your audience, switch to Currency (Custom) and refine the display while keeping the currency context.

Does currency formatting work in Tableau exports?

Tableau states that a field’s default number format is saved with the workbook and exported with the connection information. If export appearance matters to a deliverable, the safest operational habit is still to test the specific export workflow you use most often.

Why can’t I use Default Properties in Tableau Online?

The best-supported answer from the supplied evidence is that this was community-reported as missing in Tableau Online in February 2022.

Drop to create a new dataset CSV, TSV, or Excel
Uploading...

Upload your own dataset

Explore any CSV with AI insights, charts & filters. Free, no account needed.