9% of American *citizens* don't have the identification that the SAVE Act requires to vote. Almost 1 in 10.
This is a voter suppression bill.

Congress Member Profile|U.S. Senator|Democrat|Illinois
Tammy Duckworth
Source: Wikipedia • View full (CC BY-SA)
SoupScoreanalysis-first civic rating · view full breakdown
Loading…
Voting Record — 772
Yes27%
No66%
Present0%
Not Voting8%
Party align97%
Cross-party2%
SoupScore
District Map
Senate District (Statewide)
U.S. Census Bureau boundary data.
Social & Web
External Resources

Tammy Duckworth
U.S. SenatorDemocratIllinois
SoupScore
Tammy's ATmosphere Activity
20 recent posts · 48 sponsored · 357 cosponsored
Recent ATmosphere posts, sponsorships, and cosponsorships.
Absolutely horrific. None of our VA employees should ever have to fear for their safety when they serve our Veterans.
My thoughts are with the victim, their loved ones and everyone else working at the clinic.
Again and again, Democrats have tried to fund TSA, FEMA and the Coast Guard while we negotiate on ICE and Border Patrol.
Republicans have blocked us every time.
The SAVE Act is not about stopping voter fraud. It was designed to serve the fraud in the White House.
Trump knows his policies aren’t popular so he is desperate to stop Americans from having their voices heard.
It’s the “Save Trump’s Ass Act.”
I will vote no.
My thoughts are with the Air Force and the entire military community in the wake of this tragedy. We know they will always answer the call and execute their missions, despite their grief.
Congress must do its job and vote to end this war.
This loss of life is devastating, and I’m sending my most sincere condolences to their families who pay this tremendous sacrifice to our nation, too.
The true cost of war. 6 more Americans have been killed while executing their mission during Operation Epic Fury, never to return home to their loved ones.
In 1991, the average age of a first-time homebuyer was 29. Now, it's 40.
Today, the Senate passed the biggest legislative housing package in 30 years to tackle this crisis.
It's past time we bring the American dream of buying a home back within reach of the middle class.
Horrified by the attack on Temple Israel in Michigan.
It is unacceptable that another Jewish community is left traumatized by such blatant antisemitism in America.
Everyone should be able to pray in their house of worship without fear.
Shrapnel wounds. Brain injuries. Burns.
Trump is throwing our troops into unjustified foreign wars while gutting our VA and making it harder to get the care they earned when they come home.
The true cost of war is so much more than a billion dollars a day. It's paid for in the blood and sacrifices of our troops—who still don't know what the mission is, when it will end or whether their wounds are justified.
We need to put this Administration under oath in a public hearing. Now.
Absolutely infuriating.
The Iranian missile that Hegseth downplayed as a "squirter getting through" killed six Americans and left dozens with traumatic brain injuries, burns and shrapnel in their bodies.
This president never served in uniform—but has no problem using our troops as cannon fodder in a war he cannot justify.
Enough. We need to put them under oath to get the answers our troops deserve.
Before throwing a new generation of troops into war, they made sure to:
Torpedo our VA.
Enact the biggest health care cut in history.
Shutter hospitals.
Don’t you dare tell me you care about our heroes when you're doing everything you can to undermine care when they get home.
They're hiding their incompetence behind the valor of our men and women in uniform.
As if to question why we're at war is to question our heroes. No, it's to make sure the mission is worth their sacrifices.
Our troops will always do their job.
Republicans need to do theirs.
As many as 140 servicemembers injured. 7 killed. Thousands of Americans stranded in the region with a target on their backs and no escape.
All for a war that a draft dodger cannot even articulate a coherent and consistent justification for.
How. Is. This. America. First.
Trump burned $5.6 billion on munitions alone in the first two days of his unjustified, unauthorized war.
But they don't have money for your health care.
As if food prices weren’t hitting your pocketbook hard enough, now gas prices are another sucker punch.
This is Trump’s doing. Higher costs and more war is not what he promised.
Extending my heartfelt condolences to the loved ones of Sgt. Benjamin N. Pennington, the seventh American servicemember killed in the week since Trump launched another war of choice.
Our troops will always answer the call. Their leaders owe it to them to ensure their sacrifices are justified.
We shall not see the likes of the great Reverend Jesse Jackson again. He leaves us with a legacy our state will never forget.
Rest in my power, my friend.
SoupScore Breakdown
Loading analysis metrics…
Voting History772 total votesExpandCollapse
Voting History
772 total votes
Recent roll calls with party-majority context so it is easier to scan how this member tends to vote.
| Date | Bill | Question | Position | Party Maj | Align? | Result |
|---|---|---|---|---|---|---|
| 2025-10-15 | H.R. 5371 (119th) | End filibuster to begin debate | NOT_VOTING | NO | — | Cloture on the Motion to Proceed Rejected (51-44, 3/5 majority required) |
| 2025-10-14 | H.R. 5371 (119th) | End filibuster to begin debate | NOT_VOTING | NO | — | Cloture on the Motion to Proceed Rejected (49-45, 3/5 majority required) |
| 2025-10-09 | S. 2296 (119th) | Final passage | NO | YES | ✕ | Bill Passed (77-20, 3/5 majority required) |
| 2025-10-09 | S. 2296 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (47-50, 3/5 majority required) |
| 2025-10-09 | S. 2296 (119th) | Vote on amendment | NO | NO | ✓ | Amendment Rejected (10-88, 3/5 majority required) |
| 2025-10-09 | S. 2296 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (46-52, 3/5 majority required) |
| 2025-10-09 | S. 2296 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (47-50, 3/5 majority required) |
| 2025-10-09 | S. 2296 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (46-50, 3/5 majority required) |
| 2025-10-09 | S. 2296 (119th) | Vote on amendment | NO | NO | ✓ | Amendment Rejected (51-46, 3/5 majority required) |
| 2025-10-09 | S. 2296 (119th) | Vote on amendment | NO | NO | ✓ | Amendment Rejected (53-43, 3/5 majority required) |
| 2025-10-09 | S. 2296 (119th) | Vote on amendment | NO | NO | ✓ | Amendment Rejected (14-83, 3/5 majority required) |
| 2025-10-09 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (50-47) |
| 2025-10-09 | H.J. Res. 106 (119th) | Joint Resolution H.J.Res. 106 | NO | NO | ✓ | Joint Resolution Passed (50-46) |
| 2025-10-09 | H.J. Res. 106 (119th) | Begin consideration | NO | NO | ✓ | Motion to Proceed Agreed to (50-47) |
| 2025-10-09 | H.R. 5371 (119th) | End filibuster to begin debate | NO | NO | ✓ | Cloture on the Motion to Proceed Rejected (54-45, 3/5 majority required) |
| 2025-10-09 | S. 2882 (119th) | End filibuster to begin debate | YES | YES | ✓ | Cloture on the Motion to Proceed Rejected (47-50, 3/5 majority required) |
| 2025-10-08 | H.J. Res. 105 (119th) | Joint Resolution H.J.Res. 105 | NO | NO | ✓ | Joint Resolution Passed (50-45) |
| 2025-10-08 | S.J. Res. 83 (119th) | Motion to Discharge S.J.Res. 83 | YES | YES | ✓ | Motion to Discharge Rejected (48-51) |
| 2025-10-08 | S.J. Res. 71 (119th) | Joint Resolution S.J.Res. 71 | YES | YES | ✓ | Joint Resolution Defeated (47-51) |
| 2025-10-08 | H.J. Res. 105 (119th) | Begin consideration | NO | NO | ✓ | Motion to Proceed Agreed to (51-47) |
| 2025-10-08 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (50-47) |
| 2025-10-08 | H.R. 5371 (119th) | End filibuster to begin debate | NO | NO | ✓ | Cloture on the Motion to Proceed Rejected (54-45, 3/5 majority required) |
| 2025-10-08 | S. 2882 (119th) | End filibuster to begin debate | YES | YES | ✓ | Cloture on the Motion to Proceed Rejected (47-52, 3/5 majority required) |
| 2025-10-08 | H.J. Res. 104 (119th) | Joint Resolution H.J.Res. 104 | NO | NO | ✓ | Joint Resolution Passed (52-47) |
| 2025-10-07 | H.J. Res. 104 (119th) | Begin consideration | NO | NO | ✓ | Motion to Proceed Agreed to (50-47) |
| 2025-10-07 | S. Res. 412 (119th) | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (51-47) |
| 2025-10-06 | S. Res. 412 (119th) | End debate | NO | NO | ✓ | Cloture Motion Agreed to (50-45) |
| 2025-10-06 | H.R. 5371 (119th) | End filibuster to begin debate | NO | NO | ✓ | Cloture on the Motion to Proceed Rejected (52-42, 3/5 majority required) |
| 2025-10-06 | S. 2882 (119th) | End filibuster to begin debate | YES | YES | ✓ | Cloture on the Motion to Proceed Rejected (45-50, 3/5 majority required) |
| 2025-10-03 | H.R. 5371 (119th) | End filibuster to begin debate | NO | NO | ✓ | Cloture on the Motion to Proceed Rejected (54-44, 3/5 majority required) |
| 2025-10-03 | S. 2882 (119th) | End filibuster to begin debate | YES | YES | ✓ | Cloture on the Motion to Proceed Rejected (46-52, 3/5 majority required) |
| 2025-10-03 | S. Res. 412 (119th) | Resolution S.Res. 412 | NO | NO | ✓ | Resolution Agreed to (51-46) |
| 2025-10-01 | S. Res. 412 (119th) | End debate | NO | NO | ✓ | Cloture Motion Agreed to (53-46) |
| 2025-10-01 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (52-45) |
| 2025-10-01 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (52-47) |
| 2025-10-01 | H.R. 5371 (119th) | End filibuster to begin debate | NO | NO | ✓ | Cloture on the Motion to Proceed Rejected (55-45, 3/5 majority required) |
| 2025-10-01 | S. 2882 (119th) | End filibuster to begin debate | YES | YES | ✓ | Cloture on the Motion to Proceed Rejected (47-53, 3/5 majority required) |
| 2025-09-30 | H.R. 5371 (119th) | Final passage | NO | NO | ✓ | Bill Defeated (55-45, 3/5 majority required) |
| 2025-09-30 | S. 2882 (119th) | Final passage | YES | YES | ✓ | Bill Defeated (47-53, 3/5 majority required) |
| 2025-09-29 | S. 2806 (119th) | End filibuster to begin debate | NO | NO | ✓ | Cloture on the Motion to Proceed Rejected (37-61, 3/5 majority required) |
| 2025-09-29 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (54-45) |
| 2025-09-29 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (54-45) |
| 2025-09-19 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (47-43) |
| 2025-09-19 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (47-45) |
| 2025-09-19 | H.R. 5371 (119th) | Final passage | NO | NO | ✓ | Bill Defeated (44-48, 3/5 majority required) |
| 2025-09-19 | S. 2882 (119th) | Final passage | YES | YES | ✓ | Bill Defeated (47-45, 3/5 majority required) |
| 2025-09-18 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (51-47) |
| 2025-09-17 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (52-47) |
| 2025-09-17 | — | Decision of the Chair PN12-19 and PN25-28 and PN12-45 and PN22-1 and PN22-2 and PN22-5 and PN22-27 and PN22-20 and PN22-21 and PN26-8 and PN26-34 and PN26-35 and PN55-41 and PN22-4 and PN22-8 and PN22-19 and PN26-1 and PN22-23 and PN25-40 and PN26-7 and PN26-19 and PN26-31 and PN60-3 and PN26-44 and PN25-2 and PN55-16 and PN60-9 and PN60-10 and PN129-8 and PN26-45 and PN141-37 and PN141-7 and PN141-28 and PN12-22 and PN25-21 and PN22-3 and PN26-22 and PN13-5 and PN22-24 and PN25-33 and PN141-18 and PN150-5 and PN345-16 and PN55-42 and PN54-6 and PN54-7 and PN55-45 and PN55-25 | YES | YES | ✓ | Decision of Chair Not Sustained (47-52) |
| 2025-09-17 | — | Motion to Reconsider PN55-25 and PN55-45 and PN54-7 and PN54-6 and PN55-42 and PN345-16 and PN150-5 and PN141-18 and PN25-33 and PN22-24 and PN13-5 and PN26-22 and PN22-3 and PN25-21 and PN12-22 and PN141-28 and PN141-7 and PN141-37 and PN26-45 and PN129-8 and PN60-10 and PN60-9 and PN55-16 and PN25-2 and PN26-44 and PN60-3 and PN26-31 and PN26-19 and PN26-7 and PN25-40 and PN22-23 and PN26-1 and PN22-19 and PN22-8 and PN22-4 and PN55-41 and PN26-35 and PN26-34 and PN26-8 and PN22-21 and PN22-20 and PN22-27 and PN22-5 and PN22-2 and PN22-1 and PN12-45 and PN12-19 and PN25-28 | NO | NO | ✓ | Motion to Reconsider Agreed to (51-47) |
Alignment stats consider only votes where a clear yes/no majority existed for the legislator's party. Cross-party marks divergence where the vote matched the opposite party majority. ↔ indicates cross-party divergence.