Autopilot America Research · 2018–2025 FOIA data, dollars 3-yr avg 2022–24 · Published May 2026

Chicago bills the average registered vehicle about $218 a year in tickets, late fees, boots, and tows

That's the 3-year average of the matured years 2022–24 — spread across all 1.29M Chicago-registered cars. Most pay much less; a smaller group pays much more. Below: the per-component breakdown, sourced from the City's own FOIA data, with every query you'd need to reproduce it.

Looking for "per ticketed driver" instead of "per all drivers"? See /the-math — same FOIA data, divided by the 883,240 Chicago plates that actually got a ticket. Per-ticketed-driver late fees come out to about $100. Different denominator, same source.

Per Chicago-registered vehicle · 3-yr avg 2022–24

Ticket fines billed (face value, Chicago-zip)$135.78Late fees billed when notice escalated (Chicago-zip)$68.16Boot fees billed (citywide / 1.29M)$3.41Tow + storage billed (75.3% Chicago share / 1.29M, est.)$10.72Total$218.07

Tickets and late fees are filtered to Chicago-registered cars only and averaged over the matured years 2022–24. The city doesn't record the zip of booted/towed vehicles, so for tows we use the 75.3% IL/Chicago-plate share verified in the tow FOIA; boots are already built from accumulated Chicago tickets. See the boot/tow section for detail.

In plain English

Add up every parking ticket, late penalty, boot fee, and tow charge Chicago billed in a year. Divide by all 1.29M cars registered to a Chicago address. You get about $218 per vehicle.

This isn't "your bill" — it's "what the system, in total, charges Chicago drivers." Like ER bills: the average across all residents is meaningful even though most never visit one.

What this number is — and isn't

It IS what Chicago billed drivers — original fines, late penalties that were actually triggered (not just doublable in theory), boot fees, and tow + storage — divided across the 1.29M vehicle fleet.

It is NOT:

  • What Chicago collected. The city collects only a fraction of what it bills; the rest sits as debt or is written off.
  • Tickets to suburban or out-of-state drivers (excluded — we filter to vehicles registered at 606xx zip codes).
  • City stickers, license-plate stickers, residential permits, registration, or insurance.
  • Impound auction proceeds or other downstream city revenue.

Where the numbers come from

All ticket numbers come from a SQLite database built from Chicago Department of Finance FOIA responses covering 2018–2025. The full database holds 35.7 million ticket rows across that period. Each row is one ticket and includes: the original fine, the escalated fine after the 25-day window (which respects the city's $250 total-fine cap — see Step 3), how far through the notice process the ticket has gone, how much has been paid, and the zip code where the vehicle is registered.

Boot counts come from a separate Department of Finance FOIA (file F120036-111425) returning annual boot totals, boot releases, and boot/tow/storage fee revenue. Tow counts come from a Streets & Sanitation FOIA (file F136267-041626) listing every towed vehicle in Chicago. That FOIA covers Jan 2025–Mar 2026, so we use only the 2025 tow records (61,204 tows) — the one full calendar year it contains — scaled to the 75.3% Chicago-plate share.

Methodology, step by step

Step 1 — Filter the ticket data to Chicago-registered vehicles.

Every ticket in the Finance dataset has the zip code where the cited vehicle is registered. Chicago zip codes all start with "606" (60601 downtown through 60661). The filter:

WHERE zipcode LIKE '606%'

This excludes tickets given to suburban or out-of-state drivers parked illegally in Chicago. Those drivers pay too, but the goal here is the burden on Chicagoans specifically.

Step 2 — Add up the base-fine portion of what was actually billed.

We work on a billed basis, using the City's own money columns: total_payments + current_amount_due — what a ticket has been paid, plus what's still owed on it. The base-fine portion is that amount capped at each ticket's sticker price (fine_level1); anything above the sticker price is a late penalty, counted separately in Step 3. Dismissed tickets net out to about $0 here — nothing paid, nothing owed — which is correct: the driver no longer owes them.

SELECT SUM(MIN(total_payments + current_amount_due, fine_level1)) / 3   -- ÷ 3 years
FROM tickets
WHERE zipcode LIKE '606%'
  AND substr(issue_datetime, instr(issue_datetime,' ')-4, 4) IN ('2022','2023','2024')
  AND violation_desc NOT LIKE '%WARNING%';
-- = $175M  (per-year average over 2022–24)

Step 3 — Add up the late fees that were actually triggered.

Chicago's late-fee rule (Municipal Code § 9-100-050): if you don't pay within 25 days, a late penalty attaches equal to the lesser of the original fine, or $250 minus the original fine. The total fine after the late penalty can never exceed $250.

  • Tickets under $125: the fine effectively doubles. Street cleaning $60 → $120. Expired meter $50 → $100. Speed camera $35 → $70.
  • Tickets $126–$249: the late fee fills the gap to $250. City sticker $200 → +$50 late = $250 total.
  • Tickets at $250 already (CBD double parking, bike path, disabled zone, city sticker over 16K lbs): no late fee. They're already at the cap.

But the schedule only says what a late fee could be. To count what was actually billed, we take the money on each ticket above its base fine: MAX(0, (total_payments + current_amount_due) − fine_level1). We deliberately do not use fine_level2 − fine_level1fine_level2 is just the doubled price printed on every ticket whether or not the late fee was ever charged, so summing it counts phantom penalties on the millions of tickets paid on time. On the real billed basis, about 41% of Chicago-zip tickets actually incur a late fee, and the total comes to $88M.

Source: chicago.gov — official Department of Finance fine schedule.

Step 4 — Add boots and tows (citywide).

  • Boots: 44,014 in 2025 × $100 boot fee = $4.40M billed.
  • Tows + storage: 61,204 in 2025 × ~$300 avg (tow $150 + storage averaging ~$150 across redemption timing) = ~$18.4M citywide, of which the 75.3% IL/Chicago-plate share ≈ $13.8M is attributed to Chicago drivers. Tow cost estimated under MCC 9-92-080; storage averages weighted across 54% same-week redemptions and 13% kept through to auction.

Honesty caveat on boots and tows

Boot and tow records don't include the registered-vehicle zip. For tows we apply the 75.3% IL/Chicago-plate shareverified in the Streets & Sanitation tow FOIA, rather than charging Chicago drivers for every citywide tow — visitors and commuters get caught in tow-zone, snow-route, and hazard tows too. Boots are left at their citywide count because the boot list is built from accumulated Chicago tickets in the first place. If the City ever provides full zip data, these get refined further.

Step 5 — Divide by the Chicago vehicle fleet.

Chicago has approximately 1.29 million registered vehicles. We use the U.S. Census ACS 2024 1-year estimate — Table B25046, aggregate vehicles available, 1,289,632 — because it's the most authoritative single count of the city's fleet. For reference, the Chicago City Clerk logs ~1.12M annual city-sticker registrations (FOIA F118286), but that counts only sticker-compliant vehicles and structurally undercounts the true fleet (every car that skipped its sticker is missing). We use the broader Census figure, which also gives the more conservative per-vehicle number. It's the figure used across our marketing.

Ticket fines$175M ÷ 1.29M$135.78
Late fees$88M ÷ 1.29M$68.16
Boot fees$4.40M ÷ 1.29M$3.41
Tow + storage (75.3% Chi share)$13.8M ÷ 1.29M$10.72
Total per Chicago vehicle · 3-yr avg 2022–24$218.07

Year-by-year, Chicago-zip vehicles (tickets + late fees only)

For context: how the ticket + late-fee per-vehicle figure has moved year to year. Boots and tows aren't broken out here because we only have 2025 tow data.

YearTicketsw/ late feeFines billedLate billed$/vehicle
20181,764,809628,081$142.2M$77.0M$169.97
20191,578,908570,391$128.1M$64.6M$149.42
20201,265,655497,462$105.5M$50.8M$121.20
20212,560,936998,601$166.7M$82.4M$193.16
20222,726,9451,112,280$180.1M$90.7M$209.98
20232,566,4961,061,261$176.4M$86.9M$204.17
20242,442,4851,092,494$169.3M$86.1M$198.04
2025 (still maturing)2,684,2051,108,245$182.7M$82.4M$205.56

★ The headline averages the 2022–24 rows — the matured years (everything paid, written off, or settled). The 2025 row still understates late fees because they're only half-accrued. The averaged ticket + late-fee $/vehicle, plus boots ($3.41) + tows ($10.72), gives the headline $218.

Why my numbers might look bigger than ones you've seen before

Reporters and city budget docs typically cite collected figures — money the city actually deposited. This page cites billed figures — money the city charged drivers, whether or not it was ever collected.

They're different numbers. The gap is huge, and it's the most important thing to understand about Chicago's ticket system:

Metric · 3-yr avg 2022–24Chicago-zipCitywide
Fines + late fees billed$263M$429M
Of which: late fees only, billed$88M$140M
Late fees actually paid$24.1M$38.2M
Total ticket payments collected$141.7M$240.1M

So the city bills roughly $140 million a year in late fees citywide but collects only about $38 million of it. The other ~$102M is unpaid debt that piles up, goes to collections, gets dismissed at administrative hearings, gets discharged in bankruptcy, or sits on drivers' records forever. WBEZ and ProPublica's "The Debt" investigation (2018) documented $750M+ in outstanding ticket debt for exactly this reason.

What about hearings? Only about $5.6M in original fines — across 59,632 Chicago-zip tickets dismissed as "Not Liable" — got wiped at administrative hearings. That's roughly 2% of the $263M billed to Chicago-zip drivers. The other ~98% either sticks or sits.

Why we use billed, not collected

A late fee that was billed is a real event for the driver — it shows up on their record, drives them onto the boot list, suspends their license, and follows them into collections. The fact that the city didn't ultimately collect it doesn't mean the driver wasn't penalized. For "what Chicagoans actually experience," billed is the honest number.

Caveats, in order of importance

  1. "Average" ≠ "typical." Most Chicago drivers pay much less than $218/year; a smaller group pays much more. This is sum-divided-by-fleet, not a median.
  2. Boots and tows lack a vehicle zip. Their records don't include the registered-vehicle zip. For tows we apply the 75.3% IL/Chicago-plate share verified in the tow FOIA rather than charging Chicago drivers for every citywide tow; boots stay at their citywide count because the boot list is built from accumulated Chicago tickets.
  3. Tow cost is an estimate. $300/tow applies the City's fee schedule to typical redemption timing. Real per-tow cost varies widely.
  4. The denominator is the Census count, which is the conservative choice. 1.29M (Census ACS 2024 1-yr, B25046) is larger than the Clerk's ~1.12M city-sticker count, so the per-vehicle figure here is lower than it would be on the sticker count. When two defensible numbers exist, we divide by the bigger one — we'd rather understate the cost than overstate it.
  5. Excludes: red-light/speed camera tickets to suburban or out-of-state drivers (those don't have 606xx zips); city sticker purchase price; registration; residential parking permits; ride-share fees; congestion fees; meter payments.
  6. Warnings (fine = $0) are counted as tickets but contribute $0 to the dollar totals — about 1.6M warning notices over 2018–2025 don't affect the per-vehicle figure.

How to reproduce this

The underlying SQLite database is built from a stack of Chicago Finance FOIA responses. The full query schedule used to produce every number on this page is below — anyone with the FOIA file can run it.

-- Chicago-zip ticket totals, BILLED basis, 3-YEAR AVERAGE 2022–24.
-- "billed" = the City's money columns: total_payments + current_amount_due.
-- Denominator: 1,289,632 Chicago vehicles (Census ACS 2024 1-yr, B25046) × 3 years.
SELECT
  COUNT(*) / 3                                                  AS tickets_per_yr,
  ROUND(SUM(MIN(total_payments + current_amount_due, fine_level1)) / 3, 0)
                                                                AS fines_billed_usd_per_yr,
  ROUND(SUM(MAX(0, total_payments + current_amount_due - fine_level1)) / 3, 0)
                                                                AS late_fees_billed_usd_per_yr,
  ROUND(SUM(MIN(total_payments + current_amount_due, fine_level1)) / (3 * 1289632.0), 2)
                                                                AS fines_per_vehicle,    -- ≈ 135.8
  ROUND(SUM(MAX(0, total_payments + current_amount_due - fine_level1)) / (3 * 1289632.0), 2)
                                                                AS late_per_vehicle      -- ≈ 68.2
FROM tickets
WHERE zipcode LIKE '606%'
  AND substr(issue_datetime, instr(issue_datetime,' ')-4, 4) IN ('2022','2023','2024')
  AND violation_desc NOT LIKE '%WARNING%';

Questions or corrections

This analysis was produced by Autopilot America. If you're a reporter or researcher and want the underlying FOIA files, query scripts, or want to point out an error in the methodology, email randyvollrath@gmail.com. Corrections will be reflected here with a dated update note.

Sources: Chicago Department of Finance ticket data (FOIA F129773-022626, covering 2018–2025 for the year-by-year table; the headline 2022–24 figures match the F118906-110325 file on /data-sources); Chicago Department of Finance boot statistics & fees (FOIA F120036-111425); Chicago Department of Streets & Sanitation tow records (FOIA F136267-041626). Chicago vehicle count from U.S. Census American Community Survey, corroborated by Chicago City Clerk FOIA F118286. Database last refreshed April 10, 2026.