Home / Science / Social sciences / Political science / Voting systems comparedTool #751

Voting systems calculator: plurality, instant-runoff, Borda, Condorcet, Schulze, STV and D'Hondt (free)

Count one set of ranked ballots by plurality, two-round, instant-runoff, Borda, Condorcet, Schulze and approval, run a multi-seat STV count, or share list seats by D'Hondt, Sainte-Laguë or largest remainder, with every round shown.

Keep it one tap away for everyday use.

Bookmark Voting systems compared?

Press Ctrl + D now. Your browser opens its own bookmark box, where you choose the name and folder.

  1. Ballots
  2. Count
  3. Rounds
  4. Report
Nothing is uploadedWorks offline once open

What are you counting?

Write 31: Ash > Dune > Elm for 31 voters who put Ash first, Dune second and Elm third. Voters may leave names out. A | marks where a voter's approval ends; lines without one approve their first choices (set below). The optional "candidates:" line sets the list order, which also breaks exact ties.

Seats: how many winners the single transferable vote count elects. Approve first choices: for ballots without a "|", how many of their top names count as approved.

What it does

The same voters can elect different winners depending on how the votes are counted. Type in ranked ballots once and this tool counts them by seven single-winner methods side by side: plurality (first past the post), the two-round system, instant-runoff (the alternative vote), the Borda count, the Condorcet head-to-head test, the Schulze beatpath method and approval voting. It also runs a single transferable vote (STV) count for several seats, and in the second tab shares out seats among party lists by D’Hondt, Sainte-Laguë (plain or modified) and largest remainder with a Hare or Droop quota, with a vote threshold. Every round and every transfer is shown in a table, so you can follow the count by hand. Nothing leaves your browser.

It works well with the sample size and power calculator, the publication plot maker and the voting power indices.

How to use it

  1. Ranked ballots: write one line per group of identical ballots: the number of voters, a colon, then names in order with ”>” between them, for example 31: Ash > Dune > Elm. Voters may rank only some of the names. Put a | after the last name a voter approves of, for approval voting; lines without one approve their first choices (the “Approve first choices” box). The optional candidates: line fixes the list order.
  2. Set Seats to fill for the STV count.
  3. Party lists: one party per line with its votes, the number of seats and the threshold as a percentage of all valid votes. Pick which method’s seat-by-seat table to show; the summary table always shows all five.
  4. Download the tables as CSV, or the whole report as an image, PDF or Word file.

Exact rules used

  • Two-round: a candidate with more than half the voters wins in round 1. Otherwise the top two meet, and each ballot counts for whichever of the two it ranks higher.
  • Instant-runoff: drop the last-placed candidate each round until someone has more than half of the ballots still counting (exhausted ballots, with no names left, stop counting).
  • Borda: with n candidates, 1st place scores n − 1, 2nd n − 2 and so on to 0; unranked names score 0.
  • Condorcet and Schulze: a ranked name beats every unranked one; two unranked names are not compared. Schulze uses winning votes.
  • STV: Droop quota = floor(valid ballots ÷ (seats + 1)) + 1. Surpluses move by the weighted inclusive Gregory method: every ballot the elected candidate holds moves on at its current value × surplus ÷ the candidate’s total, and the share on exhausted ballots is lost. One surplus (the largest) moves per stage; otherwise the lowest candidate is excluded and their ballots move on at their current value. Values are not rounded.
  • Ties are broken by the totals in the previous round (then earlier rounds), then by list order, and every broken tie is reported. Real election laws often use lots instead.

Worked example

The made-up example has 100 voters and five candidates. Ash wins by plurality with 31 first preferences, but no one has a majority. The two-round run-off is Ash 38 v Birch 53, and instant-runoff also elects Birch after dropping Dune, then Cedar, then Elm. Elm is the Condorcet winner (beating everyone head to head, for example 69 to 31 against Ash) and also wins the Borda count with 247 points and the Schulze count. Approval goes to Cedar with 53 approvals. The two-seat STV count has a quota of 34 and elects Birch and Elm: Birch’s surplus of 7 moves on at 7 ÷ 41 ≈ 0.171 of each ballot’s value.

In the party tab, 10 seats with a 5 % threshold leave out Teal (3.4 %). D’Hondt gives Green 5, Blue 4, Red 1; Sainte-Laguë and Hare give Green 4, Blue 3, Red 2, Gold 1.

Frequently asked questions

Which method is best? None is best in every way: Arrow’s theorem shows that no ranked method meets every fairness test at once. The tables let you see how much the choice matters for your ballots.

Why does D’Hondt favour big parties? Its divisors grow slowly (1, 2, 3…), so a large party’s later seats still have big quotients. Sainte-Laguë’s divisors (1, 3, 5…) are fairer to small parties.

Is this an official count? No. Real elections have their own rules for ties, rounding of transfer values and spoiled ballots, so check the official rules. Use it for teaching, clubs and research.

Where the numbers come from

  • Formulas and counting rules only: Borda (1781), Condorcet (1785), Droop (1881), Gregory transfer method, Schulze (2011), D'Hondt (1878), Sainte-Laguë (1910), Gallagher (1991). Example ballots and vote counts are made up.

Standard scientific values, such as constants, atomic weights and melting points, are facts found in every textbook; we name where ours were checked. If you are an author or publisher and want a value, a credit or a table changed or removed, tell us and we will act quickly.

Last updated 2026-11-09.

Related tools

Sample size and power calculator #32 How many subjects, samples or survey responses do you need? Sample size for comparing two means, paired data, two proportions, or a survey's margin of error, with power curves. Matches R and G*Power. Publication plot maker #27 Paste columns or open a CSV or Excel file and get a clean scientific figure with error bars, sized for a journal column. Download vector SVG or PDF, or PNG at 300 or 600 dpi. Your data stays in your browser. Voting power indices #752 Measure who really holds power in a weighted vote [q; w1, …, wn]: exact Shapley-Shubik and Banzhaf indices for up to 60 players, swing and pivot counts, veto players and dummies, plus Deegan-Packel, Holler and Johnston for up to 20. Polling average #753 Paste opinion polls and get a weighted average by sample size and recency, the margin of error of every poll and of the lead between two parties, and a LOESS or exponential trend with a sampling band, plus a plain account of what the margin of error leaves out. 1D Schrödinger solver #923 Choose a textbook potential, type a formula or draw your own, and get the lowest energy levels and wavefunctions of the one-dimensional Schrödinger equation by the matrix (finite-difference) method, with the exact levels alongside for the box, harmonic oscillator, finite well, Morse, linear and Pöschl–Teller potentials. Adduct and neutral loss calculator #984 Type a formula or a neutral monoisotopic mass and get the m/z of 25 common electrospray adducts in positive and negative mode, the ions left after common neutral losses (water, ammonia, CO2, sugars, phosphate and your own), and match a list of observed m/z values within a ppm tolerance. With no molecule, it turns observed m/z values into candidate neutral masses.