Forced-choice Prioritizer


  1. Get confused as to where to start on a big list of things to do.
  2. Start a new prioritization.
  3. Enter in the items you want to prioritize. Give the list a title that is a question like “What is the best way to spend my time this weekend?” or “What project is the best one for me to start on next?” That is the question you’ll use to rank each pair of items in the list.
  4. Compare each item against each other item until each item has a unique ranking.
  5. Do the things in the order given, or use that order as a guide to drive your next decision. The result also acts as a todo list so you can check them off as you go.

Come back easily!

Use to come back to this page super-quick! Tell your friends!


You can save prioritizations, but they’re all stored in your browser’s local storage. Nothing ever comes back to this server, and you can poke into your browser’s Developer Tools to clear out local storage and it will affect nothing.


A long while ago I had written a forced choice prioritization tool based on a very early server-side tool that existed on some investment website or something years ago. There’ve been a few other ones I’ve messed with over the years as well. I love the idea of being forced to prioritize a complex list of things by comparing two items, and so I decided to rebuild it using modern JavaScript, Vue, and using local storage to save your old prioritizations.

I like forced choice prioritization (also known as paired comparison analysis) because it takes away all outside context besides the two items you’re looking at. It forces difficult decisions, but only one difficult decision at a time, which means you can really think about the sticky points in a list of tasks, and blow past the obvious comparisons very easily. Sometimes you’ll discover that two items you couldn’t possibly think are at odds with each other really are! This is a good thing!


  • 2017-05-31
    • Record choices you’ve already made and replay those if they come up again, reducing comparison time for large sets.
  • 2018-05-17
    • Rebuild the prioritizer in Vue. Attempt to show completion percentages, but they’re probably totally wrong.
  • 2020-05-05
    • Update some dependencies, add collapsing of lists and auto-collapse everything but the last three, track saved date, UI cleanups, and get the percentage completed working correctly.
  • 2020-05-12
    • Add Copy to Clipboard to allow copying a list in Markdown format direct to the clipboard. If you’ve ticked off any of the items in the list, the list has GitHub [X] checkboxes added to it.
  • 2020-05-24
    • Add Use only Incomplete Entries. If you’re using the prioritizer as a todo list, you can copy over your incomplete items from a prior list into a new list to be added to and reprioritized.
    • If you type something in the “new item” field and hit Start Prioritization it correctly adds that to the list of things to prioritize.
    • Various bugfixes.
  • 2020-05-27
    • Add very basic cutoff support. Select how many of the items you want to keep and, once done, a horizontal rule will be placed at that point in the list, so you can see everything above and below that cutoff.
    • If you copypaste a first level Markdown list into the very last entry field, to add a new item, and hit [Enter], it splits the list and adds each item as an item to prioritize. It’s the opposite of Copy to Clipboard but without checkbox support (yet).
  • 2020-06-01
    • Tabbing between entries while creating an item list and hitting Enter while on existing list items behaves correctly.
  • 2021-02-05
    • You can switch the input to a textarea and copypaste in lines of text to prioritize, with one line of text being one item to prioritize.