Vote counter
Count votes for several options with live totals, shares, leaders and ranking, plus one-click tallying and CSV export.
Runs in your browserEvery computation happens in your browser — your data never leaves this device.
Votes
No options yet — add one above.
Export
What this tool does
- Count votes live at a meetup, class vote or team decision: build the candidate list and press +1 as each vote comes in.
- Show results on the spot — shares and the current leader update in real time, ties mark every leader, and ranks use competition ranking (1, 2, 2, 4).
- Export the tally as CSV for a spreadsheet, or copy the plain-text ranking straight into a chat or a document.
- Adjust a handful of counts by hand: typing the number is faster than clicking +1 repeatedly, and shares and ranks recalculate immediately.
Example
Input
Candidates: Alice / Bob / Carol Votes: Alice 12, Bob 7, Carol 7
Output
1. Alice — 12 (46.2%) 2. Bob — 7 (26.9%) 2. Carol — 7 (26.9%)
This is the plain-text ranking from the export panel. Bob and Carol are tied, so both are ranked 2nd; shares are computed over 26 total votes and shown with one decimal (46.153…% → 46.2%).
Frequently asked questions
How are ties ranked?
Competition ranking: tied options share a rank and the next rank skips ahead, so you get 1, 2, 2, 4. Tied options are ordered by name, which keeps the output stable; when the total is 0 there is no leader and every share reads 0%.
Why are duplicate option names rejected?
Duplicate names make the tally ambiguous — and matching is case-insensitive, so "Alice" and "alice" count as the same name. Leading and trailing spaces are trimmed automatically.
Can a vote count go negative?
No. Clicking -1 or typing a negative number raises an error; the minimum is 0. Decimals typed by hand are rounded down to the nearest whole vote.
Does the ballot survive a page reload?
Yes. It is stored in your browser localStorage and restored on load; the clear button removes it too. In private mode, where localStorage writes fail, the tool silently keeps working without persistence.
What should I know about the CSV export?
Rows are sorted by votes descending and the header follows the interface language (name, votes, share). Option names containing commas, quotes or newlines are wrapped in double quotes with quotes escaped, so Excel opens the file cleanly.
Keywords:vote投票计票counter排名ranking选举tallypoll占比