Skip to main content

A crossword generator

Project description

A crossword generator


Genxword is a crossword generator written in Python.

When you install genxword, you will have two programs, genxword-gtk, which has a graphical user interface, and genxword, which runs from the command line.

Both programs create a crossword from a list of words and clues. You can save the crossword, with clues, as a pdf file, or you can save the empty grid and key in png and/or svg format, together with the word bank and clues in a text file.


  • The crossword can be saved, with clues, as a pdf file, or the empty grid and key can be saved in png and/or svg format, together with the word bank and clues in a text file.

  • The crossword can be recalculated multiple times - with the option to increase the grid size at each stage.

  • A dictionary file can be used as the word list. A certain amount of words (default 50) will be randomly selected from the file and used to make the crossword.

  • When editing the word list, there is an option to sort it, from the shortest to the longest word, and remove non-alphabetic characters.

  • Multiple languages, including right-to-left languages, such as Hebrew and Arabic, are now supported.


Please read the wiki for information about how to use genxword.


To install genxword (add sudo to the command, or run as root, if you are using Linux):

pip3 install genxword


Genxword depends on pycairo (python-cairo), pygobject (python-gobject or python-gi), python-gi-cairo (if you are using a Debian-based system), pango (gir1.2-pango-1.0), gtksourceview3 (gir1.2-gtksource-3.0) and gettext.

These dependencies can easily be installed on Linux by using your package manager, and with most distributions, they will already be installed.

Windows users can download these dependencies from here When installing python-gobject, you also need to install (check the boxes for) gtk3, pango, gdk-pixbuf and gtksourceview3.


This program has been developed by David Whitlock, and it is based on a program originally written by Bryan Helmig.


Many thanks to the following people, who have kindly provided translations for genxword:

Miguel Anxo Bouzada (Catalan, Spanish and Galician), Koen Wybo (Dutch), Pinkvana Thaworn (Thai) and me (French).

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

genxword-2.2.0.tar.gz (49.4 kB view hashes)

Uploaded Source

Built Distribution

genxword-2.2.0-py3-none-any.whl (53.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page