Curitiba weather by month — averages, rainfall & climate trends
Up on the southern Brazilian plateau, Curitiba is one of the coolest, foggiest big cities in the country, a place of misty mornings, winter frosts and the rare dusting of snow. Average temperatures and rainfall by month, a climate graph, today's conditions versus the long-term average, and how the climate has shifted since 1940 — all on one page for Curitiba, Brazil.
Today vs average
+6.0°Cmuch warmer than usual
How it’s changed
Right now
What it's doing today vs the historical average for this date.Right now
16.1°
On this date — July 20
Warmer than usual · 6.0°C above the average high
- Record high: 26.0° · 2001
- Record low: -1.1° · 2000
- One year ago: 17.7°
Every July 20 in history — coldest to hottest
Dots show daily highs (top) and lows (bottom) for each July 20 on record (n = 86). Outlined dots are today's forecast.
Area we sample
Each city's history comes from one ERA5 grid cell — about 28 km across, shown by the dashed box. Near mountains or coasts, conditions can vary across the cell.
Location & data
Historical weather for Curitiba is sampled from the ECMWF ERA5 reanalysis at 25.43°S, 49.27°W, with daily records since 1940.
- Coordinates
- 25.43°S, 49.27°W
- Time zone
- America/Sao Paulo
- Period
- 1940–2026
- Data source
- ERA5 (ECMWF)
Last 30 days
16 of the last 30 days were warmer than the historical average for that date. Average difference: +0.0°C.
Each bar is one day, from morning low to afternoon high. Warm-colored bars are days whose mean ran above average; cool bars ran below. The dot inside the bar is the daily mean. The shaded band is the typical 10–90% range expected for that date. Average = the day's mean temperature averaged across every year of record (1940–2026) for that calendar date.
This date over the years
One dot per year — the mean temperature on this calendar date. Dots are warmer or cooler than the long-term average (dashed line); the shaded band is the typical 10–90% range, and the highlighted dot is today's forecast. Based on ERA5 reanalysis — modelled estimates, not station readings.
Weather by month
Average temperatures and rainfall for each month — what a typical year looks like, from the full record.Climate overview
Curitiba sits on a plateau in southern Brazil, more than 900 metres up in the state of Paraná. The altitude gives it a subtropical highland climate (Köppen Cfb) far cooler than the Brazilian norm: mild summers and chilly winters, with night-time frosts common in the cold months. The flat plateau drains slowly, and the lingering moisture has earned the city its nickname, the City of Eternal Fog.
Cold fronts pushing up from Antarctica and Argentina sweep through the year round, dragging extratropical storms and sharp frosts into the region in winter. Snow is rare but not unheard of, recorded in a scattering of years across more than a century, most recently in 2020. For Brazilians accustomed to heat, the grey, cool, damp character of Curitiba comes as a surprise.
February brings the year's peak warmth: daily means of 20.5°C, with afternoons typically reaching 24.9°C. At the other extreme, July averages 13.3°C, with typical overnight lows of 9.8°C.
The yearly total for Curitiba comes to about 1543 mm; monthly amounts range from 84 mm in July up to 206 mm in January. A typical year brings rain or snow on around 175 days.
Over the full record (since 1940), the annual mean temperature in Curitiba has risen by 0.9°C between its first decade and its last. The count of days past 30°C has risen from roughly 1 a year to 8 between the record's first and last decades.
Climate graph (climograph)
February is the warmest month, July the coolest — a yearly swing of 7°C. Wettest month: January (~206 mm). Whole year averages ~1543 mm of rain.
Bars = average monthly rainfall (right axis). Lines = average daily high and low (left axis). Average = each month's value averaged across every year of record (1940–2026).
Monthly wind
Average daily peak wind at 10 m, by month.
Monthly solar energy
Average daily incoming solar energy in megajoules per square metre — a measured proxy for how sunny the month is.
Curitiba month by month — what to expect
Typical conditions for each month, averaged across the full record (since 1940). Daylight is the time from sunrise to sunset. Record high/low are the most extreme values in the ERA5 dataset (modelled since 1940), so they can differ from official weather-station readings.
| Month | Avg high | Avg low | Rain | Daylight | Record high | Record low |
|---|---|---|---|---|---|---|
| January | 24.9° | 17.3° | 206 mm | 13.4 h | 33.7° (2024) | 9.2° (1980) |
| February | 24.9° | 17.5° | 180 mm | 12.9 h | 33.3° (2014) | 10.1° (1991) |
| March | 24.0° | 16.7° | 142 mm | 12.2 h | 32.0° (2024) | 6.3° (1976) |
| April | 22.0° | 14.6° | 85 mm | 11.4 h | 31.0° (2016) | 1.7° (1971) |
| May | 19.5° | 11.9° | 90 mm | 10.8 h | 28.5° (1995) | -0.5° (1968) |
| June | 18.3° | 10.4° | 90 mm | 10.4 h | 26.2° (1997) | -2.0° (1994) |
| July | 18.1° | 9.8° | 84 mm | 10.6 h | 26.9° (1987) | -5.8° (1975) |
| August | 19.6° | 10.6° | 84 mm | 11.1 h | 29.8° (2023) | -2.5° (1991) |
| September | 20.4° | 11.9° | 127 mm | 11.9 h | 32.4° (2012) | -0.3° (1980) |
| October | 21.4° | 13.5° | 152 mm | 12.6 h | 33.1° (2020) | 4.0° (1970) |
| November | 22.8° | 14.6° | 130 mm | 13.3 h | 32.8° (2023) | 6.1° (1970) |
| December | 24.0° | 16.2° | 171 mm | 13.6 h | 32.6° (2023) | 9.3° (1972) |
How it has changed
Year-by-year signals from 1940 to today.Climate stripes
Annual mean shifted from 1940–1949 to 2016–2025 by +0.9°C.
Each vertical stripe is one year. Color encodes how much that year's annual mean differed from the long-term average. Average = each year's annual mean compared to the average of all years (1940–2026). cooler ← → warmer
Annual mean temperature
Long-term trend: +0.15°C per decade.
One point per year — the temperature averaged across the whole year. The dashed line is the least-squares long-term trend. Based on ERA5 reanalysis — modelled estimates, not station readings.
Seasonal warming
Dec–Feb is warming fastest: +0.20°C per decade.
Each faint line is one three-month period's average per year; the bold dashed line is its long-term trend. Different parts of the year often warm at different rates. Based on ERA5 reanalysis — modelled estimates, not station readings.
Hot days vs frost days
Days ≥ 30°C per year: 0.9 early in the record → 8.1 recently. Frost days: 0 → 1.
Thin lines are raw yearly counts; thick lines are the smoothed trend that removes year-to-year noise. The hot-day threshold is auto-picked per city so the line actually moves. Average = a centered 5-year rolling average to smooth weather noise.
Yearly hot & cold extremes
All-time high in 2024, all-time low in 1975: 33.7°C / -5.8°C.
One point per year — the single hottest and coldest day recorded that year.
Annual rainfall
~1543 mm/year on average. Last decade ran −5% vs that average. Long-term trend: +13 mm per decade.
One bar per year of total rainfall. Dashed line is the long-term average. Average = the average annual rainfall across every year of record (1940–2026).
Day-by-day grid
Each tiny square is one calendar day across the full record — ~30,000 days per city. Use the mode switch above the chart: Anomaly colors each day by how far it ran from the historical average for that date (red = warmer, blue = cooler), Daily mean temp shows the absolute mean temperature for the day (useful to see seasons and heatwaves), and Precipitation shows daily rainfall (useful to spot wet/dry seasons and droughts). Average = the long-term average for that calendar date (1940–2026).