Your account and RM balance are kept on this game's own server.
🀄 The Missing Suit
private 3-player mahjong
🧪 Solo test mode — playing as:
Install the game on this phoneOpens full screen from your home screen, with no browser bar.
Tables
Open a table and invite two friends, or sit down at one that's waiting for players.
Leaderboard
Real games only · solo tests don't count
Loading…
Gather three players
Invite friends
This link starts with localhost, so it only works on this computer. To invite friends, open the game through your start-online https link or your PC's network address, then copy the link from there.
Claim an open seat, then start the hand once all three are in. Each of you plays from your own device — the table stays in sync live. Traditional ruleset: winds, dragons, chi, and bonus flowers (see Rules). This server is authoritative — nobody's browser can see another player's hand.
Removing a player during a hand hands their seat to the computer until the hand ends; the hand settles as normal and the table then closes. Closing a table during a hand cancels the hand, and no money changes hands.
0TILES LEFT
Building the walls…
⚀⚀
⏸
Game paused
Talk while you wait
Table chat
How this table plays
One house-ruled variant, built for three players, settled in real ringgit (RM) instead of abstract points.
Tiles & wall — 84 tiles
36 circles (筒), ranks 1–9, four of each — no characters or bamboo. 16 winds (東南西北, four each — North is a real, ownable tile here, not a bonus) and 12 dragons (中發白, four each). 20 bonus tiles: four Fei (飛, the joker), four plain jokers (王), four flowers (梅蘭竹菊), four seasons (春夏秋冬), and four animals (貓蝶雞蜈蚣).
The very first hand at a fresh table randomly picks who deals as East (東家); after that, whoever wins a hand deals the next one (so they become East); a drawn hand keeps the same dealer.
Seat winds follow the dealer: the dealer is always East (東), the next player in turn is South (南), and the one after is West (西). When the deal passes on, everyone's wind moves with it — so your seat wind, and which numbered flowers and seasons are yours, can change from hand to hand.
East is dealt 14 tiles, South and West 13 each, four at a time (watch the deal animate before your hand appears). Any flower, season, animal, or joker tile that lands in someone's hand during dealing — or later, during a normal draw — is automatically set face-up on the table for that player and replaced with another tile off the back of the wall (the "dead wall"), so nobody ever actually holds one of these as a playable tile.
Fei is the one bonus tile that's exempt from auto-benching: it's dealt or drawn straight into your hand like a real tile, because it's a joker you can actively play — see below.
The basics
Pong (claim a pair into a triplet), kong (claim a triplet into a four), chi (claim a run, only from the discard of the player right before your turn), and winning outright all work on discards.
A winning hand is always four sets (triplets, kongs, or runs) plus one pair — or seven distinct pairs ("seven pairs"), which wins outright on its own.
The dealer pays and collects exactly the same as everyone else — no doubling. Fan converts to RM directly (see Settlement below).
The winner of each hand deals the next one; a drawn (wall-exhausted) hand keeps the same dealer. The round wind advances once the deal has changed hands three times.
Kong payouts — 暗槓 vs 明槓
Declaring any kong pays out immediately in RM, separate from the hand's eventual win payout:
暗槓 (concealed kong) — you draw a tile matching three already sitting in your hand. Both opponents pay you RM2 each, right away. Nobody can rob a concealed kong.
明槓, upgrading a pong (加槓) — you already have an exposed pong and draw the fourth copy yourself. Both opponents pay you RM1 each. Because this tile never touches the discard pile, anyone who could win on that exact tile gets one last chance to declare it instead — 搶槓胡 (rob the kong) — winning outright with +1 fan added to their hand, and the kong-declarer is treated as the discarder for settlement.
明槓, claimed off a discard — you already hold three of a kind and claim the fourth straight from someone's discard (no prior pong needed). Only that discarder pays you RM2 — the third player isn't involved.
Chi, suits & bonus tiles
Chi is allowed, but only on the discard from the player right before your turn (your "left-hand" neighbor) — you can't chi across the table. Pong and kong still beat a chi claim on the same tile, and a declared win beats all three.
A pong or kong of your own seat wind is worth 2 fan — 東 for East (the dealer), 南 for South, 西 for West. Any other wind (including 北) is worth 1 fan.
A dragon triplet (中/發/白) is worth 1 fan each.
Flowers and seasons score for whoever eventually wins the hand, based on seat: number 1 is worth 1 fan for East (the dealer), number 2 for South, number 3 for West, and number 4 is worth 1 fan for anyone. Collecting all four flowers is a flat 4 fan (replacing the itemized tally, not stacked on top); collecting all four seasons is a separate, independent flat 4 fan — you can earn both.
Each animal is worth 1 fan. Each plain joker (王) is worth 1 fan, or a flat 5 fan if you collect all four.
You choose the minimum fan required to declare a win before dealing; a hand below that line can't be called, even if it's structurally complete. Fan is capped at 10 regardless of how many bonuses stack.
Fei (飛) — the joker
A Fei you draw stays in your hand as an active joker: it can stand in for any one missing tile inside a pong or a chi (not a kong — a kong is always four real tiles), whether that pong/chi is exposed or still part of your concealed hand. Or, on your discard turn, tap it to set it aside as a flower instead (worth 1 fan) and draw straight back. Nobody can ever claim a real Fei off a discard — setting one aside always converts it on the spot. Collect and actually use all four Fei at once to complete the standard four-sets-plus-a-pair shape, and that's an instant limit hand — a flat 10 fan, regardless of anything else in the hand.
Named hands
無花 (No flowers) — if you have no bonus tiles at all set aside (no flower, season, animal, 王 or Fei in front of you), any winning hand counts as a limit hand: a flat 10 fan, however it's made up — pongs, chis, a mix or seven pairs. Using 飛 inside the hand is fine.
大三元 (Big Three Dragons) and 大四喜 (Big Four Winds) — all three dragon triplets, or all four wind triplets, in the same hand: an outright limit hand, flat 10 fan.
小三元 (Small Three Dragons) — two dragon triplets plus the third dragon as your pair: +1 fan on top of the two triplets' own fan, plus whatever else the hand scores (flowers, 碰碰胡/吃胡, etc).
小四喜 (Small Four Winds) — three wind triplets plus the fourth wind as your pair: a flat 4 fan replaces the usual per-wind tally for that hand, plus whatever else it scores.
碰碰胡 (all triplets) — every set is a triplet or kong, no runs: +3 fan, or +5 more (8 total) if every tile is also circles.
吃胡 (has a run) — the hand includes at least one chi/run: +1 fan, or +2 more (3 total) if every tile is also circles.
七對 (Seven Pairs) — seven distinct pairs, no melds at all: a flat 2 fan, wins outright on its own.
Settlement — how RM changes hands
Every payer also owes an extra flat RM1 per Fei tile the winner holds, used in a meld, or has set aside as a flower this hand — on top of whatever the fan itself is worth. The dealer pays and collects the same as everyone else.
自摸 (self-drawn win) — each opponent pays (fan × RM0.4) + (RM1 × your Fei count).
放炮 (discard win) — the discarder pays (fan × RM0.4) + (RM1 × your Fei count); the other player pays the smaller share, (fan × RM0.2) + (RM1 × your Fei count).
滿 (a capped, 10-fan hand) — the fan-based part above becomes a flat RM8 per opponent on a self-draw, or RM8 from the discarder / RM4 from the other player on a discard win — the Fei surcharge still applies on top.
Table logistics
The server can run several tables at once. Signing in puts you back at the table you're seated at; otherwise you pick or open a table from the list. Once a hand is dealt nobody can leave, log out or reset — any player can pause, and anyone can resume.
If a player's connection drops for 45 seconds during a hand, the server plays their turns for them (draws, then throws the tile just drawn, and passes on claims) until they come back. It never wins or claims for them. A table where everyone has been gone for 20 minutes is closed.
Whoever sits in Seat 1 is this table's host: only they can deal the first hand, close the table (sending everyone back to the table list), or remove a specific player before the game starts. Anyone seated can ready-up (tap the pending badge) or leave their own seat while still in the lobby.
Each account keeps a play-money balance (RM), stored on this server — it persists across tables and restarts. Every hand settles exactly: what one player pays, the others receive, so a big loss can take a balance below zero. You can add RM200 at a time once your balance is under RM15 (tap your RM balance in the top bar); a hand can't be dealt while anyone at the table is at RM0 or below.
After a hand, everyone sees the rematch panel with who is ready. The next hand deals only when all three have tapped Rematch, and last hand's winner deals it as East (a drawn hand keeps the same dealer). If anyone taps Leave instead, the game ends: the table closes and everyone is told who left.
The History button (top bar) shows every game your account has played, newest first — tap one to see the full breakdown (who you played with, fan, points, and the winning tiles).
Accounts & fair play
Unlike the original browser-only prototype, this server deals every hand itself and only ever sends your own browser your own hand — nobody can peek at anyone else's tiles from the client. Your account's password is stored hashed (bcrypt), never in plain text.
Voice chat
This page can't carry your microphone — that needs a real call, and this is just a shared web page. Hop on a Discord, FaceTime, or phone call alongside it; use the text chat here for anything you want kept in the game log.
Scoreboard
Round history
Add money
Play money for this account. You can add RM200 at a time once your balance drops below RM15.
Your balance
RM0
Game history
Only games you played in, most recent first. Tap a game to see the full detail.
Loading…
Notice
📱
Turn your phone sideways
The table's built for landscape — rotate to see the felt, your hand, and everyone's walls properly.