If you’re concerned about civil liberties, this will terrify you.

Congress Member Profile|U.S. Senator|Democrat|Virginia
Mark R. Warner
SoupScoreanalysis-first civic rating · view full breakdown
Loading…
Voting Record — 890
Yes36%
No60%
Present0%
Not Voting4%
Party align91%
Cross-party9%
SoupScore
District Map
Senate District (Statewide)
U.S. Census Bureau boundary data.
Social & Web
External Resources

Mark R. Warner
U.S. SenatorDemocratVirginia
SoupScore
Mark R.'s ATmosphere Activity
20 recent posts · 54 sponsored · 188 cosponsored
Recent ATmosphere posts, sponsorships, and cosponsorships.
Ripping away health care from millions
Ending job-creating energy tax cuts
Giving a massive windfall to billionaires
This is the center of Trump’s economic policy.
This big awful bill is like rotten fish - it gets stinkier over time.
When millions get thrown off Medicaid, when costs go up for folks insured through the Marketplace, those impacts will raise costs and shutter hospitals for all – even if you have private insurance.
The GOP’s megabill is an uncontained disaster.
Make America Healthy Again is off to a great start!
Happy Fourth of July, Virginia! I’m incredibly proud to celebrate the promises of this country: freedom, equality, and democracy.
Today, as those promises are under attack, it’s important to remember that America has weathered storms before, and has always come out the other side stronger.
Reminder: This GOP tax bill is selling out the American people to pay for tax cuts for billionaires.
Senate Republicans and the Terrible, Horrible, No Good, Very Bad Bill.
The fight isn’t over. There is still a chance to stop this legislation in the House, so keep up the pressure.
Yesterday, Senate Republicans tore health care away from 323,000 Virginians.
www.vpm.org/news/2025-07...
One man and one party are responsible for this mess. Donald Trump and the Republicans.
Wondering what’s going on with the vote-a-rama? For the last 24 hrs, I’ve been answering your questions on my Instagram stories – follow me at senatorwarner for live updates on the tax scam’s prospects, how I fuel for an all-nighter, and the real story of how Tim Kaine and I met.
7 AM update. Been fighting this terrible, cruel, bullshit bill for almost 24 hours. Egg McMuffin in hand, I’m not backing down from trying to protect millions of Americans’ health insurance.
Sick and tired of Republican Senators coming to me privately saying, “Mark, keep speaking up, you’re our conscience.”
I don’t want to be their damn conscience.
I want them to vote their conscience.
6:05 am.
Hour 21 of fighting this awful tax scam.
Been up all night, but not going to give up anytime soon.
The health care of 17 million Americans is too important not to fight for.
3 AM update: hour 18 of fighting this horrible tax scam, but hanging out with Casper in between votes — we’ll be here as long as it takes.
1 AM update: Still here, still fighting for the millions of Americans who will lose their health care as a result of this tax bill.
Unbelievable. While his party does all-night votes to rip away health insurance from millions, Trump hawks his perfume. Bet it smells like this whole bill — garbage.
ICYMI — I’m doing an “ask me anything” on my Instagram stories. Follow me at senatorwarner (and tap on my highlight AMA: tax scam) to submit questions and hear about how I’m fighting this horrible, cruel bill.
My friend Sen. Tillis is right to ask — what are Republicans going to tell the American people when they realize that Trump broke his promise and pushed them off of Medicaid?
Wow.
Under Senate Republicans’ latest scheme to gut Medicaid, more than 900,000 Virginians could lose their health insurance.
There’s still time to stop this if my Republican colleagues can find the courage to do the right thing.
SoupScore Breakdown
Loading analysis metrics…
Voting History890 total votesExpandCollapse
Voting History
890 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-04-05 | H. Con. Res. 14 (119th) | Accept House changes | NO | NO | ✓ | Concurrent Resolution Agreed to (51-48) |
| 2025-04-05 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (47-52) |
| 2025-04-05 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (49-50) |
| 2025-04-05 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (48-51) |
| 2025-04-05 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (48-51) |
| 2025-04-05 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (49-50) |
| 2025-04-05 | — | Motion (Motion to Waive Section 305(b)(2) of the CBA re: Cortez Masto Amdt. No. 1690) | YES | YES | ✓ | Motion Rejected (49-50, 3/5 majority required) |
| 2025-04-05 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (47-52) |
| 2025-04-05 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (49-50) |
| 2025-04-05 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (48-51) |
| 2025-04-04 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (49-50) |
| 2025-04-04 | H. Con. Res. 14 (119th) | Vote on amendment | NO | NO | ✓ | Amendment Rejected (5-94) |
| 2025-04-04 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (48-51) |
| 2025-04-04 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (48-51) |
| 2025-04-04 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (46-53) |
| 2025-04-04 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (48-51) |
| 2025-04-04 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (46-53) |
| 2025-04-04 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (47-51) |
| 2025-04-04 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (48-51) |
| 2025-04-04 | H. Con. Res. 14 (119th) | Vote on amendment | YES | YES | ✓ | Amendment Rejected (46-53) |
| 2025-04-04 | H. Con. Res. 14 (119th) | Vote on amendment | NO | NO | ✓ | Amendment Agreed to (51-48) |
| 2025-04-03 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (52-45) |
| 2025-04-03 | H. Con. Res. 14 (119th) | Begin consideration | NO | NO | ✓ | Motion to Proceed Agreed to (52-48) |
| 2025-04-03 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (52-45) |
| 2025-04-03 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (53-45) |
| 2025-04-03 | S.J. Res. 26 (119th) | Motion to Discharge S.J.Res. 26 | NO | NO | ✓ | Motion to Discharge Rejected (15-83) |
| 2025-04-03 | S.J. Res. 33 (119th) | Motion to Discharge S.J.Res. 33 | NO | NO | ✓ | Motion to Discharge Rejected (15-82) |
| 2025-04-03 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (50-45) |
| 2025-04-03 | H.J. Res. 24 (119th) | Approve resolution | NO | NO | ✓ | Joint Resolution Passed (53-42) |
| 2025-04-02 | H.J. Res. 24 (119th) | Begin consideration | NO | NO | ✓ | Motion to Proceed Agreed to (51-46) |
| 2025-04-02 | S.J. Res. 37 (119th) | Approve resolution | YES | YES | ✓ | Joint Resolution Passed (51-48) |
| 2025-04-02 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (52-45) |
| 2025-04-02 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (53-46) |
| 2025-04-01 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (52-45) |
| 2025-03-31 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (49-42) |
| 2025-03-27 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (51-45) |
| 2025-03-27 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (53-47) |
| 2025-03-27 | S.J. Res. 18 (119th) | Approve resolution | NO | NO | ✓ | Joint Resolution Passed (52-48) |
| 2025-03-26 | S.J. Res. 18 (119th) | Begin consideration | NO | NO | ✓ | Motion to Proceed Agreed to (52-47) |
| 2025-03-26 | H.J. Res. 25 (119th) | Approve resolution | YES | NO | ✕↔ | Joint Resolution Passed (70-28) |
| 2025-03-26 | H.J. Res. 25 (119th) | Begin consideration | YES | NO | ✕↔ | Motion to Proceed Agreed to (70-28) |
| 2025-03-26 | — | Confirm nominee | NOT_VOTING | NO | — | Nomination Confirmed (53-43) |
| 2025-03-26 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (52-46) |
| 2025-03-26 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (52-46) |
| 2025-03-26 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (53-45) |
| 2025-03-26 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (53-45) |
| 2025-03-25 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (52-47) |
| 2025-03-25 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (56-44) |
| 2025-03-25 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (56-44) |
| 2025-03-25 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (53-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.