Data · Virginia General Assembly
Republicans vs. Democrats
The House and Senate records of each party, side by side. Voting records, what happened to each party's bills, and the policy areas those bills cover. Every number comes from official LIS records and is computed the same way for both parties.
- Members
- 5584
- Chief-patron measures
- 1,3052,563
- Roll-call records
- 83,204128,828
Top number Republicans, bottom number Democrats; House and Senate combined.
Official source: LIS (lis.virginia.gov) · Data as of Nov 9, 2026 · 2027 tracker captured Nov 13, 2026
At a glance
The two parties, side by side
Bars start from the middle and grow outward. Hover, tap or tab to a bar for the exact numbers behind it. Chamber and measure filters above apply to every chart down to the policy areas.
Who is in the room
Count of members of the party in the selected chamber(s) in the LIS roster data.
Bill activity (chief patron)
Measures a member is chief patron of in the 2026 Regular and Special I sessions, divided by the party's members.
Times a member is listed as a co-patron on someone else's measure (2026 sessions), divided by the party's members.
Share of the party's chief-patron measures that passed both chambers (signed, vetoed after passage, or resolutions passed).
Share of the party's chief-patron measures whose LIS status is signed by the governor. Resolutions never go to the governor.
Share defeated, stricken or folded into another measure.
Share left in committee or continued to 2027 per LIS status.
Floor voting record: final-passage votes
Of the party's member votes on final-passage and third-reading roll calls (rule in Method below), the share recorded Yea.
Same denominator: the share recorded Nay.
Same denominator: the share recorded as not voting (a small number also abstained).
On final-passage votes where the party's majority voted one way, the share of that party's yea/nay votes that matched the majority.
Floor voting record: all roll calls
On every floor roll call (passage, amendments and motions alike; LIS descriptions are not in the member summary) where a party's majority voted one way, the share of yea/nay votes that matched the majority.
What happened to their bills
Outcomes of each party's measures
Every measure on which a member is chief patron, grouped by its final LIS status. The same five outcomes are used for both parties.
Hover, tap or focus a slice or a legend item to compare the same outcome in both rings.
Floor voting record
How each caucus votes
Final-passage and third-reading votes only, so procedural motions are not mixed in: how often the two parties' majorities land on the same side, how closely members stay with their own party's majority, and the most recent roll calls with each party's tally.
Do the party majorities agree on final passage?
- No dissent
- Both party majorities on the same side
- Party majorities on opposite sides
- A party split evenly
House of Delegates
874 final-passage roll callsNo dissent: 97 · Both party majorities on the same side: 293 · Party majorities on opposite sides: 482 · A party split evenly: 2
Senate of Virginia
729 final-passage roll callsNo dissent: 157 · Both party majorities on the same side: 105 · Party majorities on opposite sides: 461 · A party split evenly: 6
Party unity, member by member (no names; all floor roll calls)
% of a member's yea/nay votes that matched their own party's majority (buckets start at the number shown, 2 points wide; last bucket is 98–100)
Most recent roll calls, party tallies
House of Delegates
12 most recent floor roll calls on record, all on the 2026 Budget Bill (HB30). A majority of each party voted the same way on 4 of 12.
- Governor's rec. No. 1 · 57-Y 33-N 0-AMajorities: R Nay, D YeaLIS roll call (opens in a new tab)R0Y · 33N · 3 NVD57Y · 0N · 6 NV
- Governor's rec. No. 2 · 65-Y 25-N 0-AMajorities: R Nay, D YeaLIS roll call (opens in a new tab)R8Y · 25N · 3 NVD57Y · 0N · 6 NV
- Governor's rec. No. 3, 4, and 5 · 88-Y 0-N 0-AParty majorities both YeaLIS roll call (opens in a new tab)R31Y · 0N · 5 NVD57Y · 0N · 6 NV
- Governor's rec. No. 6.1 · 65-Y 23-N 0-AMajorities: R Nay, D YeaLIS roll call (opens in a new tab)R8Y · 23N · 5 NVD57Y · 0N · 6 NV
- Governor's rec. No. 7 · 63-Y 24-N 0-AMajorities: R Nay, D YeaLIS roll call (opens in a new tab)R7Y · 24N · 5 NVD56Y · 0N · 7 NV
- Governor's rec. No. 8 · 90-Y 0-N 0-AParty majorities both YeaLIS roll call (opens in a new tab)R33Y · 0N · 3 NVD57Y · 0N · 6 NV
- Governor's rec. No. 9 · 62-Y 28-N 0-AMajorities: R Nay, D YeaLIS roll call (opens in a new tab)R5Y · 28N · 3 NVD57Y · 0N · 6 NV
- Governor's rec. No. 10 · 74-Y 14-N 0-AParty majorities both YeaLIS roll call (opens in a new tab)R17Y · 14N · 5 NVD57Y · 0N · 6 NV
- Governor's rec. No. 11 · 76-Y 9-N 0-AParty majorities both YeaLIS roll call (opens in a new tab)R19Y · 9N · 8 NVD57Y · 0N · 6 NV
- Governor's rec. No. 12 · 62-Y 28-N 0-AMajorities: R Nay, D YeaLIS roll call (opens in a new tab)R5Y · 28N · 3 NVD57Y · 0N · 6 NV
- Governor's rec. No. 13 · 57-Y 33-N 0-AMajorities: R Nay, D YeaLIS roll call (opens in a new tab)R0Y · 33N · 3 NVD57Y · 0N · 6 NV
- Governor's rec. No. 14 · 56-Y 34-N 0-AMajorities: R Nay, D YeaLIS roll call (opens in a new tab)R0Y · 33N · 3 NVD56Y · 1N · 6 NV
Senate of Virginia
12 most recent floor roll calls on record, all on the 2026 Budget Bill (HB30). A majority of each party voted the same way on 7 of 12.
- Governor's rec. No. 3 · 38-Y 0-N 0-AParty majorities both YeaLIS roll call (opens in a new tab)R18Y · 0N · 1 NVD20Y · 0N · 1 NV
- Governor's rec. No. 4 · 38-Y 0-N 0-AParty majorities both YeaLIS roll call (opens in a new tab)R18Y · 0N · 1 NVD20Y · 0N · 1 NV
- Governor's rec. No. 5 · 28-Y 10-N 0-AParty majorities both YeaLIS roll call (opens in a new tab)R12Y · 6N · 1 NVD16Y · 4N · 1 NV
- Governor's rec. No. 6 · 25-Y 12-N 0-AMajorities: R Nay, D YeaLIS roll call (opens in a new tab)R5Y · 12N · 2 NVD20Y · 0N · 1 NV
- Governor's rec. No. 7 · 37-Y 0-N 0-AParty majorities both YeaLIS roll call (opens in a new tab)R17Y · 0N · 2 NVD20Y · 0N · 1 NV
- Governor's rec. No. 8 · 38-Y 0-N 0-AParty majorities both YeaLIS roll call (opens in a new tab)R18Y · 0N · 1 NVD20Y · 0N · 1 NV
- Governor's rec. No. 9 · 20-Y 18-N 0-AMajorities: R Nay, D YeaLIS roll call (opens in a new tab)R0Y · 18N · 1 NVD20Y · 0N · 1 NV
- Governor's rec. No. 10 · 31-Y 7-N 0-AParty majorities both YeaLIS roll call (opens in a new tab)R12Y · 6N · 1 NVD19Y · 1N · 1 NV
- Governor's rec. No. 11 · 36-Y 2-N 0-AParty majorities both YeaLIS roll call (opens in a new tab)R16Y · 2N · 1 NVD20Y · 0N · 1 NV
- Governor's rec. No. 12 · 21-Y 17-N 0-AMajorities: R Nay, D YeaLIS roll call (opens in a new tab)R1Y · 17N · 1 NVD20Y · 0N · 1 NV
- Governor's rec. No. 13 · 20-Y 18-N 0-AMajorities: R Nay, D YeaLIS roll call (opens in a new tab)R0Y · 18N · 1 NVD20Y · 0N · 1 NV
- Governor's rec. No. 14 · 20-Y 18-N 0-AMajorities: R Nay, D YeaLIS roll call (opens in a new tab)R0Y · 18N · 1 NVD20Y · 0N · 1 NV
Policy areas from bills
What each party's bills are about
Policy areas come only from bills the members sponsor. Official LIS subjects exist for very few measures, so the groups below are aguyonx categories: editorial labels assigned by fixed keyword rules from each measure's official LIS title and summary (an official LIS subject is used wherever one exists). Measures that no rule clearly fits stay uncategorized. They are not stances, and a bill can carry more than one category. How the rules work is under Method.
- 12.1%11.1%
- 6.6%9.4%
- 9.6%5.8%
- 9.3%3.9%
- 5.0%5.5%
- 2.3%6.1%
- 3.4%5.2%
- 1.8%4.9%
- 4.3%3.4%
- 3.6%3.7%
- 5.9%2.7%
- 2.3%3.7%
2027 session
The 2027 tracker, by party
How the 469 measures in the 2027 Regular Session tracker split by the party of the chief patron, and what the 26 new filings are about. This part is not affected by the filters above.
By chief patron's party
Party is not in the LIS bill files; it is joined from official chamber rosters. Measures without a roster match show as “not matched”.
- New 2027 filings · House4 measuresR 3 · D 1
- New 2027 filings · Senate22 measures17R 5 · D 17
- Continued from 2026 · House267 measures53208R 53 · D 208 · not matched 6
- Continued from 2026 · Senate176 measures8786R 87 · D 86 · not matched 3
New 2027 filings by category
26 new filings; a filing can carry more than one category. Counts are small, so exact numbers are shown. Continued bills are not categorized in the tracker.
- Courts & Justice05
- Energy & Data Centers23
- Local Government04
- Disability Rights03
- K-12 Education12
- Taxation & Revenue21
- Corrections & Prisons02
- Health & Behavioral Health02
- Retirement & Pensions20
- Transparency & Accountability02
- Consumer Protection01
- Crime Victims & Trafficking01
- Higher Education01
- Legislative Procedure & Resolutions10
- Privacy & Student Data10
- Public Safety10
- Student Athletics01
Method, sources and gaps
How these numbers are made
Same method for everyone
- Each party's figures are the sum of its members' own LIS records. No member is weighted, adjusted or singled out, and no individual is named on this page.
- Bills are counted by chief patron only. Co-patron listings are counted separately.
- Vote shares use only final-passage and third-reading roll calls (rule below). Party-unity over all roll calls is shown separately and labeled.
- Percentages always use the party's own total as the denominator, so a party with fewer members is not penalized in rates.
- Policy areas are aguyonx categories (editorial), derived from official bill titles and summaries. No stance, motive or quote is inferred.
Which votes count as “final passage”
Each floor roll call carries LIS's own action description. A roll call is counted only if every bill in it has a description that starts with one of these, and nothing else is counted:
- “Passed House/Senate” or “Read third time and passed House/Senate”, including “with substitute”, “with amendment(s)” and Block Vote versions;
- “Read third time and defeated by House/Senate”, “Defeated by Senate” or “Failed to pass House” (included so that only successful votes do not tilt the Yea share);
- Senate “(on 3rd reading)” votes where the reading was dispensed or waived;
- “Agreed to by House/Senate”, only when every bill in the roll call is a resolution (HJ, HR, SJ, SR).
Left out: first and second readings, amendments, substitutes agreed or rejected, conference reports, concurrence in the Governor's recommendations, reconsiderations, motions, “Passed in enrolled form”, and “Passed by”. 874 of 1,577 House and 729 of 1,485 Senate roll calls qualify. Member lists match LIS's printed tallies on every roll call checked. The rule is a short script in the repository (scripts/build-ga-passage-votes.mjs) and is the same for both parties.
How policy areas are assigned
- 1. If LIS published an official subject for a measure, that subject is used (child subjects roll up to their official parent subject).
- 2. Honor resolutions are recognised from the official title (“Celebrating the life of”, “Commending”, “; commending”, “; designating”) and are left out of the legislation-only view.
- 3. Otherwise the same matching the member pages' Bill subjects card uses (official subject vocabulary and fixed phrases in the title and summary), plus keyword rules on the lead phrase of the official LIS title (the words before the first semicolon, which LIS uses to name the subject). A rule needs an explicit topic word, such as “Zoning”, “Medicaid” or “Firearms”.
- 4. If nothing matches, the measure stays uncategorized; it is never guessed. A measure can carry more than one category.
- Rules are plain regular expressions in
tools/ga-members/party-categories.py. Party is never read, so both parties go through identical rules. Categories are editorial aguyonx categories, not official LIS subjects and not stances.
Sources
Known gaps
- House District 20 is vacant and not counted. Counts reflect the roster in the data as of Nov 9, 2026.
- 4 members served part of the period and are listed on fewer roll calls; their rates use only the roll calls that list them.
- The roll-call tally chart itemizes only the 12 most recent roll calls per chamber (the ones held for every member); all final-passage votes are counted in the party totals and the agreement chart.
- Party for a vote comes from the roster files. 1677 member votes on final-passage roll calls (1.4% of member votes) were cast by 7 people no longer on the roster, whose party is not in the repo; those votes are left out rather than guessed.
- Official LIS subjects exist for few measures. In the current view categories cover 560 of 744 Republican and 1,335 of 1,664 Democratic measures; the rest stay uncategorized and are left out of the policy bars.
- The party-unity measure over all floor roll calls cannot separate passage from procedural votes, because LIS descriptions are not in the member summary; the final-passage version above can.
- Tracker party is joined from rosters; 9 of 469 measures have no match. Continued 2027 bills have no topic categories yet.
- Not on this page, because the repo holds no source for them: committee votes, amendments, floor speeches, and any measure of how a bill's content differs between parties.
Metric definitions
- Members:
- Count of members of the party in the selected chamber(s) in the LIS roster data.
- Bills & resolutions per member:
- Measures a member is chief patron of in the 2026 Regular and Special I sessions, divided by the party's members.
- Co-patron signatures per member:
- Times a member is listed as a co-patron on someone else's measure (2026 sessions), divided by the party's members.
- Passed the General Assembly:
- Share of the party's chief-patron measures that passed both chambers (signed, vetoed after passage, or resolutions passed).
- Signed into law:
- Share of the party's chief-patron measures whose LIS status is signed by the governor. Resolutions never go to the governor.
- Did not pass:
- Share defeated, stricken or folded into another measure.
- Left in committee or continued:
- Share left in committee or continued to 2027 per LIS status.
- Yea on final-passage votes:
- Of the party's member votes on final-passage and third-reading roll calls (rule in Method below), the share recorded Yea.
- Nay on final-passage votes:
- Same denominator: the share recorded Nay.
- Not voting on final-passage votes:
- Same denominator: the share recorded as not voting (a small number also abstained).
- With own party's majority, final-passage votes:
- On final-passage votes where the party's majority voted one way, the share of that party's yea/nay votes that matched the majority.
- With own party's majority, all floor roll calls:
- On every floor roll call (passage, amendments and motions alike; LIS descriptions are not in the member summary) where a party's majority voted one way, the share of yea/nay votes that matched the majority.