I'm creating a world, and I want to keep track of every character relationship to one another. And because I'm an engineer I would like to make it both scalable and easily editable. What I would basically like would be to be able to have a workflow like:

  • Add Voldimor
  • Add Sarah
  • Voldimor hates Sarah "Because he killed her parents"
  • Add Sir Ulrich
  • Sarah likes Sir Ulrich "...because he is handsome"
  • Sarah is jealous of Sir Ulrich "because he is rich"

This data would be entered via text or through the GUI and it would produce something like this: Social map diagram Social map diagram


  • It draws the "person nodes" by itself
  • It correctly places the nodes on the 2D plane and draw the lines, like your average UML diagram tool
  • You can easily add a new node or relationship and it rebuilds the whole thing


  • It sets the color of the line to one of a short predefined list of types (red for hate, pink for love, green for friendship, etc). Show an icon predefined for each type of relationship is also acceptable.

  • It places the short description of the relationship over the line or creates a symbol with a legend.

  • It has a programmable API so I can define all the data as a JSON, CSV or simple code.

  • Explicit grouping of characters

  • Calculated grouping of characters

I accept (in order of preference)

  1. Online tools
  2. Standalone programs
  3. PHP/Javascript libraries

Related: Software for making Character Relationship Maps , though I explicitely accept libraries in addition to out-of-the-box software, I don't require it to be offline and I require that the placement is automatic.

  • Since I haven't tried it in-depth myself, here is just a comment. Have you tried Kumu? It might not do all you want (or the way you want it) but might be a good starting point. From what I have seen, it enables you to build something as your pictures show. Also, as long as your project is public, it is free. (As soon as you want to make it private, you need to pay.) But might still be worth a look.
    – Alex
    Aug 22 '17 at 16:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.