In Magento 2 (Luma child theme) when enabling multiple currencies you get a currency switcher dropdown in the frontend's header.
By default, it shows the currency code followed by the full name,

e.g. GBP - British Pound Sterling.

I want to keep GBP, USD etc.
But remove the rest as I think it's unnecessary, customers can tell the currency from the code.
I am new to Magento 2 and can't find where in the template or layout files this can be changed.

Any idea?

  • Hello @webrightnow, Have you tried my solution ?
    – Pawan
    Mar 19, 2019 at 17:56

2 Answers 2


copy file:




After that you need to remove Currency code.

Code responsible for showing currency code is:

- <?= @$block->escapeHtml($currencies[$currentCurrencyCode]) ?>

Above code will remove active currency code. For other currency code you need to remove:

- <?= $block->escapeHtml($_name) ?>

from li

Before edit:

enter image description here

After Edit:

enter image description here

Hope above will help!


Original FIle path


Override file in your child theme and past below code


<?php if ($block->getCurrencyCount() > 1): ?>
<?php $currencies = $block->getCurrencies(); ?>
<?php $currentCurrencyCode = $block->getCurrentCurrencyCode(); ?>
<?php $id = $block->getIdModifier() ? '-' . $block->getIdModifier() : '' ?>
<div class="switcher currency switcher-currency" id="switcher-currency<?= $block->escapeHtmlAttr($id) ?>">
    <strong class="label switcher-label"><span><?= $block->escapeHtml(__('Currency')) ?></span></strong>
    <div class="actions dropdown options switcher-options">
        <div class="action toggle switcher-trigger"
             id="switcher-currency-trigger<?= $block->escapeHtmlAttr($id) ?>"
            <strong class="language-<?= $block->escapeHtml($block->getCurrentCurrencyCode()) ?>">
                <span><?= $block->escapeHtml($currentCurrencyCode) ?></span>
        <ul class="dropdown switcher-dropdown" data-target="dropdown">
            <?php foreach ($currencies as $_code => $_name): ?>
                <?php if ($_code != $currentCurrencyCode): ?>
                    <li class="currency-<?= $block->escapeHtmlAttr($_code) ?> switcher-option">
                        <a href="#" data-post='<?= /* @noEscape */ $block->getSwitchCurrencyPostData($_code) ?>'><?= $block->escapeHtml($_code) ?></a>
                <?php endif; ?>
            <?php endforeach; ?>
<?php endif; ?>

  • 1
    Thanks, that did it. Trust Magento to hide templates in directories where no newbie developer will ever think to look. "Module-directory"? How does that name in ANY way relate to currency? Why not "Module-currency"? Go figure... Mar 18, 2019 at 16:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.