Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


cursewords is a "graphical" command line program for solving crossword puzzles in the terminal. You can use it to open, solve, and save puzzle files in the popular AcrossLite .puz format.


cursewords is only compatible with python3, and can be installed through pip. If you don't know what that means, the best command is probably:

pip3 install cursewords

You should then be ready to go. You can then use cursewords to open .puz files directly:

cursewords todaysnyt.puz

cursewords has been tested to work on Linux, Mac, and Windows computers.


Controls are printed in a panel at the bottom of the screen. Note that (for now) cursewords is not very accommodating of changes in window size, so you may have to quit and re-open if you need to resize your terminal.


If you've used a program to solve crossword puzzles, navigation should be pretty intuitive. tab and shift+tab are the workhorses for navigation between blanks. Arrow keys will navigate the grid according to the direction of the cursor, and shift+arrow will move through words perpendicular to the cursor. page up and page down (on Mac, Fn+ up/down arrow keys) jump between words without considering blank spaces. ctrl+g, followed by a number, will jump directly to the space with that number.

If you need some help, ctrl+c will check the current square, word, or entire puzzle for errors, and ctrl+r will reveal answers (subject to the same scoping options). To clear all entries on the puzzle, use ctrl+x, and to reset the puzzle to its original state (resetting the timer and removing any stored information about hints and corrections), use ctrl+z.

To open a puzzle in downs-only mode, where only the down clues are visible, use the --downs-only flag when opening the file on the command line.

Print mode

If cursewords is not running in an interactive terminal (because its output is being piped to another command or redirected to a file) or if you pass the --print flag directly, it will print a formatted grid and list of clues to stdout and quit. The output of that command can be modified with the following flags:

  • --blank ensures the grid is unfilled, even if you've saved solving progress
  • --solution prints the filled grid
  • --width INT caps the program output at INT characters wide. (If this flag isn't passed at runtime, cursewords will attempt to pick a reasonable output size. In many cases that will be 92 characters or the width of the puzzle.)


πŸ“ Terminal-based crossword puzzle solving interface







No packages published