Skip to main content
King County logo

Countywide turnout and registration maps are created annually after certification of the general election of that year and are produced as pdfs and interactive maps.

Voter turnout maps

How the percentage is calculated

Turnout percentage = Ballots counted / Active registered voters

The interactive map shows the percentage of voter turnout by area or precinct for the 2010-2018 general elections. The map shows turnout by year for all voting precincts. The lighter colors represent lower percentage turnout, the darker colors represent higher percentage turnout.

View interactive map

Voter registration maps

Maps show the percent of registered voters by census tract. They represent the number of people registered to vote as compared to the voting population, age 18 and over.


Total number of registered voters based on registered address at the time of the annual general election.

In 2010, the total King County population for age 18 and over was 1,517,747. Estimated population growth used these projections from the US Census Bureau and the Washington Office of Financial Management:

  • 2010-2018: 14% population increase
  • 2010-2016 & 2017: 11% population increase
  • 2010-2015: 9% population increase
  • 2010-2014: 7% population increase
  • 2010-2013: 6% population increase


The interactive map shows the percentage of registered voters by census tract for the 2013-2017 general elections. King County has an overall 80 percent registration rate, the lighter colors represent a relatively low percent registered; the darker colors represent a relatively high percent registered.

View interactive map

TTY: Relay 711

Sign up for email or text notifications

/* PW CUSTOM CODE */ // emailOrPhone(); One input that detects whether email or phone number was entered function emailOrPhone() { var email = document.getElementById('emailphone'); var inVal = email.value; var phone = document.getElementById('phone').value = inVal; var emailIn = document.getElementById('emailIn').value = inVal; var mailFormat = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; var phoneRegex = /^[(]{0,1}[0-9]{3}[)]{0,1}[-\s\.]{0,1}[0-9]{3}[-\s\.]{0,1}[0-9]{4}$/; if (mailFormat.test(inVal)) { $('#emph-btn').attr('data-target','#myModal1'); } else if (phoneRegex.test(inVal)) { $('#emph-btn').attr('data-target','#myModal2'); } else { $('#emph-btn').attr('data-target','#myModal3'); } $("#push-btn").click(function(){ $("#push-btn").attr("href", "" + inVal); }); return $(".jcontent").html(inVal);// var in model box } $("#emph-btn").click(function(){ emailOrPhone();; }); // panelScroll(); line list-items to Left of screen when panel-header clicked function panelScroll() { var scrollArea = $('.navbar-sm'); var toScroll = $('.panel'); toScroll.each(function() { var clicked = $(this); clicked.on('click', function () { var leftOffset = clicked.offset().left-0 - scrollArea.offset().left-0 + scrollArea.scrollLeft(); // .left-20 for padding scrollArea.animate({ scrollLeft: leftOffset }, 800); }); }); } panelScroll();