{"product_id":"currency-calculator","title":"Currency Calculator","description":"\u003cstyle\u003e\n.ccx-calculator {\n  --ink: #0f172a;\n  --muted: #475569;\n  --border: #e2e8f0;\n  --surface: #ffffff;\n  --tint: #f8fafc;\n  --primary: #1d4ed8;\n  --accent: #c2410c;\n  --accent-hover: #9a3412;\n  --chart-1: #1e40af;\n  --chart-2: #0d9488;\n  --chart-3: #7c3aed;\n  --chart-4: #be185d;\n  --chart-5: #334155;\n  color: var(--ink);\n  background: var(--surface);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  box-shadow: 0 1px 2px rgba(15,23,42,.06);\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Arial, sans-serif;\n  font-size: 15px;\n  line-height: 1.55;\n  max-width: 1200px;\n  margin: 0 auto;\n  padding: 24px;\n  width: 100%;\n  overflow-wrap: anywhere;\n}\n.ccx-calculator,\n.ccx-calculator *,\n.ccx-calculator *::before,\n.ccx-calculator *::after { box-sizing: border-box; }\n.ccx-calculator \u003e *,\n.ccx-calculator .ccx-workspace \u003e *,\n.ccx-calculator .ccx-field-grid \u003e *,\n.ccx-calculator .ccx-result-grid \u003e *,\n.ccx-calculator .ccx-chart-cluster \u003e *,\n.ccx-calculator .ccx-education-grid \u003e *,\n.ccx-calculator .ccx-pills \u003e *,\n.ccx-calculator .ccx-toolbar \u003e * { min-width: 0; }\n.ccx-calculator h2,\n.ccx-calculator h3,\n.ccx-calculator p { margin-top: 0; }\n.ccx-calculator h2 { font-size: 24px; line-height: 1.25; font-weight: 700; margin-bottom: 8px; }\n.ccx-calculator h3 { font-size: 18px; line-height: 1.35; font-weight: 650; margin-bottom: 12px; }\n.ccx-calculator a { color: var(--primary); text-underline-offset: 2px; }\n.ccx-calculator a:hover { text-decoration-thickness: 2px; }\n.ccx-calculator button,\n.ccx-calculator input,\n.ccx-calculator select { font: inherit; }\n.ccx-calculator button,\n.ccx-calculator input,\n.ccx-calculator select { min-height: 44px; }\n.ccx-calculator button { cursor: pointer; }\n.ccx-calculator :focus-visible { outline: 3px solid rgba(29,78,216,.35); outline-offset: 2px; }\n.ccx-calculator .ccx-header { border-bottom: 1px solid var(--border); padding-bottom: 16px; }\n.ccx-calculator .ccx-subtitle { color: var(--muted); margin-bottom: 16px; max-width: 820px; }\n.ccx-calculator .ccx-pills { display: flex; flex-wrap: wrap; gap: 8px; }\n.ccx-calculator .ccx-pill { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--border); background: var(--tint); border-radius: 999px; padding: 6px 10px; color: var(--muted); font-size: 13px; font-weight: 500; }\n.ccx-calculator .ccx-pill strong { color: var(--ink); font-variant-numeric: tabular-nums; }\n.ccx-calculator .ccx-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px 0 24px; }\n.ccx-calculator .ccx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 6px; border: 1px solid var(--border); padding: 11px 18px; font-weight: 650; line-height: 1.2; white-space: nowrap; background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgba(15,23,42,.06); }\n.ccx-calculator .ccx-btn:hover { box-shadow: 0 2px 5px rgba(15,23,42,.12); }\n.ccx-calculator .ccx-btn-primary { background: var(--accent); border-color: var(--accent); color: #ffffff; }\n.ccx-calculator .ccx-btn-primary:hover,\n.ccx-calculator .ccx-btn-primary:active { background: var(--accent-hover); border-color: var(--accent-hover); }\n.ccx-calculator .ccx-btn-swap { align-self: start; margin-top: 28px; padding: 10px 14px; min-width: 48px; color: var(--primary); }\n.ccx-calculator .ccx-btn svg { width: 18px; height: 18px; flex: 0 0 auto; }\n.ccx-calculator .ccx-workspace { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }\n.ccx-calculator .ccx-panel,\n.ccx-calculator .ccx-chart-card,\n.ccx-calculator .ccx-table-card { border: 1px solid var(--border); background: var(--surface); border-radius: 8px; padding: 20px; box-shadow: 0 1px 2px rgba(15,23,42,.06); }\n.ccx-calculator .ccx-panel-header { display: flex; align-items: start; justify-content: flex-start; gap: 12px; margin-bottom: 16px; }\n.ccx-calculator .ccx-panel-header p { color: var(--muted); font-size: 13px; font-weight: 500; margin-bottom: 0; }\n.ccx-calculator .ccx-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }\n.ccx-calculator .ccx-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }\n.ccx-calculator .ccx-field-full { grid-column: 1 \/ -1; }\n.ccx-calculator .ccx-label,\n.ccx-calculator .ccx-legend { font-size: 14px; font-weight: 600; color: var(--ink); }\n.ccx-calculator fieldset.ccx-field { border: 0; padding: 0; margin: 0; }\n.ccx-calculator fieldset.ccx-field .ccx-legend { margin-bottom: 6px; }\n.ccx-calculator .ccx-control { width: 100%; border: 1px solid #cbd5e1; border-radius: 6px; background: var(--surface); color: var(--ink); padding: 10px 12px; box-shadow: inset 0 1px 1px rgba(15,23,42,.03); }\n.ccx-calculator .ccx-control:hover { border-color: #94a3b8; }\n.ccx-calculator .ccx-help { min-height: 40px; color: var(--muted); font-size: 13px; font-weight: 500; line-height: 1.45; margin: 0; }\n.ccx-calculator .ccx-error { min-height: 19px; color: #b91c1c; font-size: 13px; font-weight: 600; margin: 0; }\n.ccx-calculator .ccx-pair-row { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 10px; align-items: end; }\n.ccx-calculator .ccx-segmented { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); }\n.ccx-calculator .ccx-segmented label { position: relative; display: flex; align-items: center; justify-content: center; min-height: 40px; border-radius: 4px; padding: 8px 10px; color: var(--muted); font-size: 13px; font-weight: 650; cursor: pointer; text-align: center; }\n.ccx-calculator .ccx-segmented input { position: absolute; opacity: 0; pointer-events: none; }\n.ccx-calculator .ccx-segmented label:has(input:checked) { background: var(--surface); color: var(--primary); box-shadow: 0 1px 2px rgba(15,23,42,.12); }\n.ccx-calculator .ccx-check { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--ink); font-size: 14px; font-weight: 600; cursor: pointer; }\n.ccx-calculator .ccx-check input { width: 18px; height: 18px; min-height: 18px; margin: 0; accent-color: var(--primary); }\n.ccx-calculator .ccx-custom-rate-wrap[hidden] { display: none; }\n.ccx-calculator details.ccx-advanced { grid-column: 1 \/ -1; border-top: 1px solid var(--border); margin-top: 4px; padding-top: 12px; }\n.ccx-calculator details.ccx-advanced summary { cursor: pointer; color: var(--primary); font-weight: 650; padding: 6px 0 12px; }\n.ccx-calculator .ccx-advanced-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }\n.ccx-calculator .ccx-result-hero { background: var(--tint); border: 1px solid var(--border); border-radius: 8px; padding: 20px; margin-bottom: 16px; }\n.ccx-calculator .ccx-result-kicker { color: var(--muted); font-size: 13px; font-weight: 650; margin-bottom: 6px; }\n.ccx-calculator .ccx-primary-result { color: var(--ink); font-size: 30px; line-height: 1.2; font-weight: 700; font-variant-numeric: tabular-nums; margin-bottom: 6px; }\n.ccx-calculator .ccx-result-rate { color: var(--muted); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; margin: 0; }\n.ccx-calculator .ccx-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }\n.ccx-calculator .ccx-result-card { border: 1px solid var(--border); border-radius: 7px; padding: 14px; background: var(--surface); }\n.ccx-calculator .ccx-result-card span { display: block; color: var(--muted); font-size: 13px; font-weight: 600; margin-bottom: 4px; }\n.ccx-calculator .ccx-result-card strong { display: block; color: var(--ink); font-size: 20px; line-height: 1.3; font-weight: 700; font-variant-numeric: tabular-nums; }\n.ccx-calculator .ccx-live { margin-top: 14px; padding: 10px 12px; border-left: 3px solid var(--primary); background: #eff6ff; color: #1e3a8a; border-radius: 0 6px 6px 0; font-size: 13px; font-weight: 600; }\n.ccx-calculator .ccx-section { margin-top: 24px; }\n.ccx-calculator .ccx-chart-intro { color: var(--muted); font-size: 13px; font-weight: 500; margin-bottom: 16px; }\n.ccx-calculator .ccx-chart-cluster { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: center; justify-items: center; max-width: 820px; margin: 0 auto; }\n.ccx-calculator .ccx-plot-wrap { width: 100%; max-width: 520px; min-width: 0; }\n.ccx-calculator .ccx-svg { display: block; width: 100%; height: auto; }\n.ccx-calculator .ccx-chart-empty { display: flex; align-items: center; justify-content: center; min-height: 96px; width: 100%; border: 1px dashed #cbd5e1; border-radius: 6px; background: var(--tint); color: var(--muted); font-size: 13px; font-weight: 600; text-align: center; padding: 16px; }\n.ccx-calculator .ccx-chart-empty[hidden],\n.ccx-calculator .ccx-svg[hidden] { display: none; }\n.ccx-calculator .ccx-legend-wrap { width: 100%; max-width: 360px; }\n.ccx-calculator .ccx-chart-legend { display: grid; gap: 10px; width: 100%; }\n.ccx-calculator .ccx-legend-row { display: grid; grid-template-columns: 12px minmax(0, max-content) minmax(0, max-content); gap: 10px; align-items: center; justify-content: start; color: var(--ink); font-size: 13px; font-weight: 600; }\n.ccx-calculator .ccx-swatch { width: 12px; height: 12px; border-radius: 3px; }\n.ccx-calculator .ccx-legend-value { color: var(--muted); font-variant-numeric: tabular-nums; }\n.ccx-calculator .ccx-chart-caption { margin-top: 16px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); padding: 10px 12px; color: var(--muted); font-size: 13px; font-weight: 500; }\n.ccx-calculator .ccx-safe-stack .ccx-chart-cluster { grid-template-columns: minmax(0, 1fr); row-gap: 24px; }\n.ccx-calculator .ccx-safe-stack .ccx-chart-caption { margin-top: 20px; }\n.ccx-calculator .ccx-chart-data { position: absolute; display: block; width: 1px; min-width: 1px; max-width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; table-layout: fixed; }\n.ccx-calculator .ccx-chart-data th,\n.ccx-calculator .ccx-chart-data td { width: 1px; max-width: 1px; padding: 0; overflow: hidden; }\n.ccx-calculator .ccx-table-overflow { width: 100%; overflow-x: auto; overflow-y: visible; border: 1px solid var(--border); border-radius: 7px; }\n.ccx-calculator table { width: 100%; min-width: 680px; border-collapse: collapse; font-variant-numeric: tabular-nums; }\n.ccx-calculator th,\n.ccx-calculator td { padding: 11px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; }\n.ccx-calculator th { background: var(--tint); color: var(--ink); font-size: 13px; font-weight: 700; white-space: nowrap; }\n.ccx-calculator td { color: var(--ink); font-size: 14px; }\n.ccx-calculator td.ccx-num,\n.ccx-calculator th.ccx-num { text-align: right; }\n.ccx-calculator tbody tr:last-child td { border-bottom: 0; }\n.ccx-calculator tbody tr:hover td { background: #f8fbff; }\n.ccx-calculator .ccx-table-note { margin-top: 16px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); padding: 10px 12px; color: var(--muted); font-size: 13px; font-weight: 500; }\n.ccx-calculator .ccx-safe-table-stack .ccx-table-note { margin-top: 20px; }\n.ccx-calculator .ccx-education { margin-top: 32px; border-top: 1px solid var(--border); padding-top: 24px; }\n.ccx-calculator .ccx-education-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }\n.ccx-calculator .ccx-education p,\n.ccx-calculator .ccx-education li { color: #334155; }\n.ccx-calculator .ccx-education ul { margin: 0 0 16px; padding-left: 22px; }\n.ccx-calculator .ccx-education li + li { margin-top: 8px; }\n.ccx-calculator .ccx-callout { border-left: 3px solid var(--primary); background: #eff6ff; color: #1e3a8a; border-radius: 0 6px 6px 0; padding: 12px 14px; margin: 16px 0; }\n.ccx-calculator .ccx-muted { color: var(--muted); }\n@container (min-width: 640px) {\n  .ccx-calculator .ccx-chart-cluster { grid-template-columns: minmax(0, 520px) minmax(0, 280px); justify-content: center; justify-items: stretch; align-items: end; gap: 24px; }\n}\n@container (min-width: 900px) {\n  .ccx-calculator .ccx-workspace { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); }\n  .ccx-calculator .ccx-education-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n}\n@media (min-width: 900px) {\n  .ccx-calculator { container-type: inline-size; }\n}\n@media (max-width: 639px) {\n  .ccx-calculator { padding: 16px; }\n  .ccx-calculator .ccx-field-grid,\n  .ccx-calculator .ccx-advanced-grid,\n  .ccx-calculator .ccx-result-grid { grid-template-columns: minmax(0, 1fr); }\n  .ccx-calculator .ccx-pair-row { grid-template-columns: minmax(0, 1fr); }\n  .ccx-calculator .ccx-btn-swap { width: 100%; margin-top: 0; }\n  .ccx-calculator .ccx-panel,\n  .ccx-calculator .ccx-chart-card,\n  .ccx-calculator .ccx-table-card { padding: 16px; }\n  .ccx-calculator .ccx-primary-result { font-size: 26px; }\n  .ccx-calculator .ccx-chart-caption,\n  .ccx-calculator .ccx-table-note { margin-top: 16px; }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"ccx-calculator\" data-calculator-root\u003e\n  \u003cheader class=\"ccx-header\"\u003e\n    \u003ch2\u003eCurrency Converter\u003c\/h2\u003e\n    \u003cp class=\"ccx-subtitle\"\u003eConvert between major currencies using an embedded reference-rate table, or enter a direct custom rate for a quote from your bank, card, broker, or exchange desk.\u003c\/p\u003e\n    \u003cdiv class=\"ccx-pills\" aria-label=\"Current conversion summary\"\u003e\n      \u003cspan class=\"ccx-pill\"\u003eRate date \u003cstrong data-ccx-pill-date\u003e10 Jul 2026\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"ccx-pill\"\u003ePair \u003cstrong data-ccx-pill-pair\u003eUSD\/EUR\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"ccx-pill\"\u003eMarket rate \u003cstrong data-ccx-pill-rate\u003e0.874891\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"ccx-pill\"\u003eEffective rate \u003cstrong data-ccx-pill-effective\u003e0.874891\u003c\/strong\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/header\u003e\n\n  \u003cdiv class=\"ccx-toolbar\" role=\"toolbar\" aria-label=\"Calculator actions\"\u003e\n    \u003cbutton class=\"ccx-btn ccx-btn-primary\" type=\"button\" data-ccx-download\u003e\n      \u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath fill=\"currentColor\" d=\"M5 20h14v-2H5v2Zm7-18a1 1 0 0 0-1 1v9.59L8.71 10.3 7.3 11.71l4 4a1 1 0 0 0 1.4 0l4-4-1.41-1.41L13 12.59V3a1 1 0 0 0-1-1Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cspan\u003eDownload Excel\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cbutton class=\"ccx-btn\" type=\"button\" data-ccx-reset\u003eReset\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"ccx-workspace\" aria-label=\"Currency conversion workspace\"\u003e\n    \u003cdiv class=\"ccx-panel\"\u003e\n      \u003cdiv class=\"ccx-panel-header\"\u003e\n        \u003cdiv\u003e\n          \u003ch3\u003eConversion inputs\u003c\/h3\u003e\n          \u003cp\u003eRates are quoted as target-currency units received for one source-currency unit.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ccx-field-grid\"\u003e\n        \u003cdiv class=\"ccx-field ccx-field-full\"\u003e\n          \u003clabel class=\"ccx-label\" for=\"ccx-amount\"\u003eAmount to convert\u003c\/label\u003e\n          \u003cinput class=\"ccx-control\" id=\"ccx-amount\" data-ccx-input=\"amount\" inputmode=\"decimal\" autocomplete=\"off\" value=\"1.00\" aria-describedby=\"ccx-amount-help ccx-amount-error\"\u003e\n          \u003cp class=\"ccx-help\" id=\"ccx-amount-help\"\u003eEnter a non-negative amount in the source currency.\u003c\/p\u003e\n          \u003cp class=\"ccx-error\" id=\"ccx-amount-error\" data-ccx-error=\"amount\" aria-live=\"polite\"\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ccx-field ccx-field-full\"\u003e\n          \u003cdiv class=\"ccx-pair-row\"\u003e\n            \u003cdiv class=\"ccx-field\"\u003e\n              \u003clabel class=\"ccx-label\" for=\"ccx-from\"\u003eFrom currency\u003c\/label\u003e\n              \u003cselect class=\"ccx-control\" id=\"ccx-from\" data-ccx-input=\"from\"\u003e\u003c\/select\u003e\n              \u003cp class=\"ccx-help\"\u003eCurrency you are selling or spending.\u003c\/p\u003e\n              \u003cp class=\"ccx-error\" data-ccx-error=\"from\"\u003e\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cbutton class=\"ccx-btn ccx-btn-swap\" type=\"button\" data-ccx-swap aria-label=\"Swap source and target currencies\"\u003e⇄\u003c\/button\u003e\n            \u003cdiv class=\"ccx-field\"\u003e\n              \u003clabel class=\"ccx-label\" for=\"ccx-to\"\u003eTo currency\u003c\/label\u003e\n              \u003cselect class=\"ccx-control\" id=\"ccx-to\" data-ccx-input=\"to\"\u003e\u003c\/select\u003e\n              \u003cp class=\"ccx-help\"\u003eCurrency you expect to receive.\u003c\/p\u003e\n              \u003cp class=\"ccx-error\" data-ccx-error=\"to\"\u003e\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ccx-field ccx-field-full\"\u003e\n          \u003clabel class=\"ccx-check\" for=\"ccx-popular-only\"\u003e\u003cinput id=\"ccx-popular-only\" type=\"checkbox\" data-ccx-input=\"popularOnly\" checked\u003eShow popular currencies only\u003c\/label\u003e\n          \u003cp class=\"ccx-help\"\u003eTurn this off to choose from the full embedded reference-rate list.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cfieldset class=\"ccx-field ccx-field-full\"\u003e\n          \u003clegend class=\"ccx-legend\"\u003eRate method\u003c\/legend\u003e\n          \u003cdiv class=\"ccx-segmented\"\u003e\n            \u003clabel\u003e\u003cinput type=\"radio\" name=\"ccx-rate-mode\" value=\"reference\" data-ccx-input=\"rateMode\" checked\u003eReference table\u003c\/label\u003e\n            \u003clabel\u003e\u003cinput type=\"radio\" name=\"ccx-rate-mode\" value=\"custom\" data-ccx-input=\"rateMode\"\u003eCustom direct rate\u003c\/label\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"ccx-help\"\u003eThe reference table is an offline snapshot. Use custom mode for a current executable quote.\u003c\/p\u003e\n        \u003c\/fieldset\u003e\n\n        \u003cdiv class=\"ccx-field ccx-field-full ccx-custom-rate-wrap\" data-ccx-custom-wrap hidden\u003e\n          \u003clabel class=\"ccx-label\" for=\"ccx-custom-rate\"\u003eCustom direct rate\u003c\/label\u003e\n          \u003cinput class=\"ccx-control\" id=\"ccx-custom-rate\" data-ccx-input=\"customRate\" inputmode=\"decimal\" autocomplete=\"off\" value=\"0.8748906387\" aria-describedby=\"ccx-custom-help ccx-custom-error\"\u003e\n          \u003cp class=\"ccx-help\" id=\"ccx-custom-help\"\u003eTarget units per 1 source unit, for example 0.8749 EUR per 1 USD.\u003c\/p\u003e\n          \u003cp class=\"ccx-error\" id=\"ccx-custom-error\" data-ccx-error=\"customRate\"\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdetails class=\"ccx-advanced\"\u003e\n          \u003csummary\u003eTransaction costs and adjustments\u003c\/summary\u003e\n          \u003cdiv class=\"ccx-advanced-grid\"\u003e\n            \u003cdiv class=\"ccx-field\"\u003e\n              \u003clabel class=\"ccx-label\" for=\"ccx-markup\"\u003eRate markup \/ spread\u003c\/label\u003e\n              \u003cinput class=\"ccx-control\" id=\"ccx-markup\" data-ccx-input=\"markup\" inputmode=\"decimal\" autocomplete=\"off\" value=\"0.00\" aria-describedby=\"ccx-markup-help ccx-markup-error\"\u003e\n              \u003cp class=\"ccx-help\" id=\"ccx-markup-help\"\u003ePercentage deducted from the market conversion to estimate a provider spread.\u003c\/p\u003e\n              \u003cp class=\"ccx-error\" id=\"ccx-markup-error\" data-ccx-error=\"markup\"\u003e\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"ccx-field\"\u003e\n              \u003clabel class=\"ccx-label\" for=\"ccx-fixed-fee\"\u003eFixed fee in source currency\u003c\/label\u003e\n              \u003cinput class=\"ccx-control\" id=\"ccx-fixed-fee\" data-ccx-input=\"fixedFee\" inputmode=\"decimal\" autocomplete=\"off\" value=\"0.00\" aria-describedby=\"ccx-fee-help ccx-fee-error\"\u003e\n              \u003cp class=\"ccx-help\" id=\"ccx-fee-help\"\u003eA flat charge removed before conversion, such as an ATM or transfer fee.\u003c\/p\u003e\n              \u003cp class=\"ccx-error\" id=\"ccx-fee-error\" data-ccx-error=\"fixedFee\"\u003e\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/details\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"ccx-panel\"\u003e\n      \u003cdiv class=\"ccx-panel-header\"\u003e\n        \u003cdiv\u003e\n          \u003ch3\u003eLive result\u003c\/h3\u003e\n          \u003cp\u003eThe result updates as you type and separates the quoted amount from estimated transaction costs.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ccx-result-hero\"\u003e\n        \u003cdiv class=\"ccx-result-kicker\"\u003eEstimated amount received\u003c\/div\u003e\n        \u003cdiv class=\"ccx-primary-result\" data-ccx-result=\"net\"\u003eEUR 0.87\u003c\/div\u003e\n        \u003cp class=\"ccx-result-rate\" data-ccx-result=\"equation\"\u003eUSD 1.00 × 0.874891 = EUR 0.87\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ccx-result-grid\"\u003e\n        \u003cdiv class=\"ccx-result-card\"\u003e\n\u003cspan\u003eGross conversion\u003c\/span\u003e\u003cstrong data-ccx-result=\"gross\"\u003eEUR 0.87\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ccx-result-card\"\u003e\n\u003cspan\u003eTotal conversion cost\u003c\/span\u003e\u003cstrong data-ccx-result=\"cost\"\u003eEUR 0.00\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ccx-result-card\"\u003e\n\u003cspan\u003eDirect rate\u003c\/span\u003e\u003cstrong data-ccx-result=\"rate\"\u003e0.874891\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ccx-result-card\"\u003e\n\u003cspan\u003eInverse rate\u003c\/span\u003e\u003cstrong data-ccx-result=\"inverse\"\u003e1.143000\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ccx-result-card\"\u003e\n\u003cspan\u003eEffective rate\u003c\/span\u003e\u003cstrong data-ccx-result=\"effective\"\u003e0.874891\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ccx-result-card\"\u003e\n\u003cspan\u003eSource amount used\u003c\/span\u003e\u003cstrong data-ccx-result=\"convertible\"\u003eUSD 1.00\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ccx-live\" aria-live=\"polite\" data-ccx-live\u003eUSD 1.00 converts to approximately EUR 0.87 before provider-specific execution differences.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"ccx-section ccx-chart-card\" data-ccx-chart-card\u003e\n    \u003ch3\u003eConversion value and costs\u003c\/h3\u003e\n    \u003cp class=\"ccx-chart-intro\" data-ccx-chart-intro\u003eThe bars compare the gross reference conversion, the amount received after costs, and any cost measured in the target currency.\u003c\/p\u003e\n    \u003cdiv class=\"ccx-chart-cluster\"\u003e\n      \u003cdiv class=\"ccx-plot-wrap\" data-ccx-plot-wrap\u003e\n        \u003csvg class=\"ccx-svg\" data-ccx-chart role=\"img\" aria-labelledby=\"ccx-chart-title ccx-chart-desc\" viewbox=\"0 0 520 280\"\u003e\n          \u003ctitle id=\"ccx-chart-title\"\u003eCurrency conversion value chart\u003c\/title\u003e\n          \u003cdesc id=\"ccx-chart-desc\"\u003eGross conversion and net received in the target currency.\u003c\/desc\u003e\n        \u003c\/svg\u003e\n        \u003cdiv class=\"ccx-chart-empty\" data-ccx-chart-empty hidden\u003eEnter valid values above to see the conversion chart.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ccx-legend-wrap\"\u003e\n        \u003cdiv class=\"ccx-chart-legend\" data-ccx-legend aria-label=\"Chart legend\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ccx-chart-caption\" data-ccx-chart-caption\u003eThe effective rate equals the market or custom rate when no markup or fixed fee is entered.\u003c\/div\u003e\n    \u003ctable class=\"ccx-chart-data\" data-ccx-chart-data\u003e\n      \u003ccaption\u003eExact values represented in the conversion chart\u003c\/caption\u003e\n      \u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eSeries\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n      \u003ctbody data-ccx-chart-data-body\u003e\u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"ccx-section ccx-table-card\" data-ccx-table-card\u003e\n    \u003ch3\u003eCross-rate table\u003c\/h3\u003e\n    \u003cp class=\"ccx-chart-intro\"\u003eThis comparison uses the selected source currency as the base and shows what one base unit and the entered amount are worth in commonly used currencies.\u003c\/p\u003e\n    \u003cdiv class=\"ccx-table-overflow\" data-ccx-table-wrap\u003e\n      \u003ctable\u003e\n        \u003cthead\u003e\n          \u003ctr\u003e\n            \u003cth\u003eCurrency\u003c\/th\u003e\n            \u003cth\u003eName\u003c\/th\u003e\n            \u003cth class=\"ccx-num\"\u003e1 base unit\u003c\/th\u003e\n            \u003cth class=\"ccx-num\"\u003eEntered amount\u003c\/th\u003e\n            \u003cth class=\"ccx-num\"\u003eInverse rate\u003c\/th\u003e\n          \u003c\/tr\u003e\n        \u003c\/thead\u003e\n        \u003ctbody data-ccx-rate-table\u003e\u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ccx-table-note\" data-ccx-table-note\u003eReference rates are informational, rounded for display, and may differ from bank, card, cash, transfer, or weekend rates.\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"ccx-education\"\u003e\n    \u003ch2\u003eHow to use and interpret the currency converter\u003c\/h2\u003e\n    \u003cdiv class=\"ccx-education-grid\"\u003e\n      \u003cdiv\u003e\n        \u003ch3\u003eWhat this calculator estimates\u003c\/h3\u003e\n        \u003cp\u003eThis calculator estimates how much of one currency is equivalent to an amount in another currency. It supports two workflows. Reference-table mode uses the embedded European Central Bank snapshot dated 10 July 2026. Custom-rate mode lets you enter a direct quote supplied by a bank, payment card, money-transfer service, broker, cash desk, or accounting system. The result is an estimate rather than a guaranteed executable price because real transactions can include spreads, commissions, fixed charges, minimum fees, weekend adjustments, and timing differences.\u003c\/p\u003e\n        \u003cp\u003eThe model first removes any fixed fee from the source amount. It converts the remaining amount at the selected direct exchange rate, then reduces the converted value by the percentage markup or spread. In formula form: net received = max(amount − fixed fee, 0) × direct rate × (1 − markup percentage). Gross conversion excludes both costs; total conversion cost is the difference between gross and net.\u003c\/p\u003e\n        \u003cdiv class=\"ccx-callout\"\u003eUse the reference mode for planning and comparison. Use custom mode with the provider's exact quote when reconciling an actual payment or transfer.\u003c\/div\u003e\n\n        \u003ch3\u003eField-by-field guidance\u003c\/h3\u003e\n        \u003cul\u003e\n          \u003cli\u003e\n\u003cstrong\u003eAmount to convert\u003c\/strong\u003e is the source-currency value you plan to exchange. It is required and must be zero or higher. A larger amount increases the gross and net target amounts proportionally, but a fixed fee becomes less significant as a percentage of a larger transaction.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eFrom currency\u003c\/strong\u003e is the currency being sold, charged, or withdrawn. \u003cstrong\u003eTo currency\u003c\/strong\u003e is the currency being bought or credited. Both are required. The swap button reverses the pair and recalculates the reciprocal relationship. \u003cstrong\u003eShow popular currencies only\u003c\/strong\u003e shortens both menus; turn it off when you need a less frequently used currency.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eRate method\u003c\/strong\u003e selects the data source. Reference-table mode calculates cross-rates through the euro because each embedded quote is stored as foreign-currency units per euro. Custom direct-rate mode ignores that table and uses the rate you enter.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eCustom direct rate\u003c\/strong\u003e means target units per one source unit. For USD to EUR, a value of 0.8749 means one U.S. dollar buys about 0.8749 euro. Do not enter the inverse quote by mistake; the calculator displays both the direct and inverse rates for checking.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eRate markup \/ spread\u003c\/strong\u003e is optional and expressed as a percentage. A higher markup lowers the net amount and effective rate. Enter the provider's disclosed markup when known, or infer it by comparing the provider rate with a reference rate.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eFixed fee\u003c\/strong\u003e is optional and entered in the source currency. It is removed before conversion. If the fee is equal to or greater than the amount, the convertible amount and net result become zero rather than negative.\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv\u003e\n        \u003ch3\u003eUnderstanding every result\u003c\/h3\u003e\n        \u003cp\u003e\u003cstrong\u003eEstimated amount received\u003c\/strong\u003e is the primary output after the entered fixed fee and markup. A zero result usually means the amount is zero, the fixed fee consumes the full amount, the rate is invalid, or a currency has not been selected. \u003cstrong\u003eGross conversion\u003c\/strong\u003e shows the amount at the selected rate before costs. The difference between gross and net is the \u003cstrong\u003etotal conversion cost\u003c\/strong\u003e expressed in the target currency.\u003c\/p\u003e\n        \u003cp\u003eThe \u003cstrong\u003edirect rate\u003c\/strong\u003e states how many target units one source unit buys. The \u003cstrong\u003einverse rate\u003c\/strong\u003e states how many source units one target unit buys. These two values should multiply to approximately one, subject only to display rounding. The \u003cstrong\u003eeffective rate\u003c\/strong\u003e divides the net target amount by the original source amount, so it captures both the percentage markup and the fixed fee. It will normally be below the direct rate when costs are present.\u003c\/p\u003e\n        \u003cp\u003e\u003cstrong\u003eSource amount used\u003c\/strong\u003e is the amount remaining after the fixed fee. The bar chart compares gross conversion, net received, and conversion cost in the target currency. When costs are zero, gross and net bars are equal and the cost series is omitted. The cross-rate table uses the same model and shows one source-currency unit, the full entered amount, and the inverse quote for each listed target currency.\u003c\/p\u003e\n\n        \u003ch3\u003eRates, spreads, and common mistakes\u003c\/h3\u003e\n        \u003cp\u003eReference rates are benchmarks, not retail offers. The \u003ca href=\"https:\/\/www.ecb.europa.eu\/stats\/policy_and_exchange_rates\/euro_reference_exchange_rates\/html\/index.en.html\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eEuropean Central Bank\u003c\/a\u003e explains that its daily reference rates are published for information and are not intended as transaction prices. The \u003ca href=\"https:\/\/www.bis.org\/statistics\/rpfx22.htm\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eBank for International Settlements\u003c\/a\u003e provides broader foreign-exchange market statistics, while the \u003ca href=\"https:\/\/finance.ec.europa.eu\/consumer-finance-and-payments\/payment-services\/payment-services_en\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eEuropean Commission\u003c\/a\u003e publishes information about payment services and consumer protections.\u003c\/p\u003e\n        \u003cp\u003eA frequent mistake is comparing a mid-market benchmark with a provider's final customer rate without accounting for fees. Another is entering a quote in the wrong direction. Cash rates, card rates, and international-transfer rates can differ even at the same institution. Dynamic currency conversion at a merchant or ATM may also use a different rate and fee structure than letting your card network convert the transaction. Review the provider's disclosure and, where applicable, consumer guidance from agencies such as the \u003ca href=\"https:\/\/www.consumerfinance.gov\/consumer-tools\/money-transfers\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eU.S. Consumer Financial Protection Bureau\u003c\/a\u003e.\u003c\/p\u003e\n        \u003cp\u003eFor planning, test several assumptions: raise the markup to see the cost of a wider spread, add the fixed fee charged by an ATM or transfer service, and compare the effective rate across providers. Small rate differences can be material on large payments. This calculator does not provide financial, tax, legal, or investment advice, and it does not predict future exchange-rate movements.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909480653043,"sku":"currency-calculator","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/currency-calculator.webp?v=1783935375","url":"https:\/\/financialmodelslab.com\/products\/currency-calculator","provider":"Financial Models Lab","version":"1.0","type":"link"}