LEXEME

Build crossing words from seven tiles. A 13×13 board, a public-domain dictionary of 172,820 words, and no advertisement between you and your turn.

LEXEME

Free, unlimited, no account. Click a tile in your rack, then click a square. Every word you form — across and down — has to be in the dictionary, and the game tells you the score before you commit.

Those descriptions are literally what the code does — there is no hidden handicap and no rubber-banding. Sharp searches every legal move on the board each turn (a few hundred, typically) and takes the best one; it does not plan ahead or think about which tiles it keeps, so a strong human beats it.

How to play, in about a minute

You hold seven tiles. On your turn you lay some of them in a single straight line — all across, or all down — and they must join up with what is already there. The first move of the game has to cover the ★ in the middle. Everything you form reading left-to-right or top-to-bottom has to be a real word, and you score every one of them.

If you cannot move, or do not want to, you can pass, or swap any number of tiles back into the bag (as long as the bag still holds seven). Both count as a scoreless turn, and six scoreless turns in a row ends the game.

Why this board is not the board you are expecting

It is 13×13, not 15×15, and the bag holds 96 tiles rather than 100. On 169 squares those tiles fill a little over half the board by the end, where a 15×15 finishes about 41% full. Words meet sooner, and there are fewer turns whose best move sits alone in an empty corner nobody will ever contest.

The premium squares are placed under one rule, and it is the part of the design worth arguing about: no two word-multiplier squares on the same line are closer than seven cells apart, and no line carries both a triple and a double. Three things follow, and all three are checked by the test suite rather than asserted here:

The centre ★ is an ordinary square. Doubling the opening word pays whoever happened to move first for nothing they actually did, so it does not. The centre row and centre column carry no word multiplier at all.

The honest cost of a smaller board: a 13-wide board cannot hold a word longer than 13 letters, so 12,591 of the 172,820 words in the dictionary — 7.3% — can never be played here. In practice they are words nobody has ever had the tiles for, but the number is real and there it is.

The dictionary, and why we can legally give it to you

This game ships ENABLE — the Enhanced North American Benchmark Lexicon, compiled by Alan Beale and M. Cooper. Its own readme says, in these words: “The ENABLE master word list, WORD.LST, is herewith formally released into the Public Domain… Anyone is free to use it or distribute it in any manner they see fit. No fee or registration is required.” Words With Friends was built on the same list.

The file is enable1.txt: 172,820 words. (wc -l reports 172,819, because the file has no trailing newline — both numbers are right, and that off-by-one is where most of the internet's disagreement about ENABLE's size comes from.) We pin it by SHA-256, because copies in the wild have quietly drifted: one popular mirror serves 172,823 words while its own readme still claims 172,819.

This matters more than it sounds. The tournament word lists — TWL/NWL and Collins/CSW — are copyrighted databases, and shipping one is the thing a browser word game actually gets in trouble for. So we do not, and if you find a word this game rejects that a tournament list accepts, that is the reason.

The tiles were derived, not copied

Every tile count and every letter value falls out of the dictionary we ship, by a formula the test suite re-runs from scratch on every build. Counts come from letter frequency across the list, apportioned to 94 tiles by largest remainder. Values are scarcity: round((f / f_max) ^ -0.9), capped at 10, so the commonest letter is worth 1 by construction.

One deliberate correction sits in the middle of that, and it is the interesting part. Raw dictionary frequency hands S nine tiles, because a dictionary is mostly plurals — and S is the one letter whose entire problem is that it hooks onto almost anything already on the board. So the frequency is counted over base forms: any word that is another word plus a regular -s, -es, -ed or -ing is dropped before counting. That takes S to five and lifts vowels from 32.7% to 38.3%. It is mechanical and reproducible, not hand-tuning.

How the engine is verified

There is no perft for a crossword game, so the engine is checked three ways, and the test output says plainly which anchors were reached and which are only corroboration.

Reached exactly: a published exhaustive enumeration of the opening rack. Drawing seven tiles from a 100-tile bag gives C(100,7) = 16,007,560,800 ordered draws over exactly 3,199,724 distinct racks. Our enumerator reproduces both to the unit — and because the multinomial weights have to sum back to C(100,7), a single missed or double-counted rack would show up immediately. The published bingo probability of 0.132601 that goes with those constants is measured against TWL, which we do not ship, so we compute ours against ENABLE and print both rather than claiming somebody else's dictionary.

Corroboration only, and labelled as such: Appel & Jacobson's 1988 The World's Fastest Scrabble Program — whose move-generation algorithm this engine implements — and Gordon's 1994 GADDAG paper both report figures for the copyrighted OSPD. We cannot reproduce those numbers, so they are used only to check the shape of ours.

The check that actually guards it: a second, deliberately slow move generator that knows nothing about the fast one. It walks every span on the board, every ordered selection from the rack, expands blanks over all 26 letters, and looks words up in a plain list instead of the automaton — then scores them with its own separate arithmetic. The two generators must produce identical move lists and identical scores on every position tested. That check has already earned its place: it is what caught the fast generator laying word prefixes onto the board backwards.

What this game does not do

Questions

Is LEXEME free?

Completely. No account, no daily limit, no premium dictionary, and no advertisement between you and the board. Every bot level and the full word list are there from the first click.

Why isn't this called Scrabble?

Because it isn't. Scrabble is a Hasbro and Mattel trademark, and its board design and official word lists are protected. LEXEME is an original board with a different size, a different premium-square pattern, a different number of tiles, its own letter values and a public-domain dictionary. Crossword tile games as a category are much older than any trademark.

Why did it reject a word I know is real?

The dictionary is ENABLE, which is public domain and therefore the one we can legally give away. It is close to the tournament lists but not identical — it has 172,820 words, and it predates some recent additions, so qi and za are not in it. Words longer than 13 letters also cannot be played at all, because the board is 13 squares wide.

How strong is the bot?

Sharp finds every legal move on the board each turn and plays the highest-scoring one. That makes it a solid opponent and a poor strategist: it never considers what it leaves on its own rack, never plans a turn ahead, and will happily open a triple-word lane to score four more points now. Casual is genuinely restricted to words of five letters or fewer, and Steady picks at random from its own top ten.

Can I play a friend?

Yes — host a room and send them the four-letter code, or find someone in the online list. No account needed on either side.