TheSaurus - An interactive visual thesaurus.


When you search for a word, the word and its synonyms are presented as a graph. The word node that was searched becomes the root of the graph and is centered in the middle.

Word nodes are connected to meaning nodes. A meaning node can be a noun, verb, adjective, or adverb. Word nodes themselves are defined by the set of meaning nodes with which they are associated. If two word nodes are connected to the same meaning node, then those two word nodes will have that meaning in common.


If you tap on a node, you will be presented with the node's definition. Since a word's definition is its set of meanings, all of its meanings will be presented when it is tapped.

By default, the graph only shows a limited number of nodes at a time. If a node has neighbors that aren't currently displayed, it will have a magenta outline. Tapping on one of these nodes will expand the graph to show that node's neighbours. If there are too many nodes on the screen, you can drag a node to the recycle area at the bottom left and that node and all of its descendents will be pruned from the graph.

Neat Features

  • Shake your device for a random word
  • Drag a node to the center of the graph to promote it to the root
  • Pinch the display to adjust the size of the nodes and fonts


Having trouble? Found a bug? This project is open source! File your issues at github and I'll get to it as soon as possible.

TheSaurus on GitHub