There is no panel of experts behind this app. Every rating, grade and suggestion is worked out from public data by rules that fit on this page. This is all of them.
01What this is
A mock draft simulator. You take one seat, seven to thirteen computer opponents take the rest, and everyone drafts until the rounds run out. Drafting on your own, nothing leaves your browser and no server is involved. You can also send a link and draft with your league instead, which does use one — section 09 is how that works.
It was built for one ten-team league and still opens on those settings, but the league shape is now yours to set: 8 to 14 teams, 8 to 20 rounds, any starting lineup, and standard, half or full PPR scoring.
02Where the numbers come from
Two free public sources, no accounts and nothing to sign up for:
- Sleeper — the player list, injury designations, depth charts, season statistics back to 2018, week-by-week game logs and next-season projections.
- Fantasy Football Calculator — average draft position, taken from real drafts, as one set per scoring format.
Fantasy points are recomputed, not copied
Sleeper publishes its own points total, and it is thrown away. It assumes four-point passing touchdowns and flat kicker scoring, and bakes in choices you may not share. Every point you see is recalculated from raw components — attempts, yards, touchdowns, field goals by distance — under the rules below, which are the defaults and can all be changed:
| Passing | 0.04 per yard, 6 per touchdown, −2 per interception |
| Rushing | 0.1 per yard, 6 per touchdown |
| Receiving | 0.1 per yard, 6 per touchdown, and 0, 0.5 or 1 per reception depending on the format you pick |
| Kicking | 3 inside 40, 4 from 40–49, 5 from 50–59, 6 from 60+, 1 per extra point, −1 per miss |
| Fumbles | −2 per fumble lost |
Scoring format changes the board
Full PPR moves receivers up and running backs down, so each format has its own ADP list. When a draft starts, the board is built from the list matching your scoring, and every positional rank, tier and value figure is worked out from that list rather than from a fixed order.
Scoring happens as you watch
There is no points total stored anywhere. What is kept is the raw counting stats — yards, touchdowns, receptions, field goals by distance, points allowed — and every scoring rule is applied on the spot, as the page runs. All thirty-eight of them can be changed on the setup screen.
Change one and everything rescores at once: projections, every historical season, the week-by-week logs, replacement level, the Juke score and the draft grade. Nothing is rebuilt and nothing is refetched, because the numbers were never baked in to begin with.
This is why the daily rebuild records what happened rather than opinions about what it was worth. A stat that was never stored could never be rescored, so everything worth points to somebody is kept, even when the default rules score it at zero.
03The league, and everything that follows from it
Your league is described in one place, and every number on this page is worked out from it. These are the settings the app opens on, and the setup screen changes all of them:
| League | 10 teams, 14 rounds |
| Starting lineup | QB 1, RB 2, WR 2, TE 1, K 1, D/ST 1, plus 1 FLEX |
| Bench | 5 |
| Scoring | Half PPR |
That matters more than it looks. Nothing on this page is written down separately from those settings, so switching to twelve teams moves replacement level, the roster limits and the round a kicker becomes legal along with it. Nothing is left behind describing your old league.
The setup screen refuses impossible leagues
Two combinations are rejected before a draft can start:
- The roster does not fill the rounds. Starters plus FLEX plus bench has to equal the number of rounds, or teams would finish the draft with seats unfilled or players with nowhere to sit.
- The draft is bigger than the board. Teams times rounds cannot exceed the number of players in the ADP list. Fourteen teams over sixteen rounds wants 224 players, and the half PPR list carries about 205, so that one is blocked rather than allowed to run out mid-draft.
Replacement level
This is the most important number the app works out for you. It is the last player at a position who would realistically start somewhere in the league, and it feeds the draft grade, the Juke score and every value-over-replacement figure.
It is the number of starting slots the league creates at that position, plus that position's share of the FLEX slots, plus one:
The FLEX shares are how often each position actually wins that slot, which is why running backs and receivers run so much deeper than quarterbacks.
Worked through, at the default settings
Ten teams, one FLEX. Receivers: 10 × 2 = 20 starting slots, plus 10 × 1 × 0.55 = 5.5 from the FLEX, giving 25.5, rounded to 26, plus one → WR27. Across the board that is QB11, RB25, WR27, TE12, K11 and D/ST11.
Move to twelve teams and the same formula gives QB13, RB30, WR32, TE14, K13 and D/ST13. Nothing was retyped.
Roster limits
How many of a position a computer team will ever hold: its starters, its share of the FLEX, and a fixed depth allowance of 3 for quarterbacks, 5 for backs and receivers, and 2 for tight ends, kickers and defenses. At the default settings that works out to 4 quarterbacks, 8 backs, 8 receivers, 3 tight ends, 3 kickers and 3 defenses.
04How the CPU teams draft
Each computer team scores every available player and takes the lowest. The score starts at average draft position and is multiplied by how badly that team needs the position:
A lower score wins, so anything below 1 pulls a player up the list and anything above 1 pushes him down:
| need | 0.80 | still filling a starting slot — wants him |
| 1.00 | sensible depth, up to two past the starters | |
| 1.45 | hoarding — reluctant | |
| never | will not take the player at all | |
| risk | 1.35 | doubtful, or physically unable to perform |
A team refuses a player outright when:
- it has hit the roster limit for that position;
- the player is ruled out — out, on injured reserve, suspended, non-football injury or did not report. These are never drafted by anyone and never suggested to you;
- it already has as many quarterbacks, kickers or defenses as the league starts. A superflex league that starts two quarterbacks gets two;
- it is too early for a kicker or a defense.
Kickers and defenses go last
Measured back from the final round rather than pinned to a fixed number, so it holds at any league length: kickers become available for the last two rounds, defenses for the last three.
Worked through, at the default settings
Fourteen rounds, so defenses come off the board from round 12 and kickers from round 13. Run a fifteen-round draft and both shift a round later on their own.
The wobble
A draft where every computer team took the best available player would play out identically every time. So each player is nudged about three draft places one way or the other, decided once when the draft starts. It is settled rather than rolled fresh each pick: the same nudge holds all draft, so undoing a pick does not reshuffle how the room thinks, and a resumed draft behaves exactly like the one you left.
Picks are made one at a time on a three-quarter-second timer so you can watch the board fill in. Skip jumps straight to your turn.
Your suggestions do one thing the computer teams do not
They are scored the same way, on your roster's needs rather than somebody else's, with one addition: a player the projection rates highly gets a discount on his draft position. Up to a quarter off, in proportion to his Juke score against the best player still on the board.
The reason is that ADP knows nothing about your scoring rules. Set receptions to five points and every number on a player's card moves, because the Juke score is worked out under your rules — but average draft position is a record of other people's drafts and does not budge. Advice built on ADP alone would hand you the same six names in a league where catches are worth ten times what they usually are. So the model's opinion, which does answer to your rules, gets a say.
05Tiers
A tier is a run of players at one position with no meaningful gap between them. The point is the sentence it lets the app say: not "take the best player available" but "take him now or lose the whole tier".
A new tier starts when the gap to the previous player is large relative to where you are on the board:
Proportional, because two picks apart means something at pick 5 and nothing at pick 120. A tier also breaks after six players regardless: gaps stop growing as fast as ADP does, so deep in the board nothing ever clears the threshold and a single tier would otherwise swallow half the position.
06The draft grade
Four parts. Each is worked out the same way for every team in the room, then scaled from 0 to 100 against the other teams, then weighted. Your grade is a ranking against the people you actually drafted with, not against the league at large — which is why somebody always gets the top grade and somebody always gets the bottom one.
| Starter strength | 50% | Every player in your best legal starting lineup, scored by how many places above replacement level they rank at their position. Uses the replacement ranks derived in section 03. |
| Draft value | 25% | How far each player fell past the board's own order when you took them. Taking a player later than his rank says is a bargain; taking him earlier is a reach. Kickers and defenses are left out — see below. |
| Roster construction | 15% | Starts at 100. Minus 14 for each unfilled starting slot, minus 9 for every quarterback, kicker or defense beyond what the league starts, and up to 12 each for running back and receiver depending on how far from startable your best benched one is — see below. |
| Bye week safety | 10% | Every week that leaves more than two starters out costs 20 times the square of how many are missing beyond the second, added up across the season. Judged on the starting lineup only, because bench byes cost nothing. See below. |
The weighted total is ranked, and the ranks are handed letters from a fourteen-step scale running A+ down to F, long enough to give every seat in a fourteen-team room its own letter.
Why bye weeks are squared, and why every one counts
This used to read your worst bye week and stop. So three starters out in week 6 and three more out in week 8 scored exactly the same as a single bad week — the second one was invisible. Every week that leaves more than two starters out is charged now.
Squared, because the weeks are not interchangeable. Four starters out at once is a week you probably lose outright; three out twice is two weeks you can patch from the bench. So the fourth man out costs four times what the third does rather than twice, and one week with four off outweighs two weeks with three.
What "cover" means in roster construction
If one of your starters goes down, how far from startable is the next man up? That is the best player on your bench at that position, measured in places past replacement level. Nothing is docked if he could start today; the full 12 if he is fifteen or more places past it, or if there is nobody there at all.
Why kickers and defenses sit out of draft value
Because you do not choose when to take them. The room refuses a kicker before the last two rounds and a defense before the last three, and the suggestions never offer one earlier, so their draft slot is the room's decision rather than yours.
Their ADP makes it worse. It comes from drafts that run more rounds than most leagues set up here, so a kicker's place on the board is often past the last pick that exists in your draft — which means taking one at all reads as taking him early. Measured across a full ten-team, fourteen round draft: all ten kickers scored as reaches, by an average of 35 picks, and not one came out neutral. "Biggest reach" had become a lottery among kickers.
So both positions are left out of draft value and out of the two callouts. It is not a thumb on the scale — every team drafts the same forced pair, and recomputing a full room without them moved no team more than two places. It takes out a constant that was drowning the thing the number is supposed to measure.
07The three signals on a player
Open any player and there are three meters. They are the app's own reading, not a consensus of analysts, and they disagree with the market on purpose — that disagreement is most of what they measure.
The Juke score
Projected points above a replacement starter at that position, expressed against the best such figure on the board. A player projected for exactly replacement production scores zero regardless of name.
It is a ranking against the rest of the pool, not a rating of the player, and two things follow from that which surprise people. Somebody always scores 100. And most of the board scores 0, because the board is about 220 deep and a ten-team league only ever starts ninety players at once — so a receiver one point below replacement prints what a receiver sixty points below prints. The player sheet says how far below, because those are not the same player.
Why a score can go up while the points go down
Jahmyr Gibbs actually scored 328 points in 2025, which was a Juke score of 82 — Christian McCaffrey was the 100 that year. The 2026 projection has Gibbs at 300 points, twenty-eight fewer, and his score is 100. Nothing is broken. A projection is an average over everything that might happen, so it shaves the extremes off everybody, and Gibbs rises because the field beneath him was compressed further than he was.
That is the whole idea in one player: the number is where you stand, not what you will score.
The sheet prints last season's Juke score beside this season's for the same reason. Where the two disagree is where the projection is actually taking a position — and it is worth knowing how big those moves get. Across real consecutive seasons the score moves by 12 to 20 points on average, and of the players who scored above zero one year, between a quarter and two fifths were back at zero the next. Treat it as a strong opinion about ranking, not a measurement.
Upside
Starts at 20 and rises with: projecting at least four positional ranks better than his draft position (up to +35), three years or less in the league (+18), first on his depth chart (+14), age 24 or under (+10), and points per game up more than 20% across his last two full seasons (+15).
Bust risk
Starts at 12 and rises with: being drafted at least four ranks ahead of where he projects (up to +35), being ruled out (+40) or carrying a lesser injury designation (+22 or +12), age (+20 for a back at 28 or older, +15 for a receiver or tight end at 31, +12 for a quarterback at 36), sitting second or lower on the depth chart (+15), playing 12 games or fewer in his last active season (+14), and having missed real time in at least half of his seasons (+12).
08Saving and resuming
A draft on your own is stored in your own browser and nowhere else: your seat, the clock length, the wobble, the league settings and an ordered list of player names. Refreshing the page no longer destroys a draft.
A draft with your league works differently, because everyone in it has to agree on what has happened. That one is held on a server while the room is open — the seats, the picks, the names people typed and the chat. There are no accounts anywhere in this app, so none of it is attached to an identity. Section 09 is all of it.
It refuses to restore rather than restore something broken, in two cases:
- The settings no longer match. Resuming a twelve-team draft into a ten-team league would corrupt the board — the snake turns in different places and the rounds run out at a different pick. The saved draft is kept and the app tells you which settings it needs, because setting the dropdowns back is all it takes.
- A player no longer exists. The player list is rebuilt every morning. If a saved pick cannot be resolved the board would be corrupt, so the draft is discarded rather than half-restored.
09Drafting with your league
Everything above describes a draft against the computer. You can also create a room, send the link, and draft with real people instead. Whoever opens it takes a seat, and any chair still empty when you start is drafted by the computer — so six of you can still run a ten-team draft.
The link
A room code is eight characters, and they are picked carefully: no vowels, so a code can never accidentally spell a word at somebody, and none of the characters that argue with each other on a screen — no O against 0, no I against l against 1. Short enough to read down the phone, long enough that guessing one is nobody's idea of an afternoon.
Seats
Seats are taken in the lobby, first come, and you can move chairs right up until the draft starts. After that the room is set.
If you drop out mid-draft — a tunnel, a locked phone, a laptop shut too fast — your seat is held and picked for until you are back, never handed to somebody else. Losing your roster because your train went underground would be far worse than having a pick made for you.
The clock belongs to the room
The room does not count down. It records when the current pick started and works out how much is left whenever anyone asks. That is what lets someone who just joined, or whose phone was asleep in a pocket, see the same number as everybody else instead of counting from whenever they woke up.
When it runs out, the pick is made for that seat the same way it is for an empty chair.
One board, agreed by everyone
Drafting alone, your own browser decides what is allowed, and there is nobody to disagree with. With ten people the room decides instead, so two managers hitting Draft on the same player half a second apart cannot both come away with him. Your browser sends what you want, and the board moves when the room says it moved.
The player list is rebuilt every morning, so a room also pins the version it opened on. Two people on different mornings' lists would watch the computer teams pick differently and drift apart inside a round.
Chat
Every room has a chat, with reactions and GIFs, and the picks appear in it as they happen. Three things about it are worth saying plainly, because chat is the only place in the app where the words come from another person rather than from the data:
- Anything typed is treated as words and never as instructions to the page, so nobody can slip something live into everybody else's draft.
- GIFs are only ever fetched from GIPHY, checked properly rather than by looking for "giphy" somewhere in the address — those are not the same test, and the difference is somebody else's website.
- Names are tidied up and capped at twenty characters, and the "typing…" line is never stored anywhere. It is true for about two seconds and a lie the moment a connection drops.
There is a ceiling of forty actions every ten seconds per person, which is far above anything a real draft reaches and far below what a script would want. Going over it costs you the message, never the draft.
10What it deliberately does not do
- No expert rankings, news or analyst commentary. That content belongs to the sites that produce it. Everything here is worked out from public statistics.
- No trade or keeper handling. This simulates one snake draft.
- No accounts, and nothing to install. Opening the page is the whole of it. Nobody is asked to sign up, and a draft on your own asks nothing of anybody's server.
ADP from Fantasy Football Calculator. Player, injury, statistical, projection and depth chart data from Sleeper. Fantasy points recomputed under the scoring rules in section 02. The data files are regenerated daily; the app shows you when, under the Start button.
← Back to the Draft Room