{"product_id":"cross-exchange-rate","title":"Cross Exchange Rate Calculator","description":"\u003cstyle\u003e\n.cer-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  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  color: var(--ink);\n  background: var(--tint);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  box-shadow: 0 1px 2px rgba(15, 23, 42, .06);\n  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n  font-size: 15px;\n  line-height: 1.55;\n  container-type: inline-size;\n}\n.cer-calculator,\n.cer-calculator *,\n.cer-calculator *::before,\n.cer-calculator *::after {\n  box-sizing: border-box;\n}\n.cer-calculator * {\n  min-width: 0;\n}\n.cer-calculator a {\n  color: var(--primary);\n  text-decoration-thickness: 1px;\n  text-underline-offset: 2px;\n}\n.cer-calculator a:hover {\n  text-decoration-thickness: 2px;\n}\n.cer-calculator button,\n.cer-calculator input {\n  font: inherit;\n}\n.cer-calculator button,\n.cer-calculator input,\n.cer-calculator a {\n  outline: none;\n}\n.cer-calculator button:focus-visible,\n.cer-calculator input:focus-visible,\n.cer-calculator a:focus-visible {\n  box-shadow: 0 0 0 3px rgba(29, 78, 216, .28);\n}\n.cer-shell {\n  padding: 24px;\n}\n.cer-header {\n  display: grid;\n  gap: 12px;\n  margin-bottom: 16px;\n}\n.cer-header h2,\n.cer-education h2 {\n  margin: 0;\n  color: var(--ink);\n  font-size: 24px;\n  line-height: 1.25;\n  font-weight: 700;\n}\n.cer-header p {\n  margin: 0;\n  color: var(--muted);\n}\n.cer-pills {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n.cer-pill {\n  display: inline-flex;\n  align-items: center;\n  min-height: 32px;\n  padding: 4px 10px;\n  border: 1px solid var(--border);\n  border-radius: 999px;\n  background: var(--surface);\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n  font-variant-numeric: tabular-nums;\n}\n.cer-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  align-items: center;\n  margin-bottom: 16px;\n}\n.cer-button {\n  min-height: 44px;\n  border-radius: 6px;\n  border: 1px solid transparent;\n  padding: 12px 18px;\n  cursor: pointer;\n  font-size: 15px;\n  font-weight: 650;\n  line-height: 1.2;\n  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;\n}\n.cer-button:hover {\n  box-shadow: 0 2px 5px rgba(15, 23, 42, .12);\n}\n.cer-button:active {\n  transform: translateY(1px);\n}\n.cer-download {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  white-space: nowrap;\n  color: #ffffff;\n  background: var(--accent);\n  border-color: var(--accent);\n}\n.cer-download:hover {\n  background: var(--accent-hover);\n  border-color: var(--accent-hover);\n}\n.cer-download-icon {\n  font-size: 19px;\n  line-height: 1;\n}\n.cer-reset {\n  color: var(--ink);\n  background: var(--surface);\n  border-color: #cbd5e1;\n}\n.cer-reset:hover {\n  border-color: #94a3b8;\n  background: #f1f5f9;\n}\n.cer-workspace {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 16px;\n  align-items: start;\n}\n.cer-card {\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  padding: 20px;\n}\n.cer-section-head {\n  margin: 0 0 16px;\n  font-size: 18px;\n  line-height: 1.35;\n  font-weight: 650;\n}\n.cer-code-grid,\n.cer-pair-grid,\n.cer-result-grid {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 12px;\n}\n.cer-code-grid {\n  margin-bottom: 20px;\n}\n.cer-pair-block + .cer-pair-block {\n  margin-top: 24px;\n  padding-top: 24px;\n  border-top: 1px solid var(--border);\n}\n.cer-pair-title {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: baseline;\n  gap: 8px;\n  margin-bottom: 12px;\n}\n.cer-pair-title strong {\n  font-size: 16px;\n}\n.cer-pair-title span {\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.cer-field {\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n}\n.cer-field label {\n  color: var(--ink);\n  font-size: 14px;\n  font-weight: 600;\n}\n.cer-input {\n  width: 100%;\n  min-height: 44px;\n  border: 1px solid #cbd5e1;\n  border-radius: 6px;\n  background: #ffffff;\n  color: var(--ink);\n  padding: 10px 12px;\n  font-size: 15px;\n  font-weight: 400;\n  font-variant-numeric: tabular-nums;\n}\n.cer-input:hover {\n  border-color: #94a3b8;\n}\n.cer-input[aria-invalid=\"true\"] {\n  border-color: #b91c1c;\n}\n.cer-helper,\n.cer-error {\n  min-height: 20px;\n  margin: 0;\n  font-size: 13px;\n  font-weight: 500;\n  line-height: 1.45;\n}\n.cer-helper {\n  color: var(--muted);\n}\n.cer-error {\n  color: #991b1b;\n}\n.cer-results {\n  display: grid;\n  gap: 16px;\n}\n.cer-primary-result {\n  padding: 16px;\n  border: 1px solid #bfdbfe;\n  border-radius: 8px;\n  background: #eff6ff;\n}\n.cer-primary-label {\n  margin: 0 0 4px;\n  color: #1e3a8a;\n  font-size: 13px;\n  font-weight: 650;\n}\n.cer-primary-value {\n  margin: 0;\n  color: var(--ink);\n  font-size: 30px;\n  line-height: 1.2;\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n  overflow-wrap: anywhere;\n}\n.cer-primary-sub {\n  margin: 8px 0 0;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.cer-result-card {\n  padding: 14px;\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  background: var(--tint);\n}\n.cer-result-label {\n  margin: 0 0 4px;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 600;\n}\n.cer-result-value {\n  margin: 0;\n  color: var(--ink);\n  font-size: 20px;\n  line-height: 1.3;\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n  overflow-wrap: anywhere;\n}\n.cer-formula {\n  padding: 12px;\n  border-left: 3px solid var(--primary);\n  border-radius: 0 6px 6px 0;\n  background: #f1f5f9;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n  overflow-wrap: anywhere;\n}\n.cer-empty {\n  padding: 16px;\n  border: 1px dashed #94a3b8;\n  border-radius: 6px;\n  background: var(--tint);\n  color: var(--muted);\n  font-size: 14px;\n  font-weight: 500;\n}\n.cer-table-card {\n  margin-top: 16px;\n}\n.cer-table-intro {\n  margin: -8px 0 16px;\n  color: var(--muted);\n  font-size: 14px;\n}\n.cer-table-wrap {\n  width: 100%;\n  overflow-x: auto;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  background: var(--surface);\n}\n.cer-table {\n  width: 100%;\n  min-width: 760px;\n  border-collapse: collapse;\n  font-variant-numeric: tabular-nums;\n}\n.cer-table th,\n.cer-table td {\n  padding: 11px 12px;\n  border-bottom: 1px solid var(--border);\n  text-align: right;\n  vertical-align: top;\n  white-space: nowrap;\n}\n.cer-table th {\n  color: #ffffff;\n  background: #172554;\n  font-size: 13px;\n  font-weight: 650;\n}\n.cer-table th:first-child,\n.cer-table td:first-child {\n  text-align: left;\n}\n.cer-table tbody tr:last-child td {\n  border-bottom: 0;\n}\n.cer-table tbody tr:nth-child(even) td {\n  background: var(--tint);\n}\n.cer-table-note {\n  margin-top: 16px;\n  padding: 10px 12px;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  background: #f1f5f9;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.cer-safe-table-stack .cer-table-note {\n  margin-top: 24px;\n}\n.cer-education {\n  margin-top: 16px;\n  background: var(--surface);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  padding: 24px;\n}\n.cer-education h2 {\n  margin-bottom: 16px;\n}\n.cer-education h3 {\n  margin: 24px 0 8px;\n  color: var(--ink);\n  font-size: 18px;\n  line-height: 1.35;\n  font-weight: 650;\n}\n.cer-education p,\n.cer-education li {\n  color: #334155;\n}\n.cer-education p {\n  margin: 0 0 12px;\n}\n.cer-education ul,\n.cer-education ol {\n  margin: 8px 0 12px;\n  padding-left: 22px;\n}\n.cer-education li + li {\n  margin-top: 6px;\n}\n.cer-chart-card {\n  display: grid;\n  gap: 16px;\n}\n.cer-chart-plot,\n.cer-chart-legend,\n.cer-chart-caption {\n  min-width: 0;\n}\n.cer-safe-chart-stack {\n  grid-template-columns: 1fr !important;\n  row-gap: 24px !important;\n  height: auto !important;\n}\n.cer-safe-chart-stack .cer-chart-caption {\n  margin-top: 16px !important;\n}\n@container (min-width: 560px) {\n  .cer-code-grid {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n  .cer-pair-grid,\n  .cer-result-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n}\n@container (min-width: 900px) {\n  .cer-workspace {\n    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);\n  }\n}\n@media (max-width: 480px) {\n  .cer-shell {\n    padding: 16px;\n  }\n  .cer-card,\n  .cer-education {\n    padding: 16px;\n  }\n  .cer-toolbar {\n    align-items: stretch;\n  }\n  .cer-button {\n    justify-content: center;\n  }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"cer-calculator\" data-calculator-root\u003e\n  \u003cdiv class=\"cer-shell\"\u003e\n    \u003csection class=\"cer-header\" aria-labelledby=\"cer-title\"\u003e\n      \u003ch2 id=\"cer-title\"\u003eCross Exchange Rate Calculator\u003c\/h2\u003e\n      \u003cp\u003eDerive the direct rate between two currencies from two quotes that share a common third currency.\u003c\/p\u003e\n      \u003cdiv class=\"cer-pills\" aria-label=\"Live rate summary\"\u003e\n        \u003cspan class=\"cer-pill\" id=\"cer-pill-primary\"\u003eA\/B: 0.88\u003c\/span\u003e\n        \u003cspan class=\"cer-pill\" id=\"cer-pill-reciprocal\"\u003eB\/A: 1.136364\u003c\/span\u003e\n        \u003cspan class=\"cer-pill\" id=\"cer-pill-common\"\u003eCommon currency: USD\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003cdiv class=\"cer-toolbar\" aria-label=\"Calculator actions\"\u003e\n      \u003cbutton class=\"cer-button cer-download\" id=\"cer-download\" type=\"button\"\u003e\u003cspan class=\"cer-download-icon\" aria-hidden=\"true\"\u003e⇩\u003c\/span\u003e\u003cspan\u003eDownload Excel\u003c\/span\u003e\u003c\/button\u003e\n      \u003cbutton class=\"cer-button cer-reset\" id=\"cer-reset\" type=\"button\"\u003eReset\u003c\/button\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"cer-workspace\"\u003e\n      \u003csection class=\"cer-card\" aria-labelledby=\"cer-inputs-heading\"\u003e\n        \u003ch3 class=\"cer-section-head\" id=\"cer-inputs-heading\"\u003eCurrency quotes\u003c\/h3\u003e\n        \u003cdiv class=\"cer-code-grid\"\u003e\n          \u003cdiv class=\"cer-field\"\u003e\n            \u003clabel for=\"cer-code-a\"\u003eCurrency A\u003c\/label\u003e\n            \u003cinput class=\"cer-input\" id=\"cer-code-a\" type=\"text\" value=\"EUR\" maxlength=\"6\" autocomplete=\"off\" spellcheck=\"false\" aria-describedby=\"cer-code-a-help\"\u003e\n            \u003cp class=\"cer-helper\" id=\"cer-code-a-help\"\u003eExample: EUR\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"cer-field\"\u003e\n            \u003clabel for=\"cer-code-b\"\u003eCurrency B\u003c\/label\u003e\n            \u003cinput class=\"cer-input\" id=\"cer-code-b\" type=\"text\" value=\"GBP\" maxlength=\"6\" autocomplete=\"off\" spellcheck=\"false\" aria-describedby=\"cer-code-b-help\"\u003e\n            \u003cp class=\"cer-helper\" id=\"cer-code-b-help\"\u003eExample: GBP\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"cer-field\"\u003e\n            \u003clabel for=\"cer-code-c\"\u003eCommon currency C\u003c\/label\u003e\n            \u003cinput class=\"cer-input\" id=\"cer-code-c\" type=\"text\" value=\"USD\" maxlength=\"6\" autocomplete=\"off\" spellcheck=\"false\" aria-describedby=\"cer-code-c-help\"\u003e\n            \u003cp class=\"cer-helper\" id=\"cer-code-c-help\"\u003eAppears in both known pairs.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"cer-pair-block\"\u003e\n          \u003cdiv class=\"cer-pair-title\"\u003e\n\u003cstrong\u003eFirst currency pair\u003c\/strong\u003e\u003cspan\u003eEnter either direction; the reciprocal updates automatically.\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"cer-pair-grid\"\u003e\n            \u003cdiv class=\"cer-field\"\u003e\n              \u003clabel for=\"cer-rate-ac\"\u003e\u003cspan id=\"cer-label-ac\"\u003eEUR\/USD\u003c\/span\u003e rate\u003c\/label\u003e\n              \u003cinput class=\"cer-input\" id=\"cer-rate-ac\" type=\"text\" inputmode=\"decimal\" value=\"1.1\" autocomplete=\"off\" aria-describedby=\"cer-rate-ac-help cer-error-first\"\u003e\n              \u003cp class=\"cer-helper\" id=\"cer-rate-ac-help\"\u003eUnits of C received for 1 unit of A.\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"cer-field\"\u003e\n              \u003clabel for=\"cer-rate-ca\"\u003e\u003cspan id=\"cer-label-ca\"\u003eUSD\/EUR\u003c\/span\u003e rate\u003c\/label\u003e\n              \u003cinput class=\"cer-input\" id=\"cer-rate-ca\" type=\"text\" inputmode=\"decimal\" value=\"0.909091\" autocomplete=\"off\" aria-describedby=\"cer-rate-ca-help cer-error-first\"\u003e\n              \u003cp class=\"cer-helper\" id=\"cer-rate-ca-help\"\u003eReciprocal quote: units of A for 1 unit of C.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"cer-error\" id=\"cer-error-first\" role=\"alert\"\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"cer-pair-block\"\u003e\n          \u003cdiv class=\"cer-pair-title\"\u003e\n\u003cstrong\u003eSecond currency pair\u003c\/strong\u003e\u003cspan\u003eEnter either direction; the reciprocal updates automatically.\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"cer-pair-grid\"\u003e\n            \u003cdiv class=\"cer-field\"\u003e\n              \u003clabel for=\"cer-rate-bc\"\u003e\u003cspan id=\"cer-label-bc\"\u003eGBP\/USD\u003c\/span\u003e rate\u003c\/label\u003e\n              \u003cinput class=\"cer-input\" id=\"cer-rate-bc\" type=\"text\" inputmode=\"decimal\" value=\"1.25\" autocomplete=\"off\" aria-describedby=\"cer-rate-bc-help cer-error-second\"\u003e\n              \u003cp class=\"cer-helper\" id=\"cer-rate-bc-help\"\u003eUnits of C received for 1 unit of B.\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"cer-field\"\u003e\n              \u003clabel for=\"cer-rate-cb\"\u003e\u003cspan id=\"cer-label-cb\"\u003eUSD\/GBP\u003c\/span\u003e rate\u003c\/label\u003e\n              \u003cinput class=\"cer-input\" id=\"cer-rate-cb\" type=\"text\" inputmode=\"decimal\" value=\"0.8\" autocomplete=\"off\" aria-describedby=\"cer-rate-cb-help cer-error-second\"\u003e\n              \u003cp class=\"cer-helper\" id=\"cer-rate-cb-help\"\u003eReciprocal quote: units of B for 1 unit of C.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"cer-error\" id=\"cer-error-second\" role=\"alert\"\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"cer-card cer-results\" aria-labelledby=\"cer-results-heading\"\u003e\n        \u003ch3 class=\"cer-section-head\" id=\"cer-results-heading\"\u003eLive cross rates\u003c\/h3\u003e\n        \u003cdiv id=\"cer-results-content\"\u003e\n          \u003cdiv class=\"cer-primary-result\"\u003e\n            \u003cp class=\"cer-primary-label\" id=\"cer-primary-label\"\u003eCross rate EUR\/GBP\u003c\/p\u003e\n            \u003cp class=\"cer-primary-value\" id=\"cer-primary-value\"\u003e0.88\u003c\/p\u003e\n            \u003cp class=\"cer-primary-sub\" id=\"cer-primary-sub\"\u003e1 EUR equals 0.88 GBP.\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"cer-result-grid\"\u003e\n            \u003cdiv class=\"cer-result-card\"\u003e\n              \u003cp class=\"cer-result-label\" id=\"cer-reciprocal-label\"\u003eReciprocal GBP\/EUR\u003c\/p\u003e\n              \u003cp class=\"cer-result-value\" id=\"cer-reciprocal-value\"\u003e1.136364\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"cer-result-card\"\u003e\n              \u003cp class=\"cer-result-label\"\u003eCross-check through common currency\u003c\/p\u003e\n              \u003cp class=\"cer-result-value\" id=\"cer-check-value\"\u003e1.1 USD\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"cer-formula\" id=\"cer-formula\"\u003eEUR\/GBP = (EUR\/USD) ÷ (GBP\/USD) = 1.1 ÷ 1.25 = 0.88\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"cer-empty\" id=\"cer-results-empty\" hidden\u003eEnter one valid positive quote for each currency pair to calculate the cross rate.\u003c\/div\u003e\n        \u003cdiv class=\"cer-primary-result\" aria-live=\"polite\" aria-atomic=\"true\"\u003e\n          \u003cp class=\"cer-primary-label\"\u003eCurrent result summary\u003c\/p\u003e\n          \u003cp class=\"cer-primary-sub\" id=\"cer-live-summary\"\u003e1 EUR equals 0.88 GBP; the reciprocal rate is 1.136364 EUR per GBP.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n    \u003c\/div\u003e\n\n    \u003csection class=\"cer-card cer-table-card\" id=\"cer-table-card\" aria-labelledby=\"cer-table-heading\"\u003e\n      \u003ch3 class=\"cer-section-head\" id=\"cer-table-heading\"\u003eConversion checkpoints\u003c\/h3\u003e\n      \u003cp class=\"cer-table-intro\"\u003eThe table applies the same live model to common amounts in both directions and shows the intermediate common-currency value.\u003c\/p\u003e\n      \u003cdiv class=\"cer-table-wrap\" id=\"cer-table-wrap\"\u003e\n        \u003ctable class=\"cer-table\"\u003e\n          \u003cthead\u003e\n            \u003ctr\u003e\n              \u003cth scope=\"col\" id=\"cer-th-a-amount\"\u003eAmount EUR\u003c\/th\u003e\n              \u003cth scope=\"col\" id=\"cer-th-a-common\"\u003eVia USD\u003c\/th\u003e\n              \u003cth scope=\"col\" id=\"cer-th-a-b\"\u003eEUR to GBP\u003c\/th\u003e\n              \u003cth scope=\"col\" id=\"cer-th-b-amount\"\u003eAmount GBP\u003c\/th\u003e\n              \u003cth scope=\"col\" id=\"cer-th-b-common\"\u003eVia USD\u003c\/th\u003e\n              \u003cth scope=\"col\" id=\"cer-th-b-a\"\u003eGBP to EUR\u003c\/th\u003e\n            \u003c\/tr\u003e\n          \u003c\/thead\u003e\n          \u003ctbody id=\"cer-table-body\"\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"cer-table-note\" id=\"cer-table-note\"\u003eQuoted rates do not include bank spreads, card markups, transfer fees, or time-of-trade price changes.\u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"cer-education\" aria-labelledby=\"cer-guide-heading\"\u003e\n      \u003ch2 id=\"cer-guide-heading\"\u003eHow to use and interpret a cross exchange rate\u003c\/h2\u003e\n\n      \u003ch3\u003eWhat this calculator estimates\u003c\/h3\u003e\n      \u003cp\u003eA cross exchange rate is the implied direct rate between Currency A and Currency B when both are quoted against the same Currency C. Currency C is the bridge, or common currency. The calculator normalizes both known quotes into the same direction, divides them, and returns both the A\/B rate and its reciprocal B\/A rate. This is useful when a direct pair is unavailable, thinly traded, or quoted less conveniently than two more liquid pairs.\u003c\/p\u003e\n      \u003cp\u003eThe result is a mathematical cross rate, not a guaranteed executable market price. Banks, brokers, card networks, and money-transfer providers may add bid-ask spreads, commissions, conversion margins, minimum fees, or rounding. For reference data and market conventions, consult 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 reference rates\u003c\/a\u003e, the \u003ca href=\"https:\/\/www.bis.org\/statistics\/full_bis_selected_pp_csv.zip\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eBank for International Settlements statistics\u003c\/a\u003e, or the \u003ca href=\"https:\/\/data.imf.org\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eIMF Data portal\u003c\/a\u003e.\u003c\/p\u003e\n\n      \u003ch3\u003eField-by-field instructions\u003c\/h3\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003cstrong\u003eCurrency A:\u003c\/strong\u003e Enter a short code or label for the first currency, such as EUR. This field is descriptive and does not fetch market data. Leaving it blank falls back to “A” in the results.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eCurrency B:\u003c\/strong\u003e Enter the code for the currency you want to compare with A, such as GBP. A and B must represent different currencies for the result to be economically meaningful.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eCommon currency C:\u003c\/strong\u003e Enter the currency appearing in both known quotes, such as USD. The common currency cancels algebraically, which is why the final rate compares only A with B.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eA\/C rate:\u003c\/strong\u003e Enter how many units of C equal one unit of A. For example, EUR\/USD 1.10 means one euro is worth 1.10 U.S. dollars. A higher A\/C quote, with the B\/C quote unchanged, raises the A\/B cross rate.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eC\/A rate:\u003c\/strong\u003e This is the reciprocal direction. Entering 0.909091 for USD\/EUR is equivalent to entering 1.10 for EUR\/USD. Editing either direction automatically refreshes the other, so only one quote per pair is required.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eB\/C rate:\u003c\/strong\u003e Enter how many units of C equal one unit of B. A higher B\/C quote, with A\/C unchanged, lowers the A\/B rate because each unit of B is worth more of the common currency.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eC\/B rate:\u003c\/strong\u003e This is the reciprocal of B\/C. It is useful when a data source reports the pair in the opposite order. Zero, negative, blank, or nonnumeric rates are rejected because a reciprocal and a cross rate cannot be computed from them.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eRates may be entered with spaces, currency symbols, percent signs, or thousands separators; the parser extracts the numeric value. For decimal commas, values such as “1,25” are interpreted as 1.25, while “1,000” is treated as one thousand. Exchange rates are normally positive decimals, so confirm the quote direction before accepting a surprisingly large or small result.\u003c\/p\u003e\n\n      \u003ch3\u003eHow the formula works\u003c\/h3\u003e\n      \u003cp\u003eAfter converting any inverse quote into its direct form, the model uses \u003cstrong\u003eA\/B = (A\/C) ÷ (B\/C)\u003c\/strong\u003e. With EUR\/USD at 1.10 and GBP\/USD at 1.25, the cross rate is 1.10 ÷ 1.25 = 0.88 GBP per EUR. The reciprocal is \u003cstrong\u003eB\/A = 1 ÷ (A\/B)\u003c\/strong\u003e, giving approximately 1.136364 EUR per GBP. The common currency cancels because both rates express value in the same denominator.\u003c\/p\u003e\n      \u003cp\u003eWhen one quote is supplied in the opposite direction, the calculator first flips it. For instance, if USD\/GBP is 0.80, then GBP\/USD is 1 ÷ 0.80 = 1.25. This normalization step prevents the common error of multiplying or dividing quotes that do not share the same orientation. A concise explanation of direct and indirect quotations is also available from \u003ca href=\"https:\/\/www.investopedia.com\/terms\/c\/crossrate.asp\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eInvestopedia’s cross-rate overview\u003c\/a\u003e.\u003c\/p\u003e\n\n      \u003ch3\u003eUnderstanding each result\u003c\/h3\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003cstrong\u003ePrimary cross rate A\/B:\u003c\/strong\u003e This states how many units of B correspond to one unit of A. A value above 1 means one unit of A converts to more than one unit of B; a value below 1 means it converts to less than one unit of B. Neither condition alone implies that a currency is “stronger” without considering units and quotation conventions.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eReciprocal B\/A:\u003c\/strong\u003e This is the same relationship viewed from the opposite direction. Multiplying the two displayed cross rates should equal 1 apart from display rounding.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eCross-check through C:\u003c\/strong\u003e The results panel shows the common-currency value reached through the calculated cross rate. It should match the original A\/C quote, demonstrating that the triangle is internally consistent.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eConversion checkpoints:\u003c\/strong\u003e Each table row scales the live rate to 1, 10, 100, and 1,000 units. The “Via C” columns show the intermediate value in the common currency, while the final columns show the direct A-to-B and B-to-A conversions. The table and Excel workbook use the same unrounded model values.\u003c\/li\u003e\n      \u003c\/ul\u003e\n\n      \u003ch3\u003ePractical interpretation and common mistakes\u003c\/h3\u003e\n      \u003cp\u003eCross rates are especially sensitive to quote direction. EUR\/USD and USD\/EUR are reciprocals, not interchangeable labels. Another frequent error is using two rates with different observation times. Because foreign-exchange markets move continuously, use quotes from the same source and timestamp whenever accuracy matters. Also distinguish midpoint or reference rates from executable bid and ask prices. A provider may buy one currency at a lower rate and sell it at a higher rate, creating a spread around the theoretical cross rate.\u003c\/p\u003e\n      \u003cp\u003eUse more decimal places for low-value or highly precise pairs, but avoid assuming that extra displayed digits imply market accuracy. For retail conversions, fees can dominate small transactions. For treasury, accounting, or reporting work, document the source, timestamp, quotation direction, and rounding policy. This calculator provides an auditable formula, conversion table, and downloadable workbook, but it does not provide personalized investment, tax, legal, or trading advice.\u003c\/p\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909485338867,"sku":"cross-exchange-rate","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/cross-exchange-rate.webp?v=1783935470","url":"https:\/\/financialmodelslab.com\/products\/cross-exchange-rate","provider":"Financial Models Lab","version":"1.0","type":"link"}