← InboxTheme development, Module 1, lesson 10, 6 min
Show the currency code alongside the price How this works
You're in Amsterdam, looking at a coffee priced $18.99. USD? CAD? AUD? Five currencies rendered identically. Doubt sends you to the footer. Doubt sometimes sends you to abandon the cart.
Shopify ships three money filters. Same input (cents as an integer), different output strings:
{{ 1899 | money }}
{# -> "$18.99" (uses the shop's money_format) #}
{{ 1899 | money_with_currency }}
{# -> "$18.99 USD" (appends the ISO code) #}
{{ 1900 | money_without_trailing_zeros }}
{# -> "$19" (drops .00 when cents are zero) #} money_with_currency is the safer default for carts, confirmations, anywhere a customer in a different market might land. Single-market shops pay a few extra letters; multi-market shops never confuse currencies.
Never concatenate manually ( {{ price | money }} {{ cart.currency }}). The shop's format string handles spacing and position; some locales put the code before the amount. Why this matters in production ▾ Northwind sells internationally. A visitor in Canada needs to see whether `$18.99` means CAD or USD before they hit Checkout. Any cart, order-confirmation email, or PDP that ships in a multi-market store uses `money_with_currency` somewhere.