Skip to content

jkugelman/grawlix

Repository files navigation

Grawlix

grawlix.wtf — a browser-based wordlist manager for crossword constructors.

The problem

Popular crossword wordlists each use their own scoring scale. John Kugelman scores on 0–60, XWord Info on 5–60, Spread the Word(list) on 0–50, Peter Broda on 0–100. Combining them into a single list is a mess — the numbers mean different things across sources.

What Grawlix does

Grawlix lets you pull in wordlists from multiple sources, normalize their scores with rescore rules, and merge everything into a single unified list you can load into your construction software (Ingrid, Crossfire, etc.).

It also doubles as a search tool while you're constructing: filter by substring, pattern, score, and more to quickly find the best word for a tricky slot.

Goals

Democratize wordlist manipulation. Constructors who program can write Python to mine their wordlists for theme material, surface unusual letter patterns, generate phonetic substitutions, and so on. Constructors who don't program get to use whatever tools someone else has built. Wordlisted made a big stride toward closing that gap by putting fancy tools in the hands of non-programmers; Grawlix continues the work — with a broader tool set, scored results, and rescoring on top.

Features

Known publishers for four popular wordlists — one-click setup with sensible default rescore rules:

Rescore rules map a source list's score range to your preferred output scale, so your merged list has consistent scoring regardless of where each entry came from.

Priority merging — lists merge in the order you arrange them. Drag to reorder. The highest-priority list's score wins when the same word appears in multiple lists.

My Edits — your personal override layer. Click any score or comment to change it. Add words that don't appear in any source list. Your changes are never overwritten when a list updates.

Search — wildcard patterns (?, *, # for consonant, @ for vowel, [abc] for character class), minimum score filter, whole-word toggle, and highlighted matches.

Download — export your merged list in standard WORD;SCORE format, ready to import into any construction software that accepts a text wordlist.

Getting started

Just visit grawlix.wtf. No account, no install. All data stays in your browser (localStorage + IndexedDB).

To add a wordlist from a known publisher: click Add list and pick from the built-in options. To use your own file: click Add list → Import file.

Contributing

All code lives in a single file: site/index.html. No dev build step, no frameworks — plain HTML/CSS/JS that runs directly in the browser. Open it locally in any browser and you're developing. (Deploys are minified via npm run build; the source stays as-is.)

See CLAUDE.md for architecture notes and coding conventions.

Tests

A small Playwright smoke suite runs on push to main. Setup, strategy, and a command cheat sheet are in docs/testing.md.

License

MIT © John Kugelman