Skip to content

Hugo0/wordle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

276 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wordle Global

Tests Languages License: MIT PRs Welcome

wordle.global — Open Source Wordle in 65+ languages

Pull requests welcome! Especially for language addition and curation.

Contact: wordle@hugo0.com

For developers: See CLAUDE.md for architecture details, key algorithms, and coding guidelines.

Adding a new language

  1. Create a folder in webapp/data/languages/ with the language code (e.g. en, de, fr, qya)
  2. Add a list of 5-letter words: {lang_code}_5words.txt (one word per line, lowercase)
  3. (Optional) Add language_config.json — UI translations and metadata
  4. (Optional) Add {lang_code}_keyboard.json — custom keyboard layout
  5. (Optional) Add {lang_code}_5words_supplement.txt — additional valid guesses (rare words players might try)

How to run locally

If you want to test out your changes, you can run the server locally.

Prerequisites

  • uv (Python package manager)
  • Node.js 22+ and pnpm

Installation

git clone https://github.com/Hugo0/wordle.git
cd wordle
pnpm install

That's it — uv handles Python dependencies automatically.

Development

pnpm dev

This starts both the Flask server and the Vite frontend watcher. Navigate to http://127.0.0.1:8000/

Running Tests

uv run pytest tests/     # Python tests (data validation)
pnpm test                # TypeScript tests (game logic)
pnpm test:watch          # TypeScript tests in watch mode

Language Coverage

65 languages supported. 42 have supplement word lists (additional valid guesses), and 38 have frequency-curated daily word lists.

Top languages by total valid words: Arabic (54K), Hebrew (65K), Breton (22K), Polish (42K), Spanish (18K), English (13K), German (12K), Turkish (12K).

Each language folder in webapp/data/languages/ contains a SOURCES.md with details.

TODO

  • Word definitions — show the definition of the daily word after the game (via Wiktionary API)
  • Native speaker review of daily word lists for remaining languages
  • Consolidate per-language data files — there are currently 3 overlapping mechanisms controlling daily word selection: _daily_words.txt (curated subset), _blocklist.txt (exclusion list), and _curated_schedule.txt (day-by-day override), plus the fallback to _5words.txt. These could be unified into a single curated daily list per language.
  • User accounts — persistent game history, cross-device sync, leaderboards (passkeys / magic links / OAuth TBD)
  • Comments on daily word pages — community discussion, word quality feedback (Giscus MVP, custom system later with accounts)

Credits

  • Josh Wardle (original Wordle creator)
  • NYT (presumably holds the copyright or some IP rights)
  • Elizabeth S (inventor of the Wordle grid)
  • Nadia H (lovely beta-tester)
  • Daniel Rodriguez (Tailwind inspiration)
  • Wordles of the World for a community-sourced list of Wordle derivatives
  • All users, issue reporters, and PR contributors!

Data Sources

  • NYT Wordle — English word list
  • Kotus — Finnish word list
  • wooorm/dictionaries — most other word lists (Hunspell-based, by Titus Wormer)
  • FrequencyWords — OpenSubtitles frequency data for daily word ranking and supplement generation
  • wordfreq — Multi-source word frequency data (Wikipedia, Reddit, Twitter, Google Books) for additional supplement words

About

Open Source Wordle in a bunch of languages

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors