{
  "slug": "currency-exchange-fee",
  "title": "Currency Exchange Fee Calculator",
  "heading": "Currency Exchange Fee Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/currency-exchange-fee",
  "summary": "What the spread and foreign transaction fee really cost you.",
  "description": "Exchange desks quote a rate worse than the market and then add a fee. This shows the true all-in cost against the mid-market rate.",
  "formula": "Received = amount × offered rate − fees",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=currency-exchange-fee",
  "inputs": [
    {
      "id": "amount",
      "label": "Amount to exchange",
      "kind": "number",
      "hint": null,
      "default": 2000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "mid",
      "label": "Mid-market rate",
      "kind": "number",
      "hint": null,
      "default": 0.92,
      "unit": null,
      "min": 0.0001,
      "max": null
    },
    {
      "id": "offered",
      "label": "Rate you're offered",
      "kind": "number",
      "hint": null,
      "default": 0.885,
      "unit": null,
      "min": 0.0001,
      "max": null
    },
    {
      "id": "fee",
      "label": "Transaction fee",
      "kind": "number",
      "hint": null,
      "default": 1.5,
      "unit": "%",
      "min": 0,
      "max": 10
    },
    {
      "id": "flat",
      "label": "Flat fee",
      "kind": "number",
      "hint": null,
      "default": 5,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "got",
      "label": "Foreign currency received",
      "format": "decimal",
      "hint": null,
      "primary": true
    },
    {
      "id": "lost",
      "label": "Lost to spread and fees",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "pctLost",
      "label": "Total cost (%)",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "ideal",
      "label": "At mid-market rate",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "spread",
      "label": "Rate spread (%)",
      "format": "decimal",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Amount to exchange: 2000 $",
      "Mid-market rate: 0.92",
      "Rate you're offered: 0.885",
      "Transaction fee: 1.5 %",
      "Flat fee: 5 $"
    ],
    "outputs": [
      "Foreign currency received: 1,739.03",
      "Lost to spread and fees: 100.97",
      "Total cost (%): 5.49",
      "At mid-market rate: 1,840",
      "Rate spread (%): 3.8"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter amount to exchange ($).",
      "Enter mid-market rate.",
      "Enter rate you're offered.",
      "Enter transaction fee (%).",
      "Enter flat fee ($).",
      "Read your foreign currency received on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "amount": 1200,
        "mid": 0.552,
        "offered": 0.531,
        "fee": 0.8999999999999999,
        "flat": 3
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "amount": 2000,
        "mid": 0.92,
        "offered": 0.885,
        "fee": 1.5,
        "flat": 5
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "amount": 3200,
        "mid": 1.4720000000000002,
        "offered": 1.4160000000000001,
        "fee": 2.4000000000000004,
        "flat": 8
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "How does the currency exchange fee calculator work?",
      "a": "Exchange desks quote a rate worse than the market and then add a fee. This shows the true all-in cost against the mid-market rate. The underlying maths is: Received = amount × offered rate − fees"
    },
    {
      "q": "What do I need to enter?",
      "a": "5 values: amount to exchange, mid-market rate, rate you're offered, transaction fee, and flat fee. Each field starts with a sensible default, so you can change one number at a time and watch the result move."
    },
    {
      "q": "What does the foreign currency received result mean?",
      "a": "It is returned as a decimal number and updates live as you edit the inputs, so you can compare two or three versions of a scenario in a few seconds."
    },
    {
      "q": "Is this calculator free, and do I need an account?",
      "a": "Yes, it's free, and no account is required. Nothing you type is stored on our servers — the maths runs entirely in your browser."
    },
    {
      "q": "How accurate is the result?",
      "a": "It applies the standard formula exactly, so the arithmetic is precise. Results are estimates before tax, fees, and inflation unless an input explicitly covers them."
    },
    {
      "q": "Who is this tool for?",
      "a": "It's built for anyone comparing money scenarios before committing — budgeting a payment, sanity-checking a quote, or seeing what a change in rate or term actually costs."
    }
  ],
  "related": [],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Currency Exchange Fee Calculator (https://www.revenuelab.fyi/toolbox/currency-exchange-fee)"
}