Autopilot America Research · 2025 data · Published May 2026
Chicago bills the average registered vehicle about $285 a year in tickets, late fees, boots, and tows
That's calendar year 2025, 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.
Per Chicago-registered vehicle, calendar year 2025
Tickets and late fees are filtered to Chicago-registered cars only. Boots and tows are reported citywide because the city does not record the zip of booted/towed vehicles — we divide those citywide totals by Chicago's 1.29M-vehicle fleet as our best available approximation, knowing this slightly overstates the per-Chicago-driver share. 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 2025. Divide by all 1.29M cars registered to a Chicago address. You get about $285 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, but to keep all numbers on this page anchored to a single calendar year, we use only the 2025 tow records (61,204 tows).
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 original face-value fine on every Chicago-zip ticket issued in 2025.
The fine_level1 column is the sticker price of each ticket — what you'd see if you paid within 25 days. We sum it across every Chicago-zip ticket issued in 2025. This is "tickets issued," not "tickets paid." Dismissed tickets are included because the driver was still billed.
SELECT SUM(fine_level1) FROM tickets WHERE zipcode LIKE '606%' AND substr(issue_datetime,7,4) = '2025'; -- = $191.1M
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.
Our SQL counts the actual late penalty per ticket as fine_level2 − fine_level1 — respecting the cap automatically — and only counts it when the City actually moved the ticket past the 25-day window (the notice_level field records this). About 88% of Chicago-zip tickets in 2025 hit that threshold. Total billed in late fees alone: $154.2M.
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 billed. 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
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 | $191.1M ÷ 1.29M | $148.18 |
| Late fees | $154.2M ÷ 1.29M | $119.57 |
| Boot fees | $4.40M ÷ 1.29M | $3.41 |
| Tow + storage | $18.4M ÷ 1.29M | $14.24 |
| Total per Chicago vehicle, 2025 | $285.40 |
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.
| Year | Tickets | w/ late fee | Fines billed | Late billed | $/vehicle |
|---|---|---|---|---|---|
| 2018 | 1,910,512 | 1,639,693 | $156.9M | $146.9M | $235.57 |
| 2019 | 1,712,330 | 1,474,311 | $139.7M | $126.7M | $206.57 |
| 2020 | 1,396,477 | 1,193,921 | $112.0M | $95.3M | $160.74 |
| 2021 | 2,921,539 | 2,452,811 | $173.8M | $150.9M | $251.78 |
| 2022 | 2,967,860 | 2,617,237 | $187.9M | $160.3M | $270.00 |
| 2023 | 2,766,259 | 2,460,456 | $184.8M | $152.5M | $261.55 |
| 2024 | 2,632,593 | 2,318,900 | $178.8M | $142.3M | $248.99 |
| 2025 ★ | 2,927,517 | 2,577,953 | $191.1M | $154.2M | $267.75 |
★ The 2025 row is the year this page's headline figure is anchored to. Add boots ($3.41) + tows ($14.24) to the 2025 $/vehicle to get the headline $285.
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 (2025) | Chicago-zip | Citywide |
|---|---|---|
| Fines + late fees billed | $345.3M | $562.0M |
| Of which: late fees only, billed | $154.2M | $242.6M |
| Late fees actually paid | $12.8M | $20.1M |
| Total ticket payments collected | $114.9M | $193.6M |
So the city bills roughly $243 million a year in late fees citywide but only collects about $20 million of it. The other ~$223M 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 $7.1M of the $345M billed to Chicago-zip drivers in 2025 got wiped at administrative hearings (43,436 tickets dismissed as "Not Liable" — $4.5M in original fines and $2.6M in late fees forgiven). That's ~2% of total billing. The other 98% either sticks or sits.
Why we use billed, not collected
Caveats, in order of importance
- "Average" ≠ "typical." Most Chicago drivers pay much less than $285/year; a smaller group pays much more. This is sum-divided-by-fleet, not a median.
- Boots and tows are citywide. Their records don't include the registered-vehicle zip, so they can't be cleanly attributed to Chicago drivers. Dividing citywide totals by Chicago's 1.29M slightly overstates the per-Chicago share (less so for boots, more so for tows).
- Tow cost is an estimate. $300/tow applies the City's fee schedule to typical redemption timing. Real per-tow cost varies widely.
- 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.
- 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.
- 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.
-- 2025 Chicago-zip vehicle ticket totals
SELECT
COUNT(*) AS tickets_issued,
SUM(CASE WHEN notice_level IN ('VIOL','DETR','SEIZ','FINL','DLS')
THEN 1 ELSE 0 END) AS tickets_w_late_fee,
ROUND(SUM(fine_level1), 0) AS fines_billed_usd,
ROUND(SUM(CASE WHEN notice_level IN ('VIOL','DETR','SEIZ','FINL','DLS')
AND fine_level2 > fine_level1
THEN fine_level2 - fine_level1 ELSE 0 END), 0)
AS late_fees_billed_usd,
ROUND(SUM(fine_level1) / 1180000.0, 2) AS fines_per_vehicle,
ROUND(SUM(CASE WHEN notice_level IN ('VIOL','DETR','SEIZ','FINL','DLS')
AND fine_level2 > fine_level1
THEN fine_level2 - fine_level1 ELSE 0 END) / 1180000.0, 2)
AS late_per_vehicle
FROM tickets
WHERE zipcode LIKE '606%'
AND substr(issue_datetime,7,4) = '2025';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); 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.