Ladder Game

The Korean 사다리타기 / Japanese あみだくじ ladder draw. Enter N participants and N outcomes; randomly placed horizontal rungs connect each name to exactly one outcome. Click a name to trace its path.

Loading…

All processing runs in your browser — no files or inputs are uploaded to a server.

How to use

Type one participant per line on the left and one outcome per line on the right. The number of outcomes should match the number of participants — extra outcomes are dropped, missing ones are padded with em-dash placeholders. Click any participant label to trace their path from top to bottom; click again to hide. **Reveal all** shows every participant's route at once, color-coded.

Mechanically the ladder is a bijection — a permutation from the top row to the bottom — so each outcome is taken by exactly one participant. Horizontal rungs are placed with ~45% probability per cell, with the constraint that two rungs cannot share a row at adjacent columns (otherwise the trace would be ambiguous). **Regenerate** redraws the rungs while keeping the same participants and outcomes.

Examples

Office secret-santa pairing

Input
participants: Alice, Bob, Charlie, Dave
outcomes:     Alice, Bob, Charlie, Dave (same names, will be permuted)
Output
Alice → Charlie
Bob   → Dave
Charlie → Bob
Dave  → Alice

A classic use of 사다리타기 / あみだくじ — pair each person with a gift target. Note the bijection means it may produce a self-mapping (Alice draws Alice) for some random seeds; the workaround is to regenerate until no self-mapping appears, which is fine for small N.

Chore assignment — 4 people, 4 chores

Input
participants: Alice, Bob, Charlie, Dave
outcomes:     dishes, vacuum, trash, laundry
Output
Alice → laundry
Bob → dishes
Charlie → trash
Dave → vacuum

The bijection guarantees every chore is assigned exactly once and no one gets two. Perfect for shared apartments or weekly rotations — regenerate the ladder each week to shuffle.

FAQ

Is the result really a uniform random permutation?

Close but not exactly. Each cell independently gets a rung with ~45% probability (with the adjacency constraint). The induced permutation is biased — adjacent swaps are more likely than long-distance moves — but for casual party use the bias is invisible and every permutation has nonzero probability. If you need a strictly uniform permutation, use a Fisher-Yates shuffle on the outcomes list instead.

Why disallow adjacent horizontal rungs?

If two rungs share a row at columns `c` and `c+1`, a person walking down on column `c+1` arrives at the rung and has to choose: take the left rung (back to `c`) or the right rung (forward to `c+2`)? The traditional rule resolves this by processing rungs left-to-right, but visually it looks like the trace teleports past a rung, which confuses observers. Forbidding the case keeps the trace honest: at any row, at most one rung touches each column.

Can I have unequal numbers of participants and outcomes?

The tool will pad outcomes with em-dash placeholders if you have fewer than participants, or truncate the extras. But the ladder structure requires N == N — a participant cannot be mapped to "nothing." If you genuinely have unequal counts (more participants than prizes, say), use the roulette tool with the elimination mode instead, or pad your outcome list with explicit losers ("pass", "꽝", "ハズレ").

Where does 사다리타기 / あみだくじ come from?

The Japanese form, あみだくじ (`amidakuji`), is named for the buddha Amitābha (阿弥陀, `Amida` in Japanese) — historically the lines were drawn radiating from a center like a halo around the Amida buddha. By the Edo period (17th–19th c.) the radial form had become the modern parallel-lines-with-rungs layout, used for shared payment ("who pays the round?") and chore assignment. The Korean 사다리타기 (literally "ladder climbing") arrived later via Japanese influence and remained a fixture of school field trips, drinking games, and TV variety shows. The tool encodes the universal rule: equal slices for everyone, no peeking, the ladder decides.

Related tools