Voting timer app

A free app to estimate the average time voters spend with a ballot

How long will it take each voter to vote the ballot?

Using this mobile web app at a polling place, you can time a sampling of voters as they enter and leave voting booths and then immediately estimate the average voting time. You can even download all your timing data across multiple precincts.

Additionally, if you choose to record your data and connect to the centralized database, it’s automatically uploaded and combined with results gathered nationally in what may be the largest ever study on the relationship between ballots, voting methods, and voting times.

Even with advances in civic tech, there’s a lack of data on voting times. By using this app, you’ll help build an open dataset to advance the work of researchers and improve the precision of tools like the Polling Place Resource Planner.

What you'll need

  • Mobile device with internet access
  • Staff member to monitor voting activity at a polling place
  • Computer with internet access
  • Microsoft Excel (for using voting stats spreadsheets)

The Voting Timer is a mobile web app, which means that it works on any smartphone or mobile device without requiring download or installation. If you prefer, you can use the app on a laptop or desktop computer, but the agility of mobile devices makes them better suited for an active polling place.

Start off by making sure your device is connected to wifi or mobile internet service. (Later, you can use the timer in areas without internet service, but you do need to be connected to provide initial information about your location.)

Begin the process by going to the Voting Timer website in your mobile browser.

The first thing you’ll see is a page of information that introduces the timer and how it works.

To make it easier to get to the app later, it’s a good idea to add a shortcut to the app on your mobile device’s home screen. The process for doing this varies by device and by browser, but the basic steps are similar.

Using the Chrome browser, for instance, you go to the top right and tap the three vertical dots menu. In the drop-down box that displays, select Add to Home screen. Chrome then prompts you to name the shortcut. You can keep the name provided or add a new name, and then tap Add. You’ll get a confirmation message saying the shortcut was added to your home screen.

Having this shortcut means that when you want to use the app later, you won’t have to manually navigate to any website.

A user taps the three dots menu, selects add to home screen in the dropdown box, checks the shortcut name, and clicks Add

Basic steps for adding the Voting Timer to your home screen

Providing your information

Once you’ve viewed the introduction for the Voting Timer, go to the bottom center of the screen and tap the Continue button. Before you start to record voting times, the app prompts you to provide information about your location, ballot, and voting method.

For the sake of research, we recommend providing information on your location, ballot, and voting method, but we understand you may want to practice with the app anonymously first.

If you just want to experiment with the timer without sending your results or downloading your data, you can skip the steps asking for personal information and remain in Practice Mode. If that’s your plan, you can now skip to the Using the Tool section below.

Or, maybe you want to use the timer for a mock election or pilot study, and you’d like to download your data. No problem! When it comes time to enter your location information, just select “Testing” (at the top of the list) for the County and Locale inputs to identify your data as experimental and not part of an actual election.

Location information

First, you’re asked to provide information about your state, local election authority (county or municipality), and precinct or polling place.

Your device may prompt you to give it permission to use your location. If it does, respond Yes or OK. This location data will help the researchers verify that your physical location matches the location details you provide.

A user has entered location information on the location page

First, enter location information

Using the drop-down boxes, select your state and your county or locale. If you’re just testing the tool, you can select “Testing” at the top of each list.

Then, type the name, number, or a descriptor for your polling place. If only testing, write “Testing” or leave blank. When done, go to the bottom center of the screen and tap the Next button.

Ballot details

Now enter information about your ballot. These details are important because most ballots contain several kinds of prompts, each of which demands a different amount of time and attention. By logging details about the ballot, you help control for those variables.

A user has entered numbers of the different ballot prompts

Next, provide ballot information

To produce consistent results useful for national research, you should only time voters who are using the same ballot. Keep this in mind if you’re working in a split precinct or have more than one ballot at your polling place.

You should only time more than one ballot if doing so makes sense for your individual research goals (for instance, if you want broad data about voting times at a vote center with multiple ballots). If you’re timing more than one ballot, enter “0” for all the inputs on the Ballot Details page so that your data will make sense to the researchers. 

Enter the number of contested races. Here’s an example from a sample ballot:

A contested race prompt with 3 candidates

A typical contested race

Enter the number of uncontested races. Here’s an example:

An uncontested race with just one candidate and a line for write-ins

A typical uncontested race

Enter the number of “multiselect” races, in which voters select more than one candidate. The example below contains 2 multiselect races.

Two multiselect races in which voters choose more than one candidate

2 typical multiselect races on a ballot

Still looking at any multiselect races on your ballot, next enter the total number of candidates the voter may select in all multiselect races. Since we have 2 such races, and in each race the voter makes 3 (or fewer) selections, we enter the number 6 for this field. If you have 0 multiselect races, you should also enter 0 for this field.

Enter the number of initiativespropositions, or referendums. Here’s an example:


A typical initiative

Enter the number of yes/no retention votes. Here’s an example:

Retention vote with a candidate's name and a yes or no vote

A typical retention vote

Does your ballot have a prompt that’s different than these selections? For now, just choose the selection that’s closest to your prompt. But also tell us about your ballot at so that we can adapt the app to accommodate your prompt.

Once you’ve provided all your ballot details, go to the bottom center of the screen and tap the Next button.

Voting method

In the next stage, you’re asked to provide information on the voting method that you’re observing.

Voting mechanism

Are voters using paper ballots, or are they using electronic voting machines?

If electronic, touchscreen?

If you selected electronic voting, are the machines touchscreen equipment? (No selection is available if you chose paper voting.)

Voter-verified paper audit?

If you selected electronic voting, does the equipment produce a paper record that allows voter verification, or does it not? (No selection is available if you chose paper voting.)

For consistency, you can only time voters using the same voting system. If your polling place has paper ballots as well as electronic equipment, you should record times with only one type of system.


Finally you’re asked to provide an email address. You’re asked for this information so that the researchers can contact you, as needed, to request copies of your ballots, verify your observations, or inquire about your timing process. Don’t worry: your email address will not be used for any other purpose.

A user has selected the voting mechanism and has entered an email address

Finally, select voting method and give an email address

Once you’ve provided your voting details and email address, go to the bottom center of the screen and tap the Next button.

You’ll be directed to the Voting Timer, which means you’re now ready to observe voters and record their voting times.

Table of contents

  1. Learning the timer’s functions
  2. Observing voters: guidelines
  3. Recording voting times
  4. Downloading your timing data

Learning the timer’s functions

As you prepare to time voters, it’s worth taking a moment to get familiar with how the app works. The four controls for timing voting booths are at the center of the timer, but there are additional features at the top and bottom.

The Voting Timer, with controls for 4 voting booths and a menu above

The Voting Timer

Menu: This function provides a shortcut to the Introduction, Location Details, Ballot Details, and Voting Machine Details pages in case you want to return to them.

Record: Press this button if you want to connect to the database and upload your data while you collect it. Uploading your data is optional; if you prefer to remain anonymous, you can use the app in Practice Mode. But if you want to download your voting time data, and if you want to contribute to the growing research on voting times, you need to be recording.

Help: Tapping this provides brief, helpful reminders about how the timer works.

Status bar: As you record voting times, the number of voters you’ve logged and the average voting time — which is updated each time a new voter enters the voting booth — will be displayed here. If you’re recording, the number of voters whose times you need to upload will appear here, too.

Pause: Pressing this button clears the timers for the 4 voting booths (without adding their figures to the running average) and pauses the timer. You can — and should — hit the pause button if you get distracted and lose track of voter movement. To resume logging voters, just tap one of the Voter Enters buttons.

Observing voters: guidelines

Using the Voting Timer app is easy. What’s more difficult is getting the logistics set up and making a plan for how to observe voters with accommodation, respect, and discretion. So before we get to the mechanics of timing voters, let’s look at these guidelines to address common questions you might have.

Who should run the app?

Because recording wait times requires careful attention, we recommend having a dedicated staff member at the polling place who can focus on using the timer without the distraction of additional tasks. On the other hand, you can also time voters for short periods on and off throughout the day, so using the timer doesn’t need to be an all-day commitment.

We suggest having only election staff members use the app. If others — researchers, poll watchers, poll workers — want to time voters, we advise you to contact your local election authority to check on policies regarding being in the polling place, using mobile devices, and observing voters.

How should we prepare the mobile device?

Does your mobile device’s screen turn off automatically? You might need to change settings so the screen doesn’t turn off after a short period. Having to unlock your device each time you need to log a voter will become tiresome and will add a few seconds to your times.

At the same time, keep in mind that using your device for long periods will drain its battery, so remember to bring a charger, replacement battery, or a second device.

How many booths should we time?

The app is capable of recording activity for up to 4 voting booths simultaneously. But if you prefer to monitor fewer booths, you can do watch just 1, 2, or 3 at a time, and the app will function just as well (but will require more time, of course).

Make it easy on yourself by labeling the voting booths. You might think you can easily which booth is which number, but it’s a good idea to put visible number labels on the booths so that you can immediately log activity without taking the moment to remember which booth is which.

What kind of election should we time?

You should time every kind of election, including early voting. Since the app asks you to give info on the ballot, it’s set up to account for all election scenarios.

Who should we time?

You should time every kind of voter. Don’t decide to not time voters just because they’re getting language help from a family member or poll worker, because they have a disability, or because they’re elderly. As long as they’re using the same ballot and equipment, they should be part of the sample — because they’re part of the community.

Does the ballot matter?

Yes! Since you’re timing voters’ experiences with a ballot, you need to make sure they’re all using the same ballot. If you have more than one ballot at your polling place, you should only time one of the ballots so your results will be consistent.

What if a voter needs to return to the voting booth?

Sometimes voters spoil ballots, undervote, overvote, or don’t notice that the ballot has a backside, and so even though they marked their ballots, they need to go back to the booth to do more work. You might be tempted to avoid timing these returning voters, but you should time them anyway. A voter needing to return to the booth is a common experience, so it should be reflected in your sample. Just treat their second session in the booth as if it’s a new voter.

How many voters make a good sample?

As a general rule, more is always better when sampling. The more voters you time, the more representative your sample will be. And with a larger sample, it’s easier to avoid sampling errors — for instance, the influence of a few unusually fast or unusually slow voters.

If you’d like a specific guideline for your sample, you should think of 30 voters as a satisfactory minimum and 50 as a goal.

How should we interact with voters?

When using the timer, be as discreet as possible. Because voting is important, it’s common for voters to feel nervous when they vote, and awareness that they’re being timed will only worsen their stress.

Keep a comfortable amount of space between yourself and the voting booths, and try not to appear to be “watching” voters. If there’s a good view of the polling places from the check-in table, consider sitting there. If not, select another discreet location.

Do not discuss the timer or its findings aloud with poll workers. If a voter asks what you’re doing, just state that you’re a staff member who is monitoring the voting process to make sure it runs smoothly.

Remember that while your research on voting times is important, ensuring a comfortable experience for voters is more important.

Recording voting times

Now you’re ready for the basic steps for recording voting times. First we’ll walk you through the process of recording, and then we’ll provide instructions for logging activity in the voting booths.

If you’re working in an area without internet access, you can still use the app. Refer to the section below on using the app without an internet connection.

Recording (or practicing)

Before you begin timing voters, decide whether you want to connect to the database and record your data or remain in Practice Mode. We recommend for you to record so that you can download the stats you produce and so you can contribute your data to the growing database of voting times.

To remain in Practice Mode, simply take no action. The timer starts in Practice Mode by default.

To record, go to the top center of your screen and tap the green Record button.

If your connection is successful, you’ll see a pop-up window asking you to confirm the location, ballot details, and voting system information you provided earlier. Review the information and click Okay if it’s correct. When you do, you’ll see the green button toggle to read Stop.

A user is prompted to confirm details before tapping Okay

When you connect, you’re asked to confirm your details

If tapping Record doesn’t do anything, it’s because you still need to enter information about your location, ballot, and voting system. Going to the top left of your screen, tap the yellow Menu button, select a page to return to, and enter in the information needed. Then go back to the timer and try to connect again.

There’s no need to stop recording data until you’re done with the entire vote timing process. Once you’re fully done, just tap the Stop button.

Timing voters

When a voter enters a voting booth, tap the Voter Enters button that corresponds to that booth to begin the timer. When you see that voter leave, quickly prepare to take 1 of these 2 actions:

  • You’ll use the Voter Enters button again if there’s a new voter ready to take the departing voter’s place in the booth. Just wait for the new voter to approach the booth, and tap the button when the new voter enters. This ends the first voter’s timing session and resets the timer for the new voter. When the polling place is busy, you should be able to time voters using only the Voter Enters button.
  • You’ll tap the Vacant Booth button if you can see there isn’t a new voter ready to use the booth. This ends the departing voter’s timing session but does not begin a new one. Chances are good you’ll only use the Vacant Booth button when the polling place isn’t busy.

Once you’re done timing voters, you want to ensure that all timing sessions are closed and the timers for the 4 booths all read “empty.”

If you’re recording, tap the Stop button to stop recording.

Timer shows 12 voters had an average wait of 4 minutes 29 seconds

These 12 voters had an average wait time of about 4.5 minutes

If you’re using the app in Practice Mode, you may want to make a record of the number of voters you timed and your estimated average wait time before you close the app. You can either take a screenshot of the timer, or you can refer to the status bar and write down the figures displayed there.

When you’re fully done, just close the app.

No access to internet? Dealing with a spotty connection? You can use the app and time voters even while offline. Follow the basic instructions above, including tapping Record at the beginning of your timing process and Stop when you’re done.

If you’re offline when you tap Stop, you’ll see the status bar will display the number of timings to upload once you’re reconnected to the internet. You’ll also notice the Pause button now reads Pause/Upload. 

The app indicates there are 4 timings to upload, and the pause button reads pause/upload

You can time voters even without internet

After you’re back online, just tap Pause/Upload, and the timings you recorded while offline will be uploaded.

If you’re using the app offline, you can upload your data later if you need to shut down your device or close the app. Before you power off your device or close your browser, tap Stop to ensure that any recorded times are properly saved. When you’re ready, restart your device, connect it to the internet, and restart the app by going to thte base URL ( You should see a  confirmation message reading “Stored timings have been successfully uploaded.”

Downloading your timing data

The following instructions for downloading your data apply only if you connected to the database to record your data while using the timer. If you used the app in Practice Mode, then the basic figures of number of voters timed and average voting time are the only data you have access to.

The Voting Timer’s stats request function is designed to be used on a computer, and the spreadsheets it produces require a program like Microsoft Excel to use, so we suggest accessing voting stats on a desktop or laptop computer rather than the mobile device you probably used for timing voters.

To keep your data secure, each election authority will access its data using an encrypted stats link. Both the timing app and the stats tool use secure, encrypted communications (which will be signaled by the lock symbol in your browser’s address bar). The encrypted link that we send you to view your data lets you choose and limit who has access to viewing your reports.

To begin the process and request your link, send an email to

To help us confirm that you are a trusted member of your election office’s staff, please send the email from your official email address. To save time, you can copy and paste the email template below and edit it with your information.


Subject: Voting Timer stats request


Dear ElectionTools team,

My name is YOUR NAME, and I’m writing to request the Voting Timer App stats link for YOUR ELECTION AUTHORITY, YOUR STATE. I found out about the Election Toolkit through HOW YOU HEARD ABOUT THE TOOLKIT.



After we receive your email, we’ll create the encrypted link and send it your way.

When you get our email, click on the link it contains to visit the app’s Voting Stats Request Page.

If you’d like to experiment with the stats functions using some sample data we created, use this encrypted link:
The stats request page asks for your desired date range and gives 4 options for fetching data

To download your data, choose your date range and the data format

First, select the start and end dates for the data you want. You can leave the default range, or, if you’ve recorded data for more than one election, you can use the date selections to bracket the election you want to study. In the same way, you can separate early-voting and Election-Day data if you have both.

Then, select the format you want and go down to click the Fetch button.

You have 4 options for the format of your data.

Summary page

The summary page format provides a quick, concise overview of your vote time data in a browser.

The summary contains information about the ballot and voting system. Collecting county-wide or municipality-wide results, it’s organized by each precinct that recorded times, and each dataset has a geolocation marker. For each precinct, the summary displays the number of voters timed as well as the mean, median, fastest, and slowest vote times.

Voting timer stats displayed as html text

Summary page


The map format displays geolocation information for all of your datasets on a Google Map.

Typically, you’ll have one geolocation for each polling place, but if a dataset includes more than one for a polling place, the map will display all of the geolocations in a matching cluster of markers near the polling site.

Map shows flag markers corresponding to polling places


Summary spreadsheet

The summary spreadsheet option lets you download a CSV file that can be opened in any spreadsheet program — like Excel.

This spreadsheet contains the same data as the summary page but in a format that allows for editing, sorting, and uploading to a management or visualization platform.

Timing summary data arranged in a spreadsheet

Summary spreadsheet

Timings spreadsheet

The timings spreadsheet option lets you download the most comprehensive data. As with the summary spreadsheet, the CSV file allows for editing, sorting, and uploading to a management or visualization platform.

This spreadsheet does not contain information on ballot or voting system, but it includes important details for each set of precinct times in 4 columns.

Timing spreadsheet with times for each voter

Timings spreadsheet

Vote time is the time, in seconds, recorded in the voting booth. Timestamp is the date and time marker for when the voter left the booth. Booth number corresponds to the 4 booth buttons on the app, allowing you to distinguish different types of voting booths as needed. GeoLoc is the latitude and longitude recorded just before the voter on that row was timed.

Regardless of the data format that you use, keep in mind the following security notes.

First, the timestamps and geolocation markers allow you to cross-check the validity of your data.

Second, each set of precinct times is also matched to a device ID. This means that if 2 people record timings at the same precinct with different devices, they will show in the reports as 2 different sets with that precinct name. (This device ID originates from the app — not the device — meaning that it can’t be traced back to the device that was used.)