I’ve been going through the reported numbers from the VA Department of Elections (“ELECT”) as to the vote totals and turnout stats w.r.t. the Nov 3rd 2026 VA midterm elections and I’ve found something that looks rather interesting: There are a number of precincts throughout the state where the reported number of votes tallies for a given race assigned to that precinct are greater than the reported total turnout numbers being reported for that precinct by ELECT.
There are approximately 163,399 total excess votes as of this writing that can be found using the method described below.
Method
There are two datasets used for this analysis:
The first is the Election Night Reporting JSON file available at the VA ELECT website (available here). This is a JSON file that contains 3 different data streams of vote tallies for the election. One summary data stream for each race. One summary for each race, reported by locality. And one data stream for each race, reported by precinct. It is the precinct level data stream we are primarily using for this analysis.
Note that as the election is not yet certified, the data in this file is still getting votes added to it and adjustments as the final post-election vote counts come dribbling in.
Also note that the precinct level data stream information significantly lags the locality and race level summaries. I and the EPEC team have noted this in previous elections, and it is an artifact of how localities do their canvas and reporting operations to ELECT. Therefore the 3 data streams in the JSON file are not self-consistent within the file and do not match each other. As we get closer and closer to certification the data streams do tend to converge.
The date stamp on the ENR JSON file I used for this analysis is 11-Nov-2026 12:00:01 pm. I have been periodically downloading the ENR JSON files since election night, and will continue to do so until certification.
ELECT also publishes a turnout report CSV file (available here) that provides the turnout numbers associated with each precinct. It gives the total ballots cast, stratified by ballot type, as well as the total number of registered voters associated to each precinct. It does not give any vote totals.
The date stamp on the turnout report file used for this analysis is 11/11/2026 10:41:00 pm
The first step is to parse the precinct level data in the JSON file into a tabular format suitable for doing this analysis. (Note this does take a little bit of technical coding work in order to parse and assemble the data into a usable file.) We then create a table that enumerates the summed vote tallies made in each race, stratified by precinct, as such:
Race 1 – Sum of Vote Tallies
Race 2 – Sum of Vote Tallies
…
Precinct 1
1000
0
…
Precinct 2
750
2350
…
…
…
…
Next we associate each precinct in our table with its corresponding entry in the turnout data csv file.
Turnout Ballots Cast
Race 1 –Sum of Vote Tallies
Race 2 –Sum of Vote Tallies
…
Precinct 1
1560
1000
0
…
Precinct 2
2200
750
2350
…
…
…
…
We logically shouldn’t be able to get more votes cast for a race in a given precinct than ballots cast. We can subtract the turnout from all of the race vote totals across the columns, and if any result is positive, that represents the amount of “excess” votes for that race, from that precinct.
In the example table above our “Race 2, Precinct 2” would have an excess vote count of 150 = 2350 – 2200. All other values would be within bounds.
Caveats and special cases:
Even though most of the data has been populated by now, there are still some localities that have not yet fully reported to ELECT, so we explicitly ignore any of the precincts where the turnout has not yet been reported (these are 0’s or empty cells in the turnout csv file). If a precinct has not yet reported in the data, its associated numerical values will be set to 0 and it will get ignored after the subtraction and filter.
We also are explicitly ignoring those races where an individual was able to vote for more than one candidate, such as some elections for board members, etc.
Results
There were 15 races that were affected, across 186 different precincts. Summing the total number of excess votes across each affected race we get the following table:
RACE NAME
EXCESS VOTES
MEMBER HOUSE OF DELEGATES 20TH DISTRICT
4
MEMBER HOUSE OF REPRESENTATIVES 10TH DISTRICT
346
MEMBER HOUSE OF REPRESENTATIVES 1ST DISTRICT
23052
MEMBER HOUSE OF REPRESENTATIVES 2ND DISTRICT
54
MEMBER HOUSE OF REPRESENTATIVES 3RD DISTRICT
81
MEMBER HOUSE OF REPRESENTATIVES 4TH DISTRICT
3
MEMBER HOUSE OF REPRESENTATIVES 5TH DISTRICT
3724
MEMBER HOUSE OF REPRESENTATIVES 6TH DISTRICT
780
MEMBER HOUSE OF REPRESENTATIVES 7TH DISTRICT
440
MEMBER HOUSE OF REPRESENTATIVES 9TH DISTRICT
14
MEMBER UNITED STATES SENATE
28549
PROPOSED CONSTITUTIONAL AMENDMENT QUESTION 1
27230
PROPOSED CONSTITUTIONAL AMENDMENT QUESTION 2
27320
PROPOSED CONSTITUTIONAL AMENDMENT QUESTION 3
27285
SHERIFF HANOVER COUNTY
24517
163399
While it is understood that the certification process is currently still ongoing, and that these excess vote numbers would not affect overall outcomes, the observed excess ballot count still deserves explanation and corrections.
How is it that precincts are reporting more votes being cast in a particular race than ballots associated with that precinct? At no point in the counting process, even when the process is not yet completed, should that be the case.
Files:
The table of turnout numbers and vote tallies for those precincts or races that showed this issue is also linked here.
Below you will find the current summary data and graphics from the 2026 VA November General Election Daily Absentee List (“DAL”) files. We pull the DAL file everyday and track the count of each specific ballot category in each daily file.
Note: Page may take a moment to load the graphics objects.
Place your cursor over the series name in the legend at right to see the series highlighted in the graphic. Place your cursor over a specific data point to see that data points value.
The logarithmic plot is the same underlying data as the linear scale plot, except with a logarithmic y-scale in order to be able to compress the dynamic range and see the shape of all of the data curves in a single graphic. Place your cursor over the series name in the legend at right to see the series highlighted in the graphic. Place your cursor over a specific data point to see that data points value.
The underlying data for the graphics above is provided in the summary data table.
Additional Data:
Additional CSV datasets stratified by Locality, City, Congressional District, State House District, State Senate District, and Precinct are available here. Please note that you need to give the page time to load before trying to drill down into any of the listed subdirectories, and mobile browsers have shown some issues.
A direct link to a zip file with ALL of the metrics data stratified by Locality, etc is here.
Data column descriptions:
“ISSUED” := Number of DAL file records where BALLOT_STATUS= “ISSUED”
“NOT_ISSUED” := Number of DAL file records where BALLOT_STATUS= “NOT ISSUED”
“PROVISIONAL” := Number of DAL file records where BALLOT_STATUS= “PROVISIONAL” and APP_STATUS=”APPROVED”
“DELETED” := Number of DAL file records where BALLOT_STATUS= “DELETED”
“MARKED” := Number of DAL file records where BALLOT_STATUS= “MARKED” and APP_STATUS=”APPROVED”
“ON_MACHINE” := Number of DAL file records where BALLOT_STATUS= “ON_MACHINE” and APP_STATUS=”APPROVED”
“PRE_PROCESSED” := Number of DAL file records where BALLOT_STATUS= “PRE-PROCESSED” and APP_STATUS=”APPROVED”
“FWAB” := Number of DAL file records where BALLOT_STATUS= “FWAB” and APP_STATUS=”APPROVED”
“MAIL_IN” := The sum of “MARKED” + “PRE_PROCESSED”
“COUNTABLE” := The sum of “PROVISIONAL” + “MARKED” + “PRE_PROCESSED” + “ON_MACHINE” + “FWAB”
“MILITARY” := Number of DAL file records where VOTER_TYPE= “MILITARY”
“OVERSEAS” := Number of DAL file records where VOTER_TYPE= “OVERSEAS”
“TEMPORARY” := Number of DAL file records where VOTER_TYPE= “TEMPORARY”
“MILITARY_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “MILITARY” and where COUNTABLE is True
“OVERSEAS_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “OVERSEAS” and where COUNTABLE is True
“TEMPORARY_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “TEMPORARY” and where COUNTABLE is True
“MILITARY_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “MILITARY” and where BALLOT_STATUS==”ISSUED”
“OVERSEAS_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “OVERSEAS” and where BALLOT_STATUS==”ISSUED”
“TEMPORARY_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “TEMPORARY” and where BALLOT_STATUS==”ISSUED”
“COUNTABLE_HIGH_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has voted in 75% or more of the November General elections on record. (i.e. They have a high November General propensity score)
“COUNTABLE_MED_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has voted in < 75% and > 0% of the November General elections on record.
“COUNTABLE_ZERO_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has never voted in any of the November General elections on record.
All data purchased by Electoral Process Education Corp. (EPEC) from the VA Dept of Elections (ELECT). All processing performed by EPEC.
Using data provided by the VA Department of Elections (“ELECT”), we have identified at least 8,129 unique registrations that were self-identified as “Declared NonCitizen” and removed from the voter rolls since May of 2023.
Of those 8,129 removals of self-declared noncitizens — which Virginia’s constitution prohibits from registering and voting, we see 1,384 registrationswith a corresponding record of ballots cast, according to the statewide Voter History List (VHL) record.
That brings the number of ballots cast by declared noncitizens to 4,056, according to official records. Those are the records we know about.
In addition, the Daily Absentee List (DAL) data of Virginia’s 45-day early voting period shows an additional ten (10) noncitizen registrations and ballots — none of which are found in the Voter History List (VHL), the final tally of who voted.
Therefore, we see 4,066 illegal ballots cast by self-identified noncitizens, from 1,394 registrants who were removed from the voting rolls after self-declaring themselves as ineligible noncitizens. That’s according to the official Voter History List (VHL) and early voting data found in the Daily Absentee List (DAL) reports.
Voting as an ineligible individual is a Class 6 felony voting violation in Virginia.
Background on non-removal policy
After our initial post on this topic in March 2024, we submitted all of the relevant information for investigation to then-Attorney General, Jayson Miyares (R).
We did not hear back, nor did we receive any response or update on the matter. We are not aware of any action by the AG’s office on these apparent violations since 2024.
At the time in 2024, the Arlington County Electoral Board undertook its own investigation and voted 3-0 to send the information to the AG’s office as well. Fairfax County’s Electoral Board also issued a new policy on referring noncitizens with voting records to the Commonwealth Attorney. The policy stated:
“The General Registrar shall refer all individuals who were removed from the voter rolls pursuant to Va. Code § 24.2-427(C), after being identified by ELECT as noncitizens, to the Commonwealth’s Attorney and the Attorney General to determine if they have violated Virginia elections law.”
In October 2024, during early voting for the presidential election, the League of Women Voters along with the Biden Department of Justice sued VA, asking for an injunction to place approximately 1,600 removed noncitizen registrations back on the voter rolls. After two lower courts granted the injunction, the U.S. Supreme Court stayed the case, and the noncitizen removals proceeded as the litigation played out.
It is EPEC’s opinion that the Commonwealth of VA was correctly applying the National Voter Registration Act (NVRA) in this matter under the Youngkin administration and AG Miyares, as I detailed in an X.com post on Oct 12.
In 2025, the incoming Trump DOJ dropped the Biden DOJ’s lawsuit against VA; the League of Women Voters continued the litigation.
In April of 2026, Virginia’s Democrat Attorney General Jay Jones issued an advisory opinion to the Department of Elections that effectively adopts the same position of the challengers in the Biden DOJ / LWV lawsuit.
ELECT followed this advisory opinion with guidance to registrars instructing them not to remove any noncitizen voters within the NVRA’s 90-day “quiet period” around any federal election, including primaries.
As of May 6th 2026, ELECT is no longer populating noncitizen data into “hoppers” that are used to notify Commonwealth registrars of tasks that require their action.
Instead, ELECT has instructed registrars to change the categorization of existing flagged items in the hopper from “notify voter” to “needs research.”
See Jones’ April 16, 2026 letter to VA Commissioner of Elections Steven Koski here.
We believe this interpretation is impacting the number of self-identified noncitizens that are removed and reflected in the Monthly Update Service (MUS). We have already seen an order of magnitude difference in the data since June 1, 2026, which covers the May time-period in the new policy.
Voter-List Maintenance Obligations:
As part of its responsibilities under law, the VA Department of Elections is required to identify and remove invalid or out-of-date registration records from the voter rolls.
One situation for removal is when a registrant has been determined (via self identification) to be a noncitizen. The VA Constitution prohibits noncitizens from voting in VA elections.
“In elections by the people, the qualifications of voters shall be as follows: Each voter shall be a citizen of the United States, shall be eighteen years of age, shall fulfill the residence requirements set forth in this section, and shall be registered to vote pursuant to this article. …” VA Constitution, Article II, Section 1. https://law.lis.virginia.gov/constitution/article2/section1/
Additionally, according to VA Code Section 24.2-1004, the act of knowingly casting a ballot by someone who is not eligible to vote is a Class 6 felony.
EPEC’s Analysis Methodology:
ELECT makes available for purchase by qualifying parties various data sets, including the registered voter list (RVL) and the Voter History List (VHL).
Additionally, ELECT provides a Monthly Update Service (MUS) subscription that contains (almost) all of the Voter List changes and transactions for the previous period.
The MUS datasets carry an “NVRAReasonCode” field that is associated with each transaction that gives the reason for the update or change in the voter record. This is in accordance with disclosure and transparency requirements in the National Voter Registration Act (NVRA).
One of the reason codes for records that are removed is “Declared Non-Citizen.”
EPEC has been purchasing and archiving these official records as part of our nonprofit mission to document and educate the public about elections processes, and drive voter participation.
If you are interested in supporting this work, please head on over to our donation page, or to our give-send-go campaign to make a tax-deductible donation.
EPEC looked at the number of records associated with unique voter identification numbers identified for removal from the voter record due to non-citizenship status, per entries in the monthly updates (MUS).
We correlated those results with our accumulated Voter History List (VHL) information to determine whether noncitizen registrations had corresponding records of ballots cast in previous elections.
We only considered those records that are currently in a non-active state as of the latest MUS transaction log. Some determinations of non-citizenship status in the historical MUS transaction log might have been due to error and subsequently corrected and reinstated to active status.
Important to note: We are not considering those records that had a “Declared Non-Citizen” disqualification, but were subsequently reinstated and reactivated by ELECT.
Other Gaps to Note:
While EPEC has periodically purchased full copies of the Voter History List for our archives, there is a known issue with the way ELECT handles removals from the voter record that can cause sampling issues — depending on the time the VHL file is purchased. The result: Records of some legitimately cast ballots can be missing from the VHL due to this policy.
Namely, when ELECT removes an ineligible voter from the voter list, it also removes all instances of that registration’s voter ID from its voter history information and other data files that it provides to qualified organizations. (In my opinion, that process eliminates important voting information and thus is not a good way to manage the data, but that is the way it is done).
In light of that, EPEC also used its archived versions of the Daily Absentee List (DAL) early voting files to check records of ballots cast that might otherwise be eliminated from the VHL.
Results:
There were 8,129 unique voter records marked for removal with the reason of “Declared Non-Citizen” and not subsequently reinstated in the accumulated MUS record that EPEC began collecting in mid-2023. Of those 8,129 there were 1,384 that also had corresponding records of recent ballots cast at some point in the official Voter History record that we could observe. There were 4,056 associated ballots cast identified since Feb of 2019. Figure 1 below shows the distribution of non-citizen voters in the cumulative MUS file history. The blue trace represent the total identified and CANCELED non-citizen registrations, and the yellow trace represents the number of those records that also had corresponding records (at least 1) in the accumulated voter history data.
Figure 1: Distribution if the number of identified non-citizen records and ballots in the cumulative ELECT MUS file history. The x-axis is the date that a record was marked as CANCELED for the reason of “Declared Non-Citizen”.
Note that the data contained in the MUS updates often covers more than a single month’s period. In other words, the individual MUS files are oversampled. Subsequent MUS files can therefore also have repeated entries from previous versions, as their data may overlap. Our analysis used the first unique entry for a given voter ID marked as “Declared Non-Citizen” in the cumulative MUS record, that had not been subsequently reinstated, in order to build Figure 1. This data oversampling in the MUS may help explain the relative spike in the first (May 2023) bin compared to subsequent months.
As VHL information can be incomplete depending on the time the VHL data was purchased in relation to the time that registrants were removed from voter records, EPEC also checked these non-citizen removals against the archived history of Daily Absentee List (DAL) files that EPEC has accumulated. There were an additional ten non-citizen registrations and ballots as per the Daily Absentee List (DAL) data that were not contained in the Voter History data. The total number of identified non-citizen ballots cast is therefore 4,066 by 1,394 registrants when combining unique VHL and DAL identifications.
These identifications represent only the individuals who declared themselves as non-citizen status through official interactions with ELECT, DMV, or other agencies. Each removed registrant was then contacted by the registrar to confirm their non-citizen status prior to removal, as is the current policy. (Again … we are only considering those records that we’re flagged as “Declared Non-Citizen”, removed and never reinstated.)
The distribution of identified non-citizen voters per VA locality is given below in Table 1. It should be noted that each ballot record has a specific locality associated with it stating where the ballot was cast, whereas unique individuals might move between localities over time. The assignment of unique identified individuals to each locality in table 1 is therefore based on the locality listed in the specific MUS “Declared Non-Citizen” record for that individual, while the assignment of ballot cast to Localities is based on the individual VHL/DAL records. A person could have lived and voted multiple times in one county, then moved to another county and voted again before finally being determined as a non-citizen. The same person would have generated multiple VHL/DAL records for each ballot cast, and associated with potentially different localities. This should be kept in mind when attempting to interpret Table 1.
LOCALITY_NAME
REMOVED
VOTED_VHL
VOTES_VHL
VOTED_DAL_NOT_IN_VHL
ACCOMACK COUNTY
20
1
7
0
ALBEMARLE COUNTY
81
19
73
0
ALEXANDRIA CITY
284
33
66
0
ALLEGHANY COUNTY
0
0
0
0
AMELIA COUNTY
5
2
9
0
AMHERST COUNTY
1
0
0
0
APPOMATTOX COUNTY
3
0
0
0
ARLINGTON COUNTY
247
40
84
0
AUGUSTA COUNTY
39
9
19
0
BATH COUNTY
2
0
0
0
BEDFORD COUNTY
21
4
10
0
BLAND COUNTY
1
1
3
0
BOTETOURT COUNTY
5
0
0
0
BRISTOL CITY
3
1
6
0
BRUNSWICK COUNTY
3
2
6
0
BUCHANAN COUNTY
0
0
0
0
BUCKINGHAM COUNTY
5
0
0
0
BUENA VISTA CITY
0
0
0
0
CAMPBELL COUNTY
2
0
6
0
CAROLINE COUNTY
15
2
6
0
CARROLL COUNTY
17
5
16
0
CHARLES CITY COUNTY
7
3
14
0
CHARLOTTE COUNTY
2
0
0
0
CHARLOTTESVILLE CITY
47
12
40
0
CHESAPEAKE CITY
174
51
157
0
CHESTERFIELD COUNTY
483
59
190
0
CLARKE COUNTY
13
4
6
0
COLONIAL HEIGHTS CITY
25
2
4
0
COVINGTON CITY
4
0
1
0
CRAIG COUNTY
3
2
3
0
CULPEPER COUNTY
48
7
22
0
CUMBERLAND COUNTY
1
0
0
0
DANVILLE CITY
43
5
13
0
DICKENSON COUNTY
3
1
1
0
DINWIDDIE COUNTY
18
6
25
0
EMPORIA CITY
5
0
0
0
ESSEX COUNTY
8
2
4
0
FAIRFAX CITY
31
8
24
0
FAIRFAX COUNTY
1404
248
604
2
FALLS CHURCH CITY
8
2
5
0
FAUQUIER COUNTY
41
5
11
0
FLOYD COUNTY
0
0
0
0
FLUVANNA COUNTY
5
2
10
0
FRANKLIN CITY
1
0
0
0
FRANKLIN COUNTY
11
5
16
0
FREDERICK COUNTY
37
4
10
0
FREDERICKSBURG CITY
47
3
10
0
GALAX CITY
5
0
0
0
GILES COUNTY
3
0
0
0
GLOUCESTER COUNTY
9
3
6
1
GOOCHLAND COUNTY
9
0
0
0
GRAYSON COUNTY
4
1
4
1
GREENE COUNTY
16
3
9
0
GREENSVILLE COUNTY
1
0
0
0
HALIFAX COUNTY
10
1
2
0
HAMPTON CITY
134
32
89
0
HANOVER COUNTY
33
4
14
0
HARRISONBURG CITY
157
9
18
0
HENRICO COUNTY
338
18
80
0
HENRY COUNTY
1
0
2
0
HIGHLAND COUNTY
0
0
0
0
HOPEWELL CITY
1
0
0
0
ISLE OF WIGHT COUNTY
4
1
12
0
JAMES CITY COUNTY
62
10
33
0
KING AND QUEEN COUNTY
3
2
7
0
KING GEORGE COUNTY
10
1
1
0
KING WILLIAM COUNTY
3
1
12
0
LANCASTER COUNTY
3
2
1
0
LEE COUNTY
0
0
0
0
LEXINGTON CITY
1
1
3
0
LOUDOUN COUNTY
464
109
280
0
LOUISA COUNTY
15
3
19
0
LUNENBURG COUNTY
2
0
0
0
LYNCHBURG CITY
47
8
22
0
MADISON COUNTY
1
0
0
0
MANASSAS CITY
104
10
32
0
MANASSAS PARK CITY
46
3
9
0
MARTINSVILLE CITY
17
4
3
0
MATHEWS COUNTY
0
0
0
0
MECKLENBURG COUNTY
15
7
18
0
MIDDLESEX COUNTY
3
1
1
0
MONTGOMERY COUNTY
31
5
21
1
NELSON COUNTY
4
1
10
0
NEW KENT COUNTY
11
6
22
0
NEWPORT NEWS CITY
228
50
167
0
NORFOLK CITY
225
38
144
0
NORTHAMPTON COUNTY
6
1
4
0
NORTHUMBERLAND COUNTY
3
2
7
0
NORTON CITY
1
0
0
0
NOTTOWAY COUNTY
9
1
6
0
ORANGE COUNTY
9
5
13
0
PAGE COUNTY
0
0
0
0
PATRICK COUNTY
5
1
2
0
PETERSBURG CITY
51
7
24
0
PITTSYLVANIA COUNTY
19
6
25
0
POQUOSON CITY
1
0
0
0
PORTSMOUTH CITY
114
40
96
0
POWHATAN COUNTY
5
1
8
0
PRINCE EDWARD COUNTY
14
3
11
0
PRINCE GEORGE COUNTY
32
3
5
0
PRINCE WILLIAM COUNTY
903
142
401
1
PULASKI COUNTY
14
4
7
0
RADFORD CITY
1
0
1
0
RAPPAHANNOCK COUNTY
3
0
0
0
RICHMOND CITY
336
56
186
1
RICHMOND COUNTY
1
0
0
0
ROANOKE CITY
182
12
30
0
ROANOKE COUNTY
34
4
5
0
ROCKBRIDGE COUNTY
0
0
1
0
ROCKINGHAM COUNTY
76
16
45
0
RUSSELL COUNTY
9
3
9
0
SALEM CITY
14
2
1
0
SCOTT COUNTY
6
4
17
0
SHENANDOAH COUNTY
38
2
8
0
SMYTH COUNTY
10
4
19
0
SOUTHAMPTON COUNTY
0
0
0
0
SPOTSYLVANIA COUNTY
133
5
12
0
STAFFORD COUNTY
226
32
71
2
STAUNTON CITY
7
0
0
0
SUFFOLK CITY
81
30
114
1
SURRY COUNTY
2
0
0
0
SUSSEX COUNTY
2
1
3
0
TAZEWELL COUNTY
7
1
1
0
VIRGINIA BEACH CITY
374
79
313
0
WARREN COUNTY
28
4
12
0
WASHINGTON COUNTY
14
4
10
0
WAYNESBORO CITY
3
0
2
0
WESTMORELAND COUNTY
7
0
0
0
WILLIAMSBURG CITY
18
4
6
0
WINCHESTER CITY
45
5
6
0
WISE COUNTY
3
2
3
0
WYTHE COUNTY
3
0
0
0
YORK COUNTY
37
14
50
0
8,129
1,384
4,056
10
Discussion
Of particular concern is that we can see that there has been a significant order of magnitude (10 x) drop in the number of reported non-citizen removals in the MUS data starting in the MUS covering May 2026. This coincides with the recent aforementioned opinion letter from AG Jones to the Department of Elections that advised ELECT to NOT remove self-identified non-citizens from the rolls. The previous AG (Miyares) made the case that the fact that all of these removals were initiated by individual actions of self-identification via interactions with DMV or the Courts, etc., made the program appropriately “individualized” in accordance with NVRA. The courts had tentatively sided with Miyares argument and ultimately denied the injunction requested by the DOJ, LWV and fellow litigants. However, the case was withdrawn shortly after the election of AG Jones. AG Jones has now taken the opposite stance of Miyares, and is now effectively granting the relief that the DOJ & LWV were requesting in their suit even though the supreme court did not grant the injunction. Because of this new direction to not remove self identified non-citizens, this explains the order of magnitude decrease in the number of non-citizen removals that we observe in the MUS data.
It is important to note that the records identified in the MUS are only those resulting from individuals who were removed from the voter rolls by ELECT after self-identifying as a non-citizen via interactions with DMV, ELECT, or other official avenues, and that the data presented here specifically excludes those individuals that were subsequently reinstated onto the voter rolls.
The fact that a small number of these identified non-citizen registrations are also associated with (presumably … if the data from ELECT is accurate) illegally cast ballots in previous elections does raise a number of questions that citizens should be (politely) asking and discussing with their legislators, elected and appointed government officials. Each act of non-citizen voting is a de-facto disenfranchisement of legal voters rights, and is a punishable offense under VA law.
Additionally, this evidence which is derived from only official state records, directly contradicts multiple news media reports and attestations that non-citizen voting is a “Myth”, and that non-citizen voting happens “almost never”. If the data from ELECT is accurate, then there are at least4,056 ballots that have been cast by non-citizen voters just since 2019. Now, that is still very infrequent, but it is not “almost never.” It is a legitimate concern … and these discoveries are only the registrations that have been found and removed from the voter roles by ELECT and that we can observe in the data.
It should also be reiterated that these are only the records that we can observe given our data repository, and how often we can realistically purchase and acquire voter history and voter registration information. It is therefore likely that this represents a significant undercount of the occurrences of non-citizen voters and non-citizen voting.
Due to the infrequent nature of these data purchases, it is very likely that some individuals have had their voter history or voter registration information completely removed from the record in between our purchases. Additionally, we know that the MUS data does not entirely encompass all transactions performed on the RVL by the department of elections, so there may be yet other unknown transactions that we are missing.
We do not know how many exist that we do not know about, and with the recent change in guidance from the new AG Jones to ELECT we expect that our ability to observe and report on these issues into the future will be significantly impacted, as ELECT will stop removals of many of these records, and therefore they will not show up in the MUS records, even though they have been correctly flagged via self-identification.
Below you will find the current summary data and graphics from the 2026 VA June Dem Primary Election Daily Absentee List files. We pull the DAL file everyday and track the count of each specific ballot category in each daily file.
Note: Page may take a moment to load the graphics objects.
Place your cursor over the series name in the legend at right to see the series highlighted in the graphic. Place your cursor over a specific data point to see that data points value.
The logarithmic plot is the same underlying data as the linear scale plot, except with a logarithmic y-scale in order to be able to compress the dynamic range and see the shape of all of the data curves in a single graphic. Place your cursor over the series name in the legend at right to see the series highlighted in the graphic. Place your cursor over a specific data point to see that data points value.
The underlying data for the graphics above is provided in the summary data table.
Additional Data:
Additional CSV datasets stratified by Locality, City, Congressional District, State House District, State Senate District, and Precinct are available here. Please note that you need to give the page time to load before trying to drill down into any of the listed subdirectories, and mobile browsers have shown some issues.
A direct link to a zip file with ALL of the metrics data stratified by Locality, etc is here.
Data column descriptions:
“ISSUED” := Number of DAL file records where BALLOT_STATUS= “ISSUED”
“NOT_ISSUED” := Number of DAL file records where BALLOT_STATUS= “NOT ISSUED”
“PROVISIONAL” := Number of DAL file records where BALLOT_STATUS= “PROVISIONAL” and APP_STATUS=”APPROVED”
“DELETED” := Number of DAL file records where BALLOT_STATUS= “DELETED”
“MARKED” := Number of DAL file records where BALLOT_STATUS= “MARKED” and APP_STATUS=”APPROVED”
“ON_MACHINE” := Number of DAL file records where BALLOT_STATUS= “ON_MACHINE” and APP_STATUS=”APPROVED”
“PRE_PROCESSED” := Number of DAL file records where BALLOT_STATUS= “PRE-PROCESSED” and APP_STATUS=”APPROVED”
“FWAB” := Number of DAL file records where BALLOT_STATUS= “FWAB” and APP_STATUS=”APPROVED”
“MAIL_IN” := The sum of “MARKED” + “PRE_PROCESSED”
“COUNTABLE” := The sum of “PROVISIONAL” + “MARKED” + “PRE_PROCESSED” + “ON_MACHINE” + “FWAB”
“MILITARY” := Number of DAL file records where VOTER_TYPE= “MILITARY”
“OVERSEAS” := Number of DAL file records where VOTER_TYPE= “OVERSEAS”
“TEMPORARY” := Number of DAL file records where VOTER_TYPE= “TEMPORARY”
“MILITARY_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “MILITARY” and where COUNTABLE is True
“OVERSEAS_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “OVERSEAS” and where COUNTABLE is True
“TEMPORARY_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “TEMPORARY” and where COUNTABLE is True
“MILITARY_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “MILITARY” and where BALLOT_STATUS==”ISSUED”
“OVERSEAS_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “OVERSEAS” and where BALLOT_STATUS==”ISSUED”
“TEMPORARY_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “TEMPORARY” and where BALLOT_STATUS==”ISSUED”
“COUNTABLE_HIGH_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has voted in 75% or more of the November General elections on record. (i.e. They have a high November General propensity score)
“COUNTABLE_MED_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has voted in < 75% and > 0% of the November General elections on record.
“COUNTABLE_ZERO_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has never voted in any of the November General elections on record.
All data purchased by Electoral Process Education Corp. (EPEC) from the VA Dept of Elections (ELECT). All processing performed by EPEC.
If you like the work that EPEC is doing, please support us with a donation.
Below you will find the current summary data and graphics from the 2026 VA June Rep Primary Election Daily Absentee List files. We pull the DAL file everyday and track the count of each specific ballot category in each daily file.
Note: Page may take a moment to load the graphics objects.
Place your cursor over the series name in the legend at right to see the series highlighted in the graphic. Place your cursor over a specific data point to see that data points value.
The logarithmic plot is the same underlying data as the linear scale plot, except with a logarithmic y-scale in order to be able to compress the dynamic range and see the shape of all of the data curves in a single graphic. Place your cursor over the series name in the legend at right to see the series highlighted in the graphic. Place your cursor over a specific data point to see that data points value.
The underlying data for the graphics above is provided in the summary data table.
Additional Data:
Additional CSV datasets stratified by Locality, City, Congressional District, State House District, State Senate District, and Precinct are available here. Please note that you need to give the page time to load before trying to drill down into any of the listed subdirectories, and mobile browsers have shown some issues.
A direct link to a zip file with ALL of the metrics data stratified by Locality, etc is here.
Data column descriptions:
“ISSUED” := Number of DAL file records where BALLOT_STATUS= “ISSUED”
“NOT_ISSUED” := Number of DAL file records where BALLOT_STATUS= “NOT ISSUED”
“PROVISIONAL” := Number of DAL file records where BALLOT_STATUS= “PROVISIONAL” and APP_STATUS=”APPROVED”
“DELETED” := Number of DAL file records where BALLOT_STATUS= “DELETED”
“MARKED” := Number of DAL file records where BALLOT_STATUS= “MARKED” and APP_STATUS=”APPROVED”
“ON_MACHINE” := Number of DAL file records where BALLOT_STATUS= “ON_MACHINE” and APP_STATUS=”APPROVED”
“PRE_PROCESSED” := Number of DAL file records where BALLOT_STATUS= “PRE-PROCESSED” and APP_STATUS=”APPROVED”
“FWAB” := Number of DAL file records where BALLOT_STATUS= “FWAB” and APP_STATUS=”APPROVED”
“MAIL_IN” := The sum of “MARKED” + “PRE_PROCESSED”
“COUNTABLE” := The sum of “PROVISIONAL” + “MARKED” + “PRE_PROCESSED” + “ON_MACHINE” + “FWAB”
“MILITARY” := Number of DAL file records where VOTER_TYPE= “MILITARY”
“OVERSEAS” := Number of DAL file records where VOTER_TYPE= “OVERSEAS”
“TEMPORARY” := Number of DAL file records where VOTER_TYPE= “TEMPORARY”
“MILITARY_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “MILITARY” and where COUNTABLE is True
“OVERSEAS_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “OVERSEAS” and where COUNTABLE is True
“TEMPORARY_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “TEMPORARY” and where COUNTABLE is True
“MILITARY_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “MILITARY” and where BALLOT_STATUS==”ISSUED”
“OVERSEAS_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “OVERSEAS” and where BALLOT_STATUS==”ISSUED”
“TEMPORARY_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “TEMPORARY” and where BALLOT_STATUS==”ISSUED”
“COUNTABLE_HIGH_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has voted in 75% or more of the November General elections on record. (i.e. They have a high November General propensity score)
“COUNTABLE_MED_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has voted in < 75% and > 0% of the November General elections on record.
“COUNTABLE_ZERO_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has never voted in any of the November General elections on record.
All data purchased by Electoral Process Education Corp. (EPEC) from the VA Dept of Elections (ELECT). All processing performed by EPEC.
If you like the work that EPEC is doing, please support us with a donation.
Correction as of 2026-09-10: As I was doing the Sept version of this analysis I realized that the June analysis had accidentally included those records that got reinstated. This was a human error on my part as I grabbed the wrong output directory to generate the blog post. The correct numbers for the June analysis are 8,121 removed and never reinstated, 1,385 of those had a voting record, corresponding to 4,044 votes cast, with 10 identified additional voters and votes from the DAL record. I have updated all of the number below to reflect the correct number with the original (erroneous) numbers in strikethrough script.
Abstract:
Using data provided by the VA Department of Elections (“ELECT”), we have identified at least 8,126 (8,566) unique registrations that were self-identified as “Declared NonCitizen” and removed from the voter rolls since May of 2023.
Of those 8,121 (8,566) removals of self-declared noncitizens — which Virginia’s constitution prohibits from registering and voting, we see 1,385 (1,756)registrationswith a corresponding record of ballots cast, according to the statewide Voter History List (VHL) record.
That brings the number of ballots cast by declared noncitizens to 4,044(6,111), according to official records. Those are the records we know about.
In addition, the Daily Absentee List (DAL) data of Virginia’s 45-day early voting period shows an additional ten (10) noncitizen registrations and ballots — none of which are found in the Voter History List (VHL), the final tally of who voted.
Therefore, we see 4,054(6,121) illegal ballots cast by self-identified noncitizens, from 1,395 (1,766) registrants who were removed from the voting rolls after self-declaring themselves as ineligible noncitizens. That’s according to the official Voter History List (VHL) and early voting data found in the Daily Absentee List (DAL) reports.
Voting as an ineligible individual is a Class 6 felony voting violation in Virginia.
Background on non-removal policy
After our initial post on this topic in March 2024, we submitted all of the relevant information for investigation to then-Attorney General, Jayson Miyares (R).
We did not hear back, nor did we receive any response or update on the matter. We are not aware of any action by the AG’s office on these apparent violations since 2024.
At the time in 2024, the Arlington County Electoral Board undertook its own investigation and voted 3-0 to send the information to the AG’s office as well. Fairfax County’s Electoral Board also issued a new policy on referring noncitizens with voting records to the Commonwealth Attorney. The policy stated:
“The General Registrar shall refer all individuals who were removed from the voter rolls pursuant to Va. Code § 24.2-427(C), after being identified by ELECT as noncitizens, to the Commonwealth’s Attorney and the Attorney General to determine if they have violated Virginia elections law.”
In October 2024, during early voting for the presidential election, the League of Women Voters along with the Biden Department of Justice sued VA, asking for an injunction to place approximately 1,600 removed noncitizen registrations back on the voter rolls. After two lower courts granted the injunction, the U.S. Supreme Court stayed the case, and the noncitizen removals proceeded as the litigation played out.
It is EPEC’s opinion that the Commonwealth of VA was correctly applying the National Voter Registration Act (NVRA) in this matter under the Youngkin administration and AG Miyares, as I detailed in an X.com post on Oct 12.
In 2025, the incoming Trump DOJ dropped the Biden DOJ’s lawsuit against VA; the League of Women Voters continued the litigation.
In April of 2026, Virginia’s Democrat Attorney General Jay Jones issued an advisory opinion to the Department of Elections that effectively adopts the same position of the challengers in the Biden DOJ / LWV lawsuit.
ELECT followed this advisory opinion with guidance to registrars instructing them not to remove any noncitizen voters within the NVRA’s 90-day “quiet period” around any federal election, including primaries.
As of May 6th 2026, ELECT is no longer populating noncitizen data into “hoppers” that are used to notify Commonwealth registrars of tasks that require their action.
Instead, ELECT has instructed registrars to change the categorization of existing flagged items in the hopper from “notify voter” to “needs research.”
See Jones’ April 16, 2026 letter to VA Commissioner of Elections Steven Koski here.
We believe this interpretation is impacting the number of self-identified noncitizens that are removed and reflected in the Monthly Update Service (MUS). We have already seen an order of magnitude difference in the data since June 1, 2026, which covers the May time-period in the new policy.
Voter-List Maintenance Obligations:
As part of its responsibilities under law, the VA Department of Elections is required to identify and remove invalid or out-of-date registration records from the voter rolls.
One situation for removal is when a registrant has been determined (via self identification) to be a noncitizen. The VA Constitution prohibits noncitizens from voting in VA elections.
“In elections by the people, the qualifications of voters shall be as follows: Each voter shall be a citizen of the United States, shall be eighteen years of age, shall fulfill the residence requirements set forth in this section, and shall be registered to vote pursuant to this article. …” VA Constitution, Article II, Section 1. https://law.lis.virginia.gov/constitution/article2/section1/
Additionally, according to VA Code Section 24.2-1004, the act of knowingly casting a ballot by someone who is not eligible to vote is a Class 6 felony.
EPEC’s Analysis Methodology:
ELECT makes available for purchase by qualifying parties various data sets, including the registered voter list (RVL) and the Voter History List (VHL).
Additionally, ELECT provides a Monthly Update Service (MUS) subscription that contains (almost) all of the Voter List changes and transactions for the previous period.
The MUS datasets carry an “NVRAReasonCode” field that is associated with each transaction that gives the reason for the update or change in the voter record. This is in accordance with disclosure and transparency requirements in the National Voter Registration Act (NVRA).
One of the reason codes for records that are removed is “Declared Non-Citizen.”
EPEC has been purchasing and archiving these official records as part of our nonprofit mission to document and educate the public about elections processes, and drive voter participation.
If you are interested in supporting this work, please head on over to our donation page, or to our give-send-go campaign to make a tax-deductible donation.
EPEC looked at the number of records associated with unique voter identification numbers identified for removal from the voter record due to non-citizenship status, per entries in the monthly updates (MUS).
We correlated those results with our accumulated Voter History List (VHL) information to determine whether noncitizen registrations had corresponding records of ballots cast in previous elections.
We only considered those records that are currently in a non-active state as of the latest MUS transaction log. Some determinations of non-citizenship status in the historical MUS transaction log might have been due to error and subsequently corrected and reinstated to active status.
Important to note: We are not considering those records that had a “Declared Non-Citizen” disqualification, but were subsequently reinstated and reactivated by ELECT.
Other Gaps to Note:
While EPEC has periodically purchased full copies of the Voter History List for our archives, there is a known issue with the way ELECT handles removals from the voter record that can cause sampling issues — depending on the time the VHL file is purchased. The result: Records of some legitimately cast ballots can be missing from the VHL due to this policy.
Namely, when ELECT removes an ineligible voter from the voter list, it also removes all instances of that registration’s voter ID from its voter history information and other data files that it provides to qualified organizations. (In my opinion, that process eliminates important voting information and thus is not a good way to manage the data, but that is the way it is done).
In light of that, EPEC also used its archived versions of the Daily Absentee List (DAL) early voting files to check records of ballots cast that might otherwise be eliminated from the VHL.
Results:
There were 8,121 (8,566) unique voter records marked for removal with the reason of “Declared Non-Citizen” and not subsequently reinstated in the accumulated MUS record that EPEC began collecting in mid-2023. Of those 8,121 (8,566) there were1,385 (1,756) that also had corresponding records of recent ballots cast at some point in the official Voter History record that we could observe. There were 4,054(6,121) associated ballots cast identified since Feb of 2019. Figure 1 below shows the distribution of non-citizen voters in the cumulative MUS file history. The blue trace represent the total identified and CANCELED non-citizen registrations, and the yellow trace represents the number of those records that also had corresponding records (at least 1) in the accumulated voter history data.
Figure 1: Distribution if the number of identified non-citizen records and ballots in the cumulative ELECT MUS file history. The x-axis is the date that a record was marked as CANCELED for the reason of “Declared Non-Citizen”.
Note that the data contained in the MUS updates often covers more than a single month’s period. In other words, the individual MUS files are oversampled. Subsequent MUS files can therefore also have repeated entries from previous versions, as their data may overlap. Our analysis used the first unique entry for a given voter ID marked as “Declared Non-Citizen” in the cumulative MUS record, that had not been subsequently reinstated, in order to build Figure 1. This data oversampling in the MUS may help explain the relative spike in the first (May 2023) bin compared to subsequent months.
As VHL information can be incomplete depending on the time the VHL data was purchased in relation to the time that registrants were removed from voter records, EPEC also checked these non-citizen removals against the archived history of Daily Absentee List (DAL) files that EPEC has accumulated. There were an additional ten non-citizen registrations and ballots as per the Daily Absentee List (DAL) data that were not contained in the Voter History data. The total number of identified non-citizen ballots cast is therefore 6,121 by 1,766 registrants when combining unique VHL and DAL identifications.
These identifications represent only the individuals who declared themselves as non-citizen status through official interactions with ELECT, DMV, or other agencies. Each removed registrant was then contacted by the registrar to confirm their non-citizen status prior to removal, as is the current policy. (Again … we are only considering those records that we’re flagged as “Declared Non-Citizen”, removed and never reinstated.)
The distribution of identified unique voter ID’s for the1,385 (1,756) identified non-citizen voters per VA locality is given below in Table 1. It should be noted that each ballot record has a specific locality associated with it stating where the ballot was cast, whereas unique individuals might move between localities over time. The assignment of unique identified individuals to each locality in table 1 is therefore based on the locality listed in the specific MUS “Declared Non-Citizen” record for that individual, while the assignment of ballot cast to Localities is based on the individual VHL/DAL records. A person could have lived and voted multiple times in one county, then moved to another county and voted again before finally being determined as a non-citizen. The same person would have generated multiple VHL/DAL records for each ballot cast, and associated with potentially different localities. This should be kept in mind when attempting to interpret Table 1.
LOCALITY_NAME
REMOVED
VOTED_VHL
VOTES_VHL
VOTED_DAL_NOT_IN_VHL
ACCOMACK COUNTY
20
1
7
0
ALBEMARLE COUNTY
81 94
19 31
73 162
0
ALEXANDRIA CITY
284 309
33 58
66 204
0
ALLEGHANY COUNTY
0
0
0
0
AMELIA COUNTY
5
2
9
0
AMHERST COUNTY
1
0
0
0
APPOMATTOX COUNTY
3
0
0
0
ARLINGTON COUNTY
247 264
40 55
84 185
0
AUGUSTA COUNTY
39 42
9 12
19 37
0
BATH COUNTY
2 3
0 1
0 1
0
BEDFORD COUNTY
20 31
4 14
10 60
0
BLAND COUNTY
1
1
3
0
BOTETOURT COUNTY
5 6
0 1
0 4
0
BRISTOL CITY
3
1
7
0
BRUNSWICK COUNTY
3 4
2 3
6 15
0
BUCHANAN COUNTY
0
0
0
0
BUCKINGHAM COUNTY
5 6
0 1
0 13
0
BUENA VISTA CITY
0
0
0
0
CAMPBELL COUNTY
2 3
0 1
0 10
0
CAROLINE COUNTY
15 18
2 4
6 15
0
CARROLL COUNTY
17 18
5 6
16 26
0
CHARLES CITY COUNTY
7 8
3 4
14 26
0
CHARLOTTE COUNTY
2 3
0 1
0 2
0
CHARLOTTESVILLE CITY
47 51
12 16
40 51
0
CHESAPEAKE CITY
174 192
51 67
157 267
0
CHESTERFIELD COUNTY
483 501
59 74
190 276
0
CLARKE COUNTY
13 16
4 7
6 19
0
COLONIAL HEIGHTS CITY
23 25
2 4
4 10
0
COVINGTON CITY
4
0
1
0
CRAIG COUNTY
3
2
3
0
CULPEPER COUNTY
48 51
7 9
22 32
0
CUMBERLAND COUNTY
1
0
0
0
DANVILLE CITY
43
5
13
0
DICKENSON COUNTY
3
1
1
0
DINWIDDIE COUNTY
18
6
25
0
EMPORIA CITY
5
0
0
0
ESSEX COUNTY
8
2
4
0
FAIRFAX CITY
32
9
26
0
FAIRFAX COUNTY
1404 1428
248 271
604 737
2
FALLS CHURCH CITY
8
2
5
0
FAUQUIER COUNTY
41 45
5 9
11 16
0
FLOYD COUNTY
0
0
0
0
FLUVANNA COUNTY
5 6
2 3
10 12
0
FRANKLIN CITY
1 2
0 1
0 2
0
FRANKLIN COUNTY
11 13
5 7
16 36
0
FREDERICK COUNTY
37 45
4 8
10 24
0
FREDERICKSBURG CITY
47 48
3 4
10 12
0
GALAX CITY
5
0
0
0
GILES COUNTY
3
0
0
0
GLOUCESTER COUNTY
9
3
6
1
GOOCHLAND COUNTY
9 10
0 1
0 3
0
GRAYSON COUNTY
4 6
1 2
1 12
1
GREENE COUNTY
16
3
9
0
GREENSVILLE COUNTY
1
0
0
0
HALIFAX COUNTY
10
1
2
0
HAMPTON CITY
134 147
32 45
89 176
0
HANOVER COUNTY
33 35
4 6
14 23
0
HARRISONBURG CITY
157 161
9 13
18 27
0
HENRICO COUNTY
338 381
18 40
80 178
0
HENRY COUNTY
1
0
2
0
HIGHLAND COUNTY
0
0
0
0
HOPEWELL CITY
1
0
0
0
ISLE OF WIGHT COUNTY
4 5
1 2
12 21
0
JAMES CITY COUNTY
62 65
10 13
33 46
0
KING AND QUEEN COUNTY
3
2
7
0
KING GEORGE COUNTY
10
1
4
0
KING WILLIAM COUNTY
3 5
1 3
12 37
0
LANCASTER COUNTY
3 4
2
1
0
LEE COUNTY
0
0
0
0
LEXINGTON CITY
1
1
3
0
LOUDOUN COUNTY
464 484
109 127
280 414
0
LOUISA COUNTY
15 19
3 7
19 36
0
LUNENBURG COUNTY
2
0
0
0
LYNCHBURG CITY
47 53
8 13
22 51
0
MADISON COUNTY
1 2
0 1
05
0
MANASSAS CITY
104 110
11 15
33 43
0
MANASSAS PARK CITY
46 51
3 6
9 22
0
MARTINSVILLE CITY
17 18
4 5
3 5
0
MATHEWS COUNTY
0
0
0
0
MECKLENBURG COUNTY
15 16
7 8
18 19
0
MIDDLESEX COUNTY
3
1
1
0
MONTGOMERY COUNTY
31
5
21
1
NELSON COUNTY
4 7
1 4
10 20
0
NEW KENT COUNTY
11 14
6 9
22 36
0
NEWPORT NEWS CITY
228 233
50 55
167 219
0
NORFOLK CITY
225 247
38 55
144 220
0
NORTHAMPTON COUNTY
6 7
1 2
4 7
0
NORTHUMBERLAND COUNTY
3 4
2 3
7 11
0
NORTON CITY
1
0
0
0
NOTTOWAY COUNTY
9 12
1 4
6 31
0
ORANGE COUNTY
9 12
5 7
13 15
0
PAGE COUNTY
0
0
0
0
PATRICK COUNTY
5
1
2
0
PETERSBURG CITY
52 59
8 15
27 68
0
PITTSYLVANIA COUNTY
19 25
6 11
25 52
0
POQUOSON CITY
1
0
0
0
PORTSMOUTH CITY
114 121
40 46
96 132
0
POWHATAN COUNTY
5 6
1
8
0
PRINCE EDWARD COUNTY
14
3
11
0
PRINCE GEORGE COUNTY
32 34
3 5
5 9
0
PRINCE WILLIAM COUNTY
903 915
142 152
401 448
1
PULASKI COUNTY
14
4
7
0
RADFORD CITY
1
0
3
0
RAPPAHANNOCK COUNTY
3
0
0
0
RICHMOND CITY
336 345
56 65
186 241
1
RICHMOND COUNTY
1 2
0 1
0 4
0
ROANOKE CITY
182 193
12 22
30 68
0
ROANOKE COUNTY
34
4
5
0
ROCKBRIDGE COUNTY
0
0
1
0
ROCKINGHAM COUNTY
76 78
16 16
45 48
0
RUSSELL COUNTY
9
3
9
0
SALEM CITY
11 15
2 4
1 17
0
SCOTT COUNTY
6
4
17
0
SHENANDOAH COUNTY
38 42
2 6
8 18
0
SMYTH COUNTY
10 11
4 5
19 21
0
SOUTHAMPTON COUNTY
0 0
0 0
0 3
0
SPOTSYLVANIA COUNTY
133 137
5 7
12 18
0
STAFFORD COUNTY
225 242
32 45
71 133
2
STAUNTON CITY
7 9
0 2
0 11
0
SUFFOLK CITY
77 85
29 37
102 169
1
SURRY COUNTY
2
0
0
0
SUSSEX COUNTY
2
1
3
0
TAZEWELL COUNTY
7 9
1 3
1 13
0
VIRGINIA BEACH CITY
373 380
78 82
308 348
0
WARREN COUNTY
28 30
4 6
12 24
0
WASHINGTON COUNTY
15 21
4 6
10 22
0
WAYNESBORO CITY
3 3
0 0
2 4
0
WESTMORELAND COUNTY
7 8
0 1
0 6
0
WILLIAMSBURG CITY
18 18
4 4
6 7
0
WINCHESTER CITY
45
5
6
0
WISE COUNTY
3 6
2 5
3 13
0
WYTHE COUNTY
3
0
0
0
YORK COUNTY
37 38
14 15
50 51
0
8566
1756
6111
10
Discussion
Of particular concern is that we can see that there has been a significant order of magnitude (10 x) drop in the number of reported non-citizen removals in the MUS data starting in the MUS covering May 2026. This coincides with the recent aforementioned opinion letter from AG Jones to the Department of Elections that advised ELECT to NOT remove self-identified non-citizens from the rolls. The previous AG (Miyares) made the case that the fact that all of these removals were initiated by individual actions of self-identification via interactions with DMV or the Courts, etc., made the program appropriately “individualized” in accordance with NVRA. The courts had tentatively sided with Miyares argument and ultimately denied the injunction requested by the DOJ, LWV and fellow litigants. However, the case was withdrawn shortly after the election of AG Jones. AG Jones has now taken the opposite stance of Miyares, and is now effectively granting the relief that the DOJ & LWV were requesting in their suit even though the supreme court did not grant the injunction. Because of this new direction to not remove self identified non-citizens, this explains the order of magnitude decrease in the number of non-citizen removals that we observe in the MUS data.
It is important to note that the records identified in the MUS are only those resulting from individuals who were removed from the voter rolls by ELECT after self-identifying as a non-citizen via interactions with DMV, ELECT, or other official avenues, and that the data presented here specifically excludes those individuals that were subsequently reinstated onto the voter rolls.
The fact that a small number of these identified non-citizen registrations are also associated with (presumably … if the data from ELECT is accurate) illegally cast ballots in previous elections does raise a number of questions that citizens should be (politely) asking and discussing with their legislators, elected and appointed government officials. Each act of non-citizen voting is a de-facto disenfranchisement of legal voters rights, and is a punishable offense under VA law.
Additionally, this evidence which is derived from only official state records, directly contradicts multiple news media reports and attestations that non-citizen voting is a “Myth”, and that non-citizen voting happens “almost never”. If the data from ELECT is accurate, then there are at least4,054(6,121) ballots that have been cast by non-citizen voters just since 2019. Now, that is still very infrequent, but it is not “almost never.” It is a legitimate concern … and these discoveries are only the registrations that have been found and removed from the voter roles by ELECT and that we can observe in the data.
It should also be reiterated that these are only the records that we can observe given our data repository, and how often we can realistically purchase and acquire voter history and voter registration information. It is therefore likely that this represents a significant undercount of the occurrences of non-citizen voters and non-citizen voting.
Due to the infrequent nature of these data purchases, it is very likely that some individuals have had their voter history or voter registration information completely removed from the record in between our purchases. Additionally, we know that the MUS data does not entirely encompass all transactions performed on the RVL by the department of elections, so there may be yet other unknown transactions that we are missing.
We do not know how many exist that we do not know about, and with the recent change in guidance from the new AG Jones to ELECT we expect that our ability to observe and report on these issues into the future will be significantly impacted, as ELECT will stop removals of many of these records, and therefore they will not show up in the MUS records, even though they have been correctly flagged via self-identification.
There are at least 6,096 statewide records that are currently approved to receive absentee ballots, on a permanent basis, that DO NOT HAVE CORRESPONDING RECORDS EXISTING in the Registered Voter List.
Derivation:
As we’re now in the early voting period for the VA April 21 2026 Special Election regarding the redistricting push (sidebar: we strongly urge you to vote, and to vote “NO” btw), we purchased a fresh version of the Registered Voter List (“RVL”) and the Comprehensive Absentee Application List (“CAAL”) from the department of elections, as well as a Voter History List (VHL), all at the same time.
This gives us a full, temporally consistent, official dataset of all of these files direct from the department of elections (“ELECT”).
The the CAAL encompasses the Permanent Absentee List (PAL) as well as those voters that have made non-recurring requests for absentee by mail ballots. Upon examining the CAAL file, there are a couple of issues that are easily observed.
The first issue observed is that the CAAL, as we received it from ELECT, contains a number of duplicated records, with the only distinction being the APP_STATUS field. As there is no other distinguishing difference between rows that represent the same voter ID, it is impossible to know which row represents the current “status” of the voter ID being represented. There is no distinguishing transaction time stamp or other method to determine precedence of the records.
We don’t have any way of knowing which row entry came first. i.e. Was John Q Public in the table below first deemed to be “INCOMPLETE” then “DENIED”, and then John corrected his request and was “APPROVED”? OR was he initially “APPROVED” by default, but then an issue was discovered by the GR and he was deemed “INCOMPLETE”, with him finally getting “DENIED” because he didn’t correct the issue after a given time period?
There is no way to tell from the incomplete data provided by ELECT.
ID
FIRST
MIDDLE
LAST
…
APP_STATUS
12345
John
Q
Public
…
APPROVED
12345
John
Q
Public
…
INCOMPLETE
12345
John
Q
Public
…
DENIED
… etc …
So how do we make an inference as to if a given voter with multiple conflicting records in the CAAL are “APPROVED” to receive mail in ballots or not?
Since we don’t know the temporal precedence, we could try and make a mathematical simplification / assumption that an APPROVED state can be cancelled out by a any “non-approved” state, and then we can take the sum of any APPROVED state (with a value of +1) combined with any “non-approved” (with a value of -1) state for a given voter ID number that appears in the CAAL. If the result is positive, we could consider the current state as being “approved”.
While that might be an appropriate way to interpret the data … a more conservative method is to only consider those records where there is no conflict in the APP_STATUS field. i.e. There is only a single row representing a given Voter ID number, and it’s status is “APPROVED”. This assures us that there is no confusion, although it may be a significant undercount as to understanding the total numbers that are considered APPROVED by the state from the official record as provided.
If we take that second, more conservative, approach and then cross correlate with the aforementioned RVL, which was purchased at the same time as the CAAL, we discover a second issue with the data from ELECT. Namely, that there are a number of APPROVED records on the CAAL that have no existing record in the RVL. There are 6,109 of these, to be exact.
To be extra conservative in trying to interpret this data, if we further restrict this list to only those records that are “Permanent Absentee” … meaning that they are signed up to automatically receive mail in ballots every election in perpetuity … the number drops (only by 13) to 6,096.
That is … There are 6,096 statewide records (a very conservative estimate) that are currently approved to receive absentee ballots, on a permanent basis, that DO NOT HAVE CORRESPONDING RECORDS EXISTING in the Registered Voter List.
This is based on only official data from ELECT
All data was purchased at the same exact time from ELECT, so we have the most temporally consistent datasets possible to compare against.
Our analysis was extremely conservative in our interpretation of the data from ELECT, ignoring entries that could not be clearly interpreted or rectified.
Below you will find the current summary data and graphics from the 2026 VA April 21 Special Election Daily Absentee List files. We pull the DAL file everyday and track the count of each specific ballot category in each daily file.
It should be noted that EPEC strongly encourages voters to make their voices heard and recommends that voters vote NO on this special election referendum.
Note: Page may take a moment to load the graphics objects.
Place your cursor over the series name in the legend at right to see the series highlighted in the graphic. Place your cursor over a specific data point to see that data points value.
The logarithmic plot is the same underlying data as the linear scale plot, except with a logarithmic y-scale in order to be able to compress the dynamic range and see the shape of all of the data curves in a single graphic. Place your cursor over the series name in the legend at right to see the series highlighted in the graphic. Place your cursor over a specific data point to see that data points value.
The underlying data for the graphics above is provided in the summary data table.
Additional Data:
Additional CSV datasets stratified by Locality, City, Congressional District, State House District, State Senate District, and Precinct are available here. Please note that you need to give the page time to load before trying to drill down into any of the listed subdirectories, and mobile browsers have shown some issues.
A direct link to a zip file with ALL of the metrics data stratified by Locality, etc is here.
Data column descriptions:
“ISSUED” := Number of DAL file records where BALLOT_STATUS= “ISSUED”
“NOT_ISSUED” := Number of DAL file records where BALLOT_STATUS= “NOT ISSUED”
“PROVISIONAL” := Number of DAL file records where BALLOT_STATUS= “PROVISIONAL” and APP_STATUS=”APPROVED”
“DELETED” := Number of DAL file records where BALLOT_STATUS= “DELETED”
“MARKED” := Number of DAL file records where BALLOT_STATUS= “MARKED” and APP_STATUS=”APPROVED”
“ON_MACHINE” := Number of DAL file records where BALLOT_STATUS= “ON_MACHINE” and APP_STATUS=”APPROVED”
“PRE_PROCESSED” := Number of DAL file records where BALLOT_STATUS= “PRE-PROCESSED” and APP_STATUS=”APPROVED”
“FWAB” := Number of DAL file records where BALLOT_STATUS= “FWAB” and APP_STATUS=”APPROVED”
“MAIL_IN” := The sum of “MARKED” + “PRE_PROCESSED”
“COUNTABLE” := The sum of “PROVISIONAL” + “MARKED” + “PRE_PROCESSED” + “ON_MACHINE” + “FWAB”
“MILITARY” := Number of DAL file records where VOTER_TYPE= “MILITARY”
“OVERSEAS” := Number of DAL file records where VOTER_TYPE= “OVERSEAS”
“TEMPORARY” := Number of DAL file records where VOTER_TYPE= “TEMPORARY”
“MILITARY_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “MILITARY” and where COUNTABLE is True
“OVERSEAS_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “OVERSEAS” and where COUNTABLE is True
“TEMPORARY_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “TEMPORARY” and where COUNTABLE is True
“MILITARY_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “MILITARY” and where BALLOT_STATUS==”ISSUED”
“OVERSEAS_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “OVERSEAS” and where BALLOT_STATUS==”ISSUED”
“TEMPORARY_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “TEMPORARY” and where BALLOT_STATUS==”ISSUED”
“COUNTABLE_HIGH_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has voted in 75% or more of the November General elections on record. (i.e. They have a high November General propensity score)
“COUNTABLE_MED_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has voted in < 75% and > 0% of the November General elections on record.
“COUNTABLE_ZERO_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has never voted in any of the November General elections on record.
All data purchased by Electoral Process Education Corp. (EPEC) from the VA Dept of Elections (ELECT). All processing performed by EPEC.
If you like the work that EPEC is doing, please support us with a donation.
Using the data provided by the VA Department of Elections (ELECT), we have identified at least 7,343 unique registrations that were self-identified as “Declared Non-Citizen” and removed by ELECT from the voter rolls since May of 2023. Of those 7,343 removals there were 1,225 that also had corresponding records of recent ballots cast at some point in the official Voter History record that we could observe. There were 3,515 associated ballots cast identified since Feb of 2019. There were an additional 10 non-citizen registrations and ballots as per the Daily Absentee List (DAL) data, that were not contained in the Voter History data. The total number of identified non-citizen ballots cast is therefore 3,525 by 1,235 registrants when combining unique VHL and DAL identifications.
After our initial March 2024 post on this topic, we submitted all of the relevant information that we had at the time to the VA AG’s office. We have not heard any response or update on the matter since that time, besides this being considered an active investigation. We subsequently sent our July results as well to the same contact at the AG’s office, but have had no response. The outgoing VA AG declined to take any action on these cases that we are aware of.
The Arlington County VA Electoral Board undertook their own investigation into this matter after our previous results were posted, and they (as of Sept 10 2024) voted 3-0 to send the information to the AG’s office as well. The Arlington County Commonwealths Attorney also is reported to have an ongoing investigation into the matter. Similar efforts are underway in multiple other counties, including Loudoun and Fairfax counties, to name a few.
In October 2024 the League of Women Voters along with the US DOJ sued VA over this issue and attempted to get an injunction to place ~1,600 of these removed registrations back on the Voter roll. After two lower courts granted the injunction, it was stayed by the US Supreme Court. It is EPEC’s opinion that the State of VA is correctly applying the law in this matter, as I detailed in a X.com post on Oct 12.
Background:
The VA Department of Elections continuously tries to identify and remove invalid or out of date registration records from the voter rolls. One category used for removal is if a registrant has been determined to be a non-citizen. It is required by the VA Constitution that only citizens are allowed to vote in VA elections.
In elections by the people, the qualifications of voters shall be as follows: Each voter shall be a citizen of the United States, shall be eighteen years of age, shall fulfill the residence requirements set forth in this section, and shall be registered to vote pursuant to this article. …VA Constitution, Article II, Section 1. https://law.lis.virginia.gov/constitution/article2/section1/
Additionally, according to VA Code Section 24.2-1004, the act of knowingly casting a ballot by someone who is not eligible to vote is a Class 6 felony.
A. Any person who wrongfully deposits a ballot in the ballot container or casts a vote on any voting equipment, is guilty of a Class 1 misdemeanor.
B. Any person who intentionally (i) votes more than once in the same election, whether those votes are cast in Virginia or in Virginia and any other state or territory of the United States, (ii) procures, assists, or induces another to vote more than once in the same election, whether those votes are cast in Virginia or in Virginia and any other state or territory of the United States, (iii) votes knowing that he is not qualified to vote where and when the vote is to be given, or (iv) procures, assists, or induces another to vote knowing that such person is not qualified to vote where and when the vote is to be given is guilty of a Class 6 felony.https://law.lis.virginia.gov/vacode/title24.2/chapter10/section24.2-1004/
ELECT makes available for purchase by qualifying parties various different data sets, including the registered voter list (RVL) and the voter history list information file (VHL). Additionally, ELECT makes available a Monthly Update Service (MUS) subscription that is published at the beginning of each month and contains (almost) all of the Voter List changes and transactions for the previous period.
In the MUS data there is a “NVRAReasonCode” field that is associated with each transaction that gives the reason for the update or change in the voter record. This is in accordance with the disclosure and transparency requirements in the NVRA. One of the possible reason codes given for records that are removed is “Declared Non-Citizen.”
EPEC has been consistently purchasing and archiving all of these official records as part of our ongoing work to document and educate the public as to the ongoing operations of our elections. (If your interested in supporting this work, please head on over to our donation page, or to our give-send-go campaign to make a tax-deductible donation, as these data purchases are not cheap!)
EPEC looked at the number of records associated with unique voter identification numbers that had been identified for removal from the voter record due to non-citizenship status, per the entries in the MUS, and correlated those results with our accumulated voter history list information in order to determine how many non-citizen registrations had corresponding records of ballots cast in previous elections. We only considered those records that are currently in a non-active state as of the latest MUS transaction log, as some determinations of non-citizenship status in the historical MUS transaction log might have been due to error and subsequently corrected and reinstated to active status. That is, and we emphasize here that we are not considering those records that had a “Declared Non-Citizen” disqualification, but were then subsequently reinstated and reactivated by ELECT.
Note that while EPEC has periodically purchased full copies of the Voter History List for our archive, there is a known issue with the way ELECT handles removals from the voter record that can cause sampling issues depending on the time the VHL file is purchased, and records of legitimately cast ballots to not be present in the VHL: Namely, when ELECT removes a voter from the voter list, they also remove all instances of that voter ID from voter history information and other data files provided to qualified organizations. (IMO … thats a terrible way to manage the data, but that is the way it is done.) In light of that, EPEC also used its archived versions of the Daily Absentee List (DAL) for recent elections in order to attempt to find records of votes cast that might otherwise be missing from the VHL.
Results:
There were 7,343 unique voter records marked for removal with the reason of “Declared Non-Citizen” and not subsequently reinstated in the accumulated MUS record that EPEC began collecting in mid-2023. Of those 7,343 there were 1,225 that also had corresponding records of recent ballots cast at some point in the official Voter History record that we could observe. There were 3,515 associated ballots cast identified since Feb of 2019. Figure 1 below shows the distribution of non-citizen voters in the cumulative MUS file history. The blue trace represent the total identified and CANCELED non-citizen registrations, and the yellow trace represents the number of those records that also had corresponding records (at least 1) in the accumulated voter history data.
Figure 1: Distribution if the number of identified non-citizen records and ballots in the cumulative ELECT MUS file history. The x-axis is the date that a record was marked as CANCELED for the reason of “Declared Non-Citizen”.
Note that the data contained in the MUS updates often covers more than a single month period. In other words, the individual MUS files are oversampled. Subsequent MUS files can therefore also have repeated entries from previous versions, as their data may overlap. Our analysis used the first unique entry for a given voter ID marked as “Declared Non-Citizen” in the cumulative MUS record, that had not been subsequently reinstated, in order to build Figure 1. This data oversampling in the MUS may help explain the relative spike in the first (May 2023) bin compared to subsequent months.
As VHL information can be incomplete depending on the time the VHL data was purchased in relation to the time that registrants were removed from voter records, EPEC also checked these non-citizen removals against the archived history of Daily Absentee List (DAL) files that EPEC has accumulated. There were an additional 10 non-citizen registrations and ballots as per the Daily Absentee List (DAL) data that were not contained in the Voter History data. The total number of identified non-citizen ballots cast is therefore 3,525 by 1,235 registrants when combining unique VHL and DAL identifications.
These identifications represent only the individuals who declared themselves as non-citizen status through official interactions with ELECT, DMV, or other agencies. Each removed registrant was then contacted by the registrar to confirm their non-citizen status prior to removal, as is the current policy. (Again … we are only considering those records that we’re flagged as “Declared Non-Citizen”, removed and never reinstated.)
The distribution of identified unique voter ID’s for the 1,225 identified non-citizen voters per VA locality is given below in Table 1. It should be noted that each ballot record has a specific locality associated with where the ballot was cast, whereas unique individuals might move between localities over time. The assignment of unique identified individuals to each locality in table 1 is therefore based on the locality listed in the specific MUS “Declared Non-Citizen” record for that individual, while the assignment of ballot cast to Localities is based on the individual VHL/DAL records. A person could have lived and voted multiple times in one county, then moved to another county and voted again before finally being determined as a non-citizen. The same person would have generated multiple VHL/DAL records for each ballot cast, and associated with potentially different localities. This should be kept in mind when attempting to interpret Table 1.
LOCALITY_NAME
REMOVED
VOTED_VHL
VOTES_VHL
VOTED_DAL_NOT_IN_VHL
ACCOMACK COUNTY
18
0
1
0
ALBEMARLE COUNTY
74
16
59
0
ALEXANDRIA CITY
270
31
71
0
ALLEGHANY COUNTY
0
0
0
0
AMELIA COUNTY
4
2
9
0
AMHERST COUNTY
1
0
0
0
APPOMATTOX COUNTY
2
0
0
0
ARLINGTON COUNTY
219
34
75
0
AUGUSTA COUNTY
32
6
10
0
BATH COUNTY
3
1
1
0
BEDFORD COUNTY
19
4
10
0
BLAND COUNTY
1
1
3
0
BOTETOURT COUNTY
5
0
0
0
BRISTOL CITY
2
0
0
0
BRUNSWICK COUNTY
3
2
6
0
BUCHANAN COUNTY
0
0
0
0
BUCKINGHAM COUNTY
4
0
0
0
BUENA VISTA CITY
0
0
0
0
CAMPBELL COUNTY
0
0
6
0
CAROLINE COUNTY
15
2
6
0
CARROLL COUNTY
14
5
16
0
CHARLES CITY COUNTY
7
3
14
0
CHARLOTTE COUNTY
1
0
0
0
CHARLOTTESVILLE CITY
38
8
18
0
CHESAPEAKE CITY
153
44
136
0
CHESTERFIELD COUNTY
438
51
148
0
CLARKE COUNTY
13
4
6
0
COLONIAL HEIGHTS CITY
23
2
4
0
COVINGTON CITY
4
0
1
0
CRAIG COUNTY
3
2
3
0
CULPEPER COUNTY
45
7
22
0
CUMBERLAND COUNTY
1
0
0
0
DANVILLE CITY
37
5
13
0
DICKENSON COUNTY
3
1
1
0
DINWIDDIE COUNTY
18
6
25
0
EMPORIA CITY
4
0
0
0
ESSEX COUNTY
8
2
4
0
FAIRFAX CITY
28
7
22
0
FAIRFAX COUNTY
1261
224
537
2
FALLS CHURCH CITY
8
2
5
0
FAUQUIER COUNTY
41
5
11
0
FLOYD COUNTY
0
0
0
0
FLUVANNA COUNTY
4
2
10
0
FRANKLIN CITY
1
0
0
0
FRANKLIN COUNTY
10
5
16
0
FREDERICK COUNTY
37
4
5
0
FREDERICKSBURG CITY
43
3
10
0
GALAX CITY
4
0
0
0
GILES COUNTY
3
0
0
0
GLOUCESTER COUNTY
6
2
2
1
GOOCHLAND COUNTY
9
0
0
0
GRAYSON COUNTY
3
0
0
1
GREENE COUNTY
15
2
8
0
GREENSVILLE COUNTY
1
0
0
0
HALIFAX COUNTY
8
1
2
0
HAMPTON CITY
121
29
83
0
HANOVER COUNTY
28
3
9
0
HARRISONBURG CITY
143
8
17
0
HENRICO COUNTY
302
14
71
0
HENRY COUNTY
1
0
2
0
HIGHLAND COUNTY
0
0
0
0
HOPEWELL CITY
0
0
0
0
ISLE OF WIGHT COUNTY
3
0
2
0
JAMES CITY COUNTY
58
9
32
0
KING AND QUEEN COUNTY
3
2
7
0
KING GEORGE COUNTY
10
1
1
0
KING WILLIAM COUNTY
3
1
12
0
LANCASTER COUNTY
1
1
0
0
LEE COUNTY
0
0
0
0
LEXINGTON CITY
0
0
0
0
LOUDOUN COUNTY
418
99
228
0
LOUISA COUNTY
13
2
11
0
LUNENBURG COUNTY
2
0
0
0
LYNCHBURG CITY
43
7
20
0
MADISON COUNTY
1
0
0
0
MANASSAS CITY
90
10
32
0
MANASSAS PARK CITY
43
3
9
0
MARTINSVILLE CITY
16
4
3
0
MATHEWS COUNTY
0
0
0
0
MECKLENBURG COUNTY
14
7
18
0
MIDDLESEX COUNTY
3
1
1
0
MONTGOMERY COUNTY
26
4
17
1
NELSON COUNTY
3
0
0
0
NEW KENT COUNTY
9
5
22
0
NEWPORT NEWS CITY
211
47
161
0
NORFOLK CITY
199
33
123
0
NORTHAMPTON COUNTY
6
1
4
0
NORTHUMBERLAND COUNTY
3
2
7
0
NORTON CITY
1
0
0
0
NOTTOWAY COUNTY
7
1
6
0
ORANGE COUNTY
9
5
14
0
PAGE COUNTY
0
0
0
0
PATRICK COUNTY
5
1
2
0
PETERSBURG CITY
44
7
26
0
PITTSYLVANIA COUNTY
15
3
9
0
POQUOSON CITY
1
0
0
0
PORTSMOUTH CITY
96
33
93
0
POWHATAN COUNTY
5
1
8
0
PRINCE EDWARD COUNTY
14
3
11
0
PRINCE GEORGE COUNTY
30
3
5
0
PRINCE WILLIAM COUNTY
827
126
348
1
PULASKI COUNTY
13
4
7
0
RADFORD CITY
1
0
1
0
RAPPAHANNOCK COUNTY
3
0
0
0
RICHMOND CITY
310
54
176
1
RICHMOND COUNTY
0
0
0
0
ROANOKE CITY
159
9
18
0
ROANOKE COUNTY
30
3
4
0
ROCKBRIDGE COUNTY
0
0
1
0
ROCKINGHAM COUNTY
69
14
34
0
RUSSELL COUNTY
6
3
9
0
SALEM CITY
10
2
1
0
SCOTT COUNTY
6
4
17
0
SHENANDOAH COUNTY
35
3
10
0
SMYTH COUNTY
8
3
14
0
SOUTHAMPTON COUNTY
0
0
0
0
SPOTSYLVANIA COUNTY
123
4
11
0
STAFFORD COUNTY
210
30
69
2
STAUNTON CITY
7
0
0
0
SUFFOLK CITY
67
25
81
1
SURRY COUNTY
2
0
0
0
SUSSEX COUNTY
2
1
3
0
TAZEWELL COUNTY
8
2
9
0
VIRGINIA BEACH CITY
336
65
260
0
WARREN COUNTY
26
4
12
0
WASHINGTON COUNTY
14
3
8
0
WAYNESBORO CITY
3
0
0
0
WESTMORELAND COUNTY
7
0
0
0
WILLIAMSBURG CITY
17
3
5
0
WINCHESTER CITY
40
3
4
0
WISE COUNTY
2
1
2
0
WYTHE COUNTY
3
0
0
0
YORK COUNTY
35
13
49
0
7,343
1,225
3,515
10
The distribution of the 3,515 ballots that were identified as being cast by non-citizen voters (the yellow trace in Figure 1) in previous elections is shown in Figure 2. The most significant spikes are in the 2019, 2020, 2021 and 2022 November General elections, as well as the 2020 March Democratic presidential primary. Figure 3, which shows this distribution as a percentage of votes cast. Please note the scale of the Y-axis on the percent plot in Figure 3 is in percent of total ballots cast in each election. These graphs were only produced for the VHL data, and do not include the DAL identified records.
Figure 2: Distribution of identified non-citizen ballots cast in previous elections.Figure 3: Distribution of identified non-citizen ballots cast in previous elections as percent of total ballots cast, according to entries in the VHL/DAL data files.
Figures 4 and 5 show the distribution of the registration dates of the identified non-citizen records. The same data is plotted in figure 4 and 5, with the only difference being the scale of the Y-axis in order to better observe the dynamic range of the values. When we look at the registration date of these identified records, we see that there is a distinct relative increase starting around 1996, and then again around 2012.
Figure 4: Registration dates of the identified non-citizen records. Absolute count on y-axis.Figure 5: Registration dates of the identified non-citizen records. Logarithmic Y-axis scale.
EPEC made a FOIA request to the VA Attorney General’s office on March 11, 2024 inquiring for any records regarding how many prosecutions for non-citizen voting had occurred since June of 2023. We received a response that the AG had no such relevant records.
EPEC subsequently submitted our March analysis dataset to the VA AG’s office upon their request. We have heard no updates or status as to any action taken by the AG’s office since that time, except that it is being considered an ongoing investigation.
Discussion
It appears from the MUS data, that the VA Department of Elections (ELECT) is doing routine identification, cleanup and removal of non-citizen registrations, which is a good thing and we commend them for their continued efforts to maintain clean voter registration lists.
Given the current court cases filed by LWV and DOJ against the state of VA on the matter, it is important to note that the records identified in the MUS are only those resulting from individuals self-identifying as a non-citizen via interactions with DMV, ELECT, or other official avenues, and that the data presented here specifically excludes those individuals that were subsequently reinstated onto the voter rolls.
The fact that a small number of these identified non-citizen registrations are also associated with (presumably … if the data from ELECT is accurate) illegally cast ballots in previous elections does raise a number of questions that citizens should be (politely) asking and discussing with their legislators, elected and appointed government officials. Each act of non-citizen voting is a de-facto disenfranchisement of legal voters rights, and is a punishable offense under VA law.
Q: How did these registrants get placed onto the voter rolls in the first place?
Q: What method and/or data sources are used by the state to identify non-citizen registrations for removal? If that process is exhaustive, and covers all registrations, then these numbers might be considered to represent a statistical complete picture of the problem. If that process is not exhaustive, in that it only uses serendipitous corroborating data sources, then these results likely under-represent the scale of the issues.
Q: As noted above, we are only considering here those individuals who have not had their records re-instated or reactivated after a determination of non-citizen status. We do not have enough information to determine how or why some records were first determined to be non-citizen, canceled and then subsequently re-instated. One potential area of concern is determining whether or not registrants might be falsely or errantly claiming to not be a citizen on official documents in order to be excused from jury duty, for example, and then work to re-instate their voting status once those documents percolate through the system to ELECT and are flagged for removal. This is a wholly separate but serious issue, as making false claims on official documents is itself a punishable offense.
Q: What procedures, processes and technical solutions are in place to prevent current or future registration and casting of ballots by non-citizens? This is especially pertinent given the recent state of the flow of illegal immigrants crossing our national borders. According to a recent report by Yahoo Finance, VA is one of the top 30 destinations for illegal migrants, with both Loudoun County and Fairfax making the list.
Q: Why have none of the identified non-citizens who also cast ballots been investigated or prosecuted under VA Code 24.2-1004? As the identification of these ballots comes directly from looking at the official records produced by ELECT, it seems prudent for these to be forwarded by ELECT to the AG’s office with a recommendation to investigate and prosecute. Yet our FOIA request to the VA AG’s office inquiring as to any records associated with these types of investigations or prosecutions produced a “no relevant records exist” response. And since we submitted this information to the AG’s office, there has been no follow up.
Additionally, this evidence which is derived from only official state records, directly contradicts multiple news media reports and attestations that non-citizen voting is a “Myth”, and that non-citizen voting happens “almost never”. If the data from ELECT is accurate, then there are at least 3,515 ballots that have been cast by non-citizen voters just since 2019. Now, that is still very infrequent, but it is not “almost never.” It is a legitimate concern … and these discoveries are only the registrations that have been found and removed from the voter roles by ELECT and that we can observe in the data. We do not know how many exist that we do not know about.
It should be reiterated that these are only the records that we can observe given our data repository, and how often we can realistically purchase and acquire voter history and voter registration information. It is therefore likely that this represents a significant undercount of the occurrences of non-citizen voters and non-citizen voting.
Due to the infrequent nature of these data purchases, it is very likely that some individuals have had their voter history or voter registration information completely removed from the record in between our purchases. Additionally, we know that the MUS data does not entirely encompass all transactions performed on the RVL by the department of elections, so there may be yet other unknown transactions that we are missing.
For information that is supposed to be publicly available (according to federal NVRA laws), the state has put up significant hurdles in order for citizens and organizations to acquire it for use it for ensuring transparency and integrity of our electoral process. If we are to have elections that are transparent and accountable to the public, then we must insist that the data be made available and accessible.
Below you will find the current summary data and graphics from the 2024 VA November General Election Daily Absentee List files. We pull the DAL file everyday and track the count of each specific ballot category in each daily file.
Note: Page may take a moment to load the graphics objects.
Place your cursor over the series name in the legend at right to see the series highlighted in the graphic. Place your cursor over a specific data point to see that data points value.
The logarithmic plot is the same underlying data as the linear scale plot, except with a logarithmic y-scale in order to be able to compress the dynamic range and see the shape of all of the data curves in a single graphic. Place your cursor over the series name in the legend at right to see the series highlighted in the graphic. Place your cursor over a specific data point to see that data points value.
The underlying data for the graphics above is provided in the summary data table.
Additional Data:
Additional CSV datasets stratified by Locality, City, Congressional District, State House District, State Senate District, and Precinct are available here. Please note that you need to give the page time to load before trying to drill down into any of the listed subdirectories, and mobile browsers have shown some issues.
A direct link to a zip file with ALL of the metrics data stratified by Locality, etc is here.
Data column descriptions:
“ISSUED” := Number of DAL file records where BALLOT_STATUS= “ISSUED”
“NOT_ISSUED” := Number of DAL file records where BALLOT_STATUS= “NOT ISSUED”
“PROVISIONAL” := Number of DAL file records where BALLOT_STATUS= “PROVISIONAL” and APP_STATUS=”APPROVED”
“DELETED” := Number of DAL file records where BALLOT_STATUS= “DELETED”
“MARKED” := Number of DAL file records where BALLOT_STATUS= “MARKED” and APP_STATUS=”APPROVED”
“ON_MACHINE” := Number of DAL file records where BALLOT_STATUS= “ON_MACHINE” and APP_STATUS=”APPROVED”
“PRE_PROCESSED” := Number of DAL file records where BALLOT_STATUS= “PRE-PROCESSED” and APP_STATUS=”APPROVED”
“FWAB” := Number of DAL file records where BALLOT_STATUS= “FWAB” and APP_STATUS=”APPROVED”
“MAIL_IN” := The sum of “MARKED” + “PRE_PROCESSED”
“COUNTABLE” := The sum of “PROVISIONAL” + “MARKED” + “PRE_PROCESSED” + “ON_MACHINE” + “FWAB”
“MILITARY” := Number of DAL file records where VOTER_TYPE= “MILITARY”
“OVERSEAS” := Number of DAL file records where VOTER_TYPE= “OVERSEAS”
“TEMPORARY” := Number of DAL file records where VOTER_TYPE= “TEMPORARY”
“MILITARY_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “MILITARY” and where COUNTABLE is True
“OVERSEAS_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “OVERSEAS” and where COUNTABLE is True
“TEMPORARY_COUNTABLE” := Number of DAL file records where VOTER_TYPE= “TEMPORARY” and where COUNTABLE is True
“MILITARY_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “MILITARY” and where BALLOT_STATUS==”ISSUED”
“OVERSEAS_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “OVERSEAS” and where BALLOT_STATUS==”ISSUED”
“TEMPORARY_ISSUED” := Number of DAL file records where APP_STATUS==”Approved”, VOTER_TYPE= “TEMPORARY” and where BALLOT_STATUS==”ISSUED”
“COUNTABLE_HIGH_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has voted in 75% or more of the November General elections on record. (i.e. They have a high November General propensity score)
“COUNTABLE_MED_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has voted in < 75% and > 0% of the November General elections on record.
“COUNTABLE_ZERO_PROP_NG” := Number of DAL file records where COUNTABLE is True and the registrant has never voted in any of the November General elections on record.
All data purchased by Electoral Process Education Corp. (EPEC) from the VA Dept of Elections (ELECT). All processing performed by EPEC.
If you like the work that EPEC is doing, please support us with a donation.