Skip to main content
Every cell on the board is worth a different number of points depending on how rare and complex your chosen word is. The scoring system combines letter frequency, word length, and how hard the cell is to fill.

Rarity score

Each word is assigned a rarity score based on three components:
  1. Letter weights — each letter contributes a weight inversely proportional to how often it appears in English.
  2. Length bonus — longer words earn extra points.
  3. Unique letter bonus — words that use many different letters score higher.
The formula:
rarity = (sum of letter weights + length bonus + unique letter bonus) × 10
Where:
  • Length bonus = Math.max(0, word.length - 3) × 1.5
  • Unique letter bonus = unique letter count × 0.8

Letter weights

Each letter’s weight is calculated as:
weight = 1 + (1 / (frequency + 0.01)) * 8
Where frequency is the letter’s percentage occurrence in English text. The rarer the letter, the higher its weight.
LetterFrequency (%)Weight
z0.07101.00
q0.1073.73
j0.1551.00
x0.1551.00
k0.7711.26
v0.989.08
b1.496.33
t9.061.88
e12.701.63
Common letters like e, t, a, o, i, n, s, h, r have weights between ~1.6 and ~2.3. Rare letters like q, z, x, j, k have weights of 11 or higher — with z reaching 101 and q reaching 73.

Example scores

WordNotesRarity score
an2 common letters, very short58
the3 common letters82
cat3 letters, all common101
strength8 letters, common letters325
quickly7 letters, rare q and k1,145
quiz4 letters, q and z1,855
jazz4 letters, j and double z2,589
jazzy5 letters, j, z, and ends in y2,662

Scarcity multiplier

Some cells have very few valid words. To reward finding a word in a hard-to-fill cell, the score is multiplied by a candidate factor:
candidateFactor = Math.max(1, 6 / candidateCount)
Where candidateCount is the total number of words in the word list that satisfy both the row and column categories for that cell. If fewer than 6 valid words exist, the multiplier exceeds 1, boosting your score. Cells with many valid candidates cap the multiplier at 1.

Points per cell

The final points awarded for a cell are:
points = Math.max(10, Math.round(rarity))
points = Math.round(points * candidateFactor)
The minimum score for any successfully filled cell is 10 points.

Completion bonus

When all 9 cells are filled, a +500 point completion bonus is added to your score.
max score = sum of 9 best word rarity scores + 500
The max score shown in the sidebar is calculated using the highest-scoring valid word for each cell (from the board’s pre-computed best solutions), plus the completion bonus.

Hard mode penalty

In Hard mode, each rejected guess (invalid word, category mismatch, or duplicate) deducts 50 points from your score. Your score can go negative.
Hard mode penalties apply even though the guess is rejected — the cell remains open and you can keep trying.

Tips for maximizing your score

The highest-scoring words combine multiple rare letters, long length, and many unique letters. A 7-letter word containing q, z, or j will almost always outscore a short common word — even after the scarcity multiplier is applied.
  • Use rare letters. Words containing q, z, x, j, or k contribute dramatically more weight per letter.
  • Go long. Every letter beyond 3 adds 1.5 to the raw score before the ×10 multiplier. An 8-letter word beats a 4-letter word on length alone.
  • Maximize unique letters. Each distinct letter adds 0.8 to the raw score. Avoid words with many repeated common letters.
  • Fill hard cells first. A cell with few valid candidates will have a higher candidateFactor, amplifying whatever word you choose.
  • Complete the board. The +500 completion bonus is worth more than the difference between a mediocre and a good word in most cells. Finishing always pays.

Build docs developers (and LLMs) love