|
| 1 | +--- |
| 2 | +title: Canadian dollar strengthens 3.1% against U.S. dollar year over year in December 2025 |
| 3 | +--- |
| 4 | + |
| 5 | +# Canadian dollar strengthens 3.1% against U.S. dollar year over year in December 2025 |
| 6 | + |
| 7 | +<p class="release-date">Released: 2026-01-06</p> |
| 8 | + |
| 9 | +<div class="metric-box"> |
| 10 | + <div class="value">1.38</div> |
| 11 | + <div class="label">CAD per USD, December 2025</div> |
| 12 | +</div> |
| 13 | + |
| 14 | +The Canadian dollar strengthened against the U.S. dollar in December 2025, with the exchange rate averaging 1.3802 Canadian dollars per U.S. dollar. This represents a 3.1% appreciation compared with December 2024, when the rate stood at 1.4240. On a monthly basis, the Canadian dollar strengthened 1.8% from November 2025. |
| 15 | + |
| 16 | +<div class="highlights"> |
| 17 | + |
| 18 | +**Highlights** |
| 19 | + |
| 20 | +- The Canadian dollar strengthened 3.1% year over year against the U.S. dollar |
| 21 | +- Monthly average exchange rate was 1.3802 CAD per USD in December 2025 |
| 22 | +- The Canadian dollar weakened against European currencies, with the euro and Swiss franc both up over 8% |
| 23 | +- The Swedish krona showed the largest gain against the Canadian dollar at 14.4% |
| 24 | + |
| 25 | +</div> |
| 26 | + |
| 27 | +## U.S. dollar exchange rate trend |
| 28 | + |
| 29 | +The exchange rate has fluctuated through 2025, reaching a peak of 1.4390 CAD per USD in January before declining through the spring. After a brief recovery in the fall, the rate fell back to 1.3802 in December. |
| 30 | + |
| 31 | +```js |
| 32 | +import * as Plot from "npm:@observablehq/plot"; |
| 33 | + |
| 34 | +const exchangeData = [ |
| 35 | + {date: new Date("2024-01"), rate: 1.3425}, |
| 36 | + {date: new Date("2024-02"), rate: 1.3501}, |
| 37 | + {date: new Date("2024-03"), rate: 1.3539}, |
| 38 | + {date: new Date("2024-04"), rate: 1.3674}, |
| 39 | + {date: new Date("2024-05"), rate: 1.3670}, |
| 40 | + {date: new Date("2024-06"), rate: 1.3707}, |
| 41 | + {date: new Date("2024-07"), rate: 1.3712}, |
| 42 | + {date: new Date("2024-08"), rate: 1.3652}, |
| 43 | + {date: new Date("2024-09"), rate: 1.3546}, |
| 44 | + {date: new Date("2024-10"), rate: 1.3755}, |
| 45 | + {date: new Date("2024-11"), rate: 1.3975}, |
| 46 | + {date: new Date("2024-12"), rate: 1.4240}, |
| 47 | + {date: new Date("2025-01"), rate: 1.4390}, |
| 48 | + {date: new Date("2025-02"), rate: 1.4301}, |
| 49 | + {date: new Date("2025-03"), rate: 1.4359}, |
| 50 | + {date: new Date("2025-04"), rate: 1.3988}, |
| 51 | + {date: new Date("2025-05"), rate: 1.3860}, |
| 52 | + {date: new Date("2025-06"), rate: 1.3674}, |
| 53 | + {date: new Date("2025-07"), rate: 1.3691}, |
| 54 | + {date: new Date("2025-08"), rate: 1.3802}, |
| 55 | + {date: new Date("2025-09"), rate: 1.3833}, |
| 56 | + {date: new Date("2025-10"), rate: 1.3992}, |
| 57 | + {date: new Date("2025-11"), rate: 1.4055}, |
| 58 | + {date: new Date("2025-12"), rate: 1.3802} |
| 59 | +]; |
| 60 | + |
| 61 | +display(Plot.plot({ |
| 62 | + title: "CAD per USD exchange rate (monthly average)", |
| 63 | + width: 640, |
| 64 | + height: 280, |
| 65 | + y: {domain: [1.30, 1.50], grid: true, label: "CAD per USD"}, |
| 66 | + x: {type: "utc", label: null}, |
| 67 | + marks: [ |
| 68 | + Plot.ruleY([1.35, 1.40, 1.45], {stroke: "#ddd", strokeDasharray: "4,4"}), |
| 69 | + Plot.areaY(exchangeData, {x: "date", y: "rate", fill: "#AF3C43", fillOpacity: 0.1}), |
| 70 | + Plot.lineY(exchangeData, {x: "date", y: "rate", stroke: "#AF3C43", strokeWidth: 2}), |
| 71 | + Plot.dot(exchangeData, {x: "date", y: "rate", fill: "#AF3C43", r: 3}) |
| 72 | + ] |
| 73 | +})); |
| 74 | +``` |
| 75 | + |
| 76 | +## Currency performance versus Canadian dollar |
| 77 | + |
| 78 | +The Canadian dollar's performance varied widely across major trading partner currencies in December 2025. European currencies strengthened significantly against the Canadian dollar, while most Asian currencies weakened. |
| 79 | + |
| 80 | +```js |
| 81 | +const currencies = [ |
| 82 | + {name: "Swedish krona", change: 14.4}, |
| 83 | + {name: "Euro", change: 8.4}, |
| 84 | + {name: "Swiss franc", change: 8.4}, |
| 85 | + {name: "Mexican peso", change: 8.6}, |
| 86 | + {name: "Brazilian real", change: 8.4}, |
| 87 | + {name: "Peruvian sol", change: 7.5}, |
| 88 | + {name: "Norwegian krone", change: 7.5}, |
| 89 | + {name: "South African rand", change: 4.7}, |
| 90 | + {name: "U.K. pound", change: 2.5}, |
| 91 | + {name: "Singapore dollar", change: 1.4}, |
| 92 | + {name: "Australian dollar", change: 1.5}, |
| 93 | + {name: "Chinese renminbi", change: 0.2}, |
| 94 | + {name: "New Zealand dollar", change: -2.5}, |
| 95 | + {name: "Saudi riyal", change: -2.9}, |
| 96 | + {name: "U.S. dollar", change: -3.1}, |
| 97 | + {name: "Hong Kong dollar", change: -3.2}, |
| 98 | + {name: "Japanese yen", change: -4.4}, |
| 99 | + {name: "South Korean won", change: -5.0}, |
| 100 | + {name: "Indian rupee", change: -8.5} |
| 101 | +]; |
| 102 | + |
| 103 | +display(Plot.plot({ |
| 104 | + title: "Year-over-year change vs CAD by currency (%)", |
| 105 | + width: 640, |
| 106 | + height: 480, |
| 107 | + marginLeft: 120, |
| 108 | + x: {domain: [-15, 20], grid: true, label: "Percent change"}, |
| 109 | + y: {label: null}, |
| 110 | + marks: [ |
| 111 | + Plot.ruleX([0]), |
| 112 | + Plot.barX(currencies, { |
| 113 | + y: "name", |
| 114 | + x: "change", |
| 115 | + fill: d => d.change >= 0 ? "#AF3C43" : "#2e7d32", |
| 116 | + sort: {y: "-x"} |
| 117 | + }), |
| 118 | + Plot.text(currencies, { |
| 119 | + y: "name", |
| 120 | + x: "change", |
| 121 | + text: d => (d.change >= 0 ? "+" : "") + d.change.toFixed(1) + "%", |
| 122 | + dx: d => d.change >= 0 ? 20 : -20, |
| 123 | + fill: "currentColor" |
| 124 | + }) |
| 125 | + ] |
| 126 | +})); |
| 127 | +``` |
| 128 | + |
| 129 | +## Major currencies December 2025 |
| 130 | + |
| 131 | +| Currency | CAD per unit | Year-over-year change | |
| 132 | +|----------|-------------|----------------------| |
| 133 | +| U.K. pound sterling | 1.8469 | +2.5% | |
| 134 | +| Swiss franc | 1.7317 | +8.4% | |
| 135 | +| European euro | 1.6162 | +8.4% | |
| 136 | +| U.S. dollar | 1.3802 | -3.1% | |
| 137 | +| Singapore dollar | 1.0689 | +1.4% | |
| 138 | +| Australian dollar | 0.9164 | +1.5% | |
| 139 | +| New Zealand dollar | 0.7983 | -2.5% | |
| 140 | + |
| 141 | +<div class="note-to-readers"> |
| 142 | + |
| 143 | +## Note to readers |
| 144 | + |
| 145 | +These exchange rates represent monthly averages as calculated by the Bank of Canada. Exchange rates are expressed as Canadian dollars per unit of foreign currency. A decrease in the rate indicates that the Canadian dollar has strengthened against the foreign currency. |
| 146 | + |
| 147 | +The Bank of Canada publishes daily noon and closing exchange rates as well as monthly averages for a range of currencies. |
| 148 | + |
| 149 | +</div> |
| 150 | + |
| 151 | +<details> |
| 152 | +<summary>Reproducibility: R code for data extraction</summary> |
| 153 | + |
| 154 | +```r |
| 155 | +library(cansim) |
| 156 | +library(dplyr) |
| 157 | + |
| 158 | +# Fetch exchange rate data |
| 159 | +fx <- get_cansim("33-10-0163") |
| 160 | + |
| 161 | +# USD/CAD time series |
| 162 | +usd_cad <- fx %>% |
| 163 | + filter(`Type of currency` == "U.S. dollar, monthly average") %>% |
| 164 | + select(REF_DATE, VALUE) %>% |
| 165 | + arrange(desc(REF_DATE)) |
| 166 | + |
| 167 | +# December 2025 rate |
| 168 | +dec2025 <- usd_cad %>% filter(REF_DATE == "2025-12") %>% pull(VALUE) |
| 169 | +dec2024 <- usd_cad %>% filter(REF_DATE == "2024-12") %>% pull(VALUE) |
| 170 | +yoy_change <- (dec2025 - dec2024) / dec2024 * 100 |
| 171 | + |
| 172 | +# All currencies December 2025 |
| 173 | +all_currencies <- fx %>% |
| 174 | + filter(REF_DATE == "2025-12") %>% |
| 175 | + select(`Type of currency`, VALUE) %>% |
| 176 | + arrange(desc(VALUE)) |
| 177 | + |
| 178 | +# Year-over-year changes by currency |
| 179 | +yoy_by_currency <- fx %>% |
| 180 | + filter(REF_DATE %in% c("2025-12", "2024-12")) %>% |
| 181 | + select(`Type of currency`, REF_DATE, VALUE) %>% |
| 182 | + tidyr::pivot_wider(names_from = REF_DATE, values_from = VALUE) %>% |
| 183 | + mutate(yoy_change = (`2025-12` - `2024-12`) / `2024-12` * 100) |
| 184 | +``` |
| 185 | + |
| 186 | +</details> |
| 187 | + |
| 188 | +<div class="source-info"> |
| 189 | + |
| 190 | +**Source:** Statistics Canada, [Table 33-10-0163](https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3310016301) |
| 191 | +**Survey:** Bank of Canada |
| 192 | +**Reference period:** December 2025 |
| 193 | + |
| 194 | +</div> |
| 195 | + |
| 196 | +```js |
| 197 | +// Related articles sidebar |
| 198 | +import {createSidebar} from "../../components/sidebar.js"; |
| 199 | +const articles = await FileAttachment("../../articles.json").json(); |
| 200 | +display(createSidebar(articles, "exchange-rates-december-2025", "en")); |
| 201 | +``` |
0 commit comments