scrabble-solver

Scrabble Solver 2 - Free, open-source, and cross-platform analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish.


Keywords
Scrabble, Super Scrabble, Literaki, Solver, Finder, Cheating, Word, English, Français, Deutsch, Polski, Español, SOWPODS, TWL06, SJP, CNRTL, Kamil Mielnik, TypeScript, TS, Frontend, App, analysis, crossword, literaxx, next, nextjs, nodejs, react, redux, rtl, scrabble-dictionary, scrabble-game, scrabble-solver, scrabble-word-finder, super-scrabble
License
CC-BY-NC-ND-4.0
Install
npm install scrabble-solver@2.13.5-alpha.0

Documentation

Scrabble Solver logo

Free, open-source, and cross-platform analysis tool for Scrabble, Super Scrabble & Literaki.

Quickly find top scoring words using given letters and board state.

Available at https://scrabble-solver.org in 8 languages.

Flag of United Kingdom Flag of United States Flag of France Flag of Germany Flag of Iran Flag of Poland Flag of Romania Flag of Spain

Version License Node version

Build Test ESLint

Screencast GIF showing user interface when solving for oxyphenbutazone, which is a top-scoring word in English version of Scrabble

scrabble-solver

Table of contents

  1. Dictionaries
  2. Run
  3. Install
  4. Uninstall
  5. Develop
    1. Setup
    2. Run app dev server
    3. Rebuild a single package
    4. Add a new language
  6. Tech stack
  7. Related projects
  8. Media

Dictionaries

Language Word list Word definitions Highest-scoring word
🇬🇧 English 💾 SOWPODS Merriam-Webster oxyphenbutazone (1458)
🇺🇸 English 💾 TWL06 Merriam-Webster oxyphenbutazone (1458)
🇫🇷 French 💾 ODS8 CNRTL schizothymiques (1566)
🇩🇪 German 💾 hippler/german-wordlist DWDS polytoxikomanem (1512)
🇮🇷 Persian 💾 MansourM/persian-to-persian-dictionary واژه یاب ‏(756) اگزیستانسیالیست
🇵🇱 Polish 💾 SJP.PL SJP.PL współposiądźmyż (1512)
🇷🇴 Romanian 💾 LOC 5 dexonline luxemburghezele (1944)
🇪🇸 Spanish 💾 FISE-2 Diccionarios.com flexibilizabais (1323)

Run

You can run Scrabble Solver on your machine - all you need is Node.js 20 or later.

npx scrabble-solver@latest

Install

npm install -g scrabble-solver

# and then run anytime with:
scrabble-solver

Uninstall

npm uninstall -g scrabble-solver

# Logs and dictionaries are stored in $HOME/.scrabble-solver
# $HOME location is acquired using os.homedir()
rm -rf $HOME/.scrabble-solver

Develop

Setup

npm install
npm run build

Run app dev server

npm run dev -w @scrabble-solver/scrabble-solver

Note: hot code reload works only for the scrabble-solver package.

Rebuild a single package

npm run build -w @scrabble-solver/PACKAGE_NAME

Add a new language

  1. Find and download a flag representing the locale in an SVG format
  2. Rename the file to FlagXX.svg and put it in packages/scrabble-solver/src/icons
  3. Export the SVG file in packages/scrabble-solver/src/icons/index.ts
  4. Add IETF language tag for the new locale in packages/types/src/Locale.ts
  5. Rebuild the types package
    npm run build -w @scrabble-solver/types
  6. Add locale configuration in packages/scrabble-solver/src/i18n/constants.ts
  7. Update locale-detecting code in packages/scrabble-solver/src/lib/detectLocale.ts
  8. Add game configs for the new locale in packages/configs/src/locales
  9. Add an export for these locale configs in packages/configs/src/locales/index.ts
  10. Add a translation file in packages/scrabble-solver/src/i18n and fill it with translations
    • Copy any existing file, e.g. en.json and modify it
  11. Add an entry for the translations in packages/scrabble-solver/src/i18n/i18n.ts
  12. Add a function to fetch the list of words in the new locale in packages/word-lists/src/getWordList.ts
  13. Add a function to fetch the word definition in the new locale in packages/word-definitions/src/crawl/crawl.ts
  14. Add a function to parse the word definition crawled in the previous step in packages/word-definitions/src/parse/parse.ts

Tech stack

Related projects

Lexatious

The user interface and source code for the web front end of Lexatious is based on Scrabble Solver.

Media