Crossword Composer
How to use: click squares in the grid above to toggle between filled and blank squares. Then, hit “Start” to start the filler. If the filler is slow, it is having trouble finding a combination of words that works with the pattern you provided. You can either give it time (but keep in mind not all grids have a solution!), or add more filled-in squares to make its job easier.
You can leave the filler turned on as you modify the grid to see updates as quickly as the filler can operate. Just keep in mind that filling a crossword can be computationally intensive, so if you are on battery it's better not to leave it running as you edit.
If you want to save a screenshot of the grid without the solutions, you can do so by ticking the “Hide Letters” box above before taking the screenshot.
Crossword Composer was created by Paul Butler using Rust, WebAssembly, and Svelte. The vocabulary was taken from Tensorboard and represents ~71k terms (including proper nouns, slang, abbreviations, etc.) from an English(ish) web corpus. The source code is MIT licensed, and includes a little write-up on how it works.