A character relationship map places several groups on one chart and draws the ties that cross between them. This template has nine original characters in three clusters: a dock watch on the left, an archive on the right, and a court along the bottom. Each arrow is one direction, so a rivalry and a dislike can both be true of the same pair. Open the chart in the free relationship chart maker and replace the names, or read the story cast chart with factions first when two sides are enough.
What's in this template
Nine cards, twelve arrows. Lina Voss, Theo Brant, and Idris Cole stand on the left. Sable Orr, Nia Park, and Una Feld stand on the right. Cass Wren, Bram Keene, and Ysolde Marr stand along the bottom. The left three are the dock watch. The right three are the archive. The lower three are the court. The file does not store a group name. The groups are the clusters you see, and you drag a card into another cluster when the story moves that person.
Inside the dock watch, Lina trusts Theo, and Theo counts Idris as a friend. Inside the archive, Sable calls Nia family, and Nia trusts Una. Inside the court, Cass calls Bram a best friend, and Bram counts Ysolde as a friend. Those six arrows are what make each cluster a group rather than three names that happen to sit near each other. The other six arrows leave their cluster. Count them before you edit: twelve lines, twelve decisions.
How each arrow on this map reads
Lina trusts Theo Brant. The arrow stays inside the dock watch and points from Lina to Theo. Trust here is practical: Lina would give Theo the watch list, the key, or the warning. It does not say what Theo thinks of Lina. There is no return arrow on this pair. If Theo relies on Lina too, add Theo's side. If Theo only tolerates the job, a different label belongs on that return.
Theo counts Idris Cole as a friend. The arrow points from Theo down to Idris, still inside the dock watch. Friends is the bond Theo would claim out loud. It is warmer than a shared shift and cooler than the trust Lina gives Theo. The dock watch is not one feeling copied three times. The top of the cluster relies on someone, and the middle of the cluster likes someone. Those are different stories.
Sable calls Nia Park family. On the archive side, the arrow from Sable to Nia is Family. Family means kinship Sable already treats as given: blood, marriage, or the household that raised them. It is the tightest bond in that cluster. It does not automatically make Nia the leader, and it does not describe how kind the household is. The label is the kind of tie, not a score.
Nia trusts Una Feld. Nia's arrow points to Una with Trust. Una is the person Nia would tell the plan. Sable's family label and Nia's trust label are both inside the archive, and they are not the same claim. A household can be family at the top and a working reliance one step down. If your archive is a sworn order instead of a household, change Family to Trust or write a short custom label such as sworn to Nia.
Cass calls Bram Keene a best friend. In the court, the arrow from Cass to Bram is Best friend. Best friend is the person who is first in Cass's life without having to be kin or a romantic lead. The court cluster starts with that closeness so the lower group is not only a row of officials. Bram has not answered yet. The chart leaves Cass's claim as one arrow.
Bram counts Ysolde Marr as a friend. Bram's arrow points to Ysolde with Friends. The court now has a chain: Cass is closest to Bram, and Bram likes Ysolde in an ordinary way. Ysolde has no arrow back to Bram in the example. The friendship may be mutual in your version. If it is, add Ysolde's side with Friends or with a stronger word. The template leaves the gap so a one-way liking inside a group is visible.
Lina sees Sable as a rival. This is the first arrow that crosses from the dock watch to the archive. Rival means Lina takes Sable seriously as competition: the other captain, the other keeper of a record, the person across a contract. The arrow points at Sable, not at Nia and not at Una. The conflict has a face. A chart that dislikes an entire cluster at once is harder to read than one named opponent.
Sable dislikes Lina. The return arrow comes back from the archive to the dock watch with Dislike. Sable is not framing this as a fair contest. Dislike is personal. The two cross arrows disagree about what the fight is. Lina's word is rivalry. Sable's word is hostility. Keep the mismatch when one person thinks this is politics and the other thinks it is personal. Make the labels match only when both people would use the same word.
Theo has a crush on Cass Wren. The arrow leaves the dock watch and points down to Cass in the court. A crush can stay private, so the chart does not also give Cass a matching crush. This is the tie that makes the lower group matter to the left group for a reason other than the Lina and Sable fight. If the feeling is mutual, change Cass's missing reply into a crush. If Cass has not noticed, Doesn't know is the honest return.
Ysolde does not know Nia Park. The arrow leaves the court and points up to Nia in the archive. Doesn't know means Ysolde has no reading of Nia yet. It is not dislike and it is not friendship. The court and the archive share a person who has only seen one side of that gap. Nia has no arrow back. Fill Nia's side when the archive has an opinion about Ysolde. Leave it blank when they have not met in a way the story cares about.
Idris trusts Una Feld. The arrow crosses from the bottom of the dock watch to the bottom of the archive. Trust from Idris is a quiet bridge under the louder Lina and Sable fight. Idris would still give Una the location or the warning. That does not put Idris in the archive, and it does not cancel Lina's rivalry. Two people in opposing clusters can rely on each other while their leaders do not. Una has not labeled Idris. The absence is a gap, not one of the twelve arrows.
Una dislikes Bram Keene. The last arrow leaves the archive and points down to Bram in the court. Dislike names a person, not the whole lower row. Una has no arrow to Cass and no arrow to Ysolde. The reader can see which court card the archive resents. If Una's problem is the institution rather than Bram, you can add further Dislike arrows later. Start with the one relationship you would write a scene about.
Those twelve arrows are the whole example. Six stay inside a cluster: trust, friends, family, trust, best friend, and friends. Six cross: rival against dislike, a crush with no reply, a doesn't know with no reply, a trust with no reply, and a dislike. If your version drops a pair, delete the arrow. If it needs a reply the example skipped, draw it. Do not leave a label you no longer mean.
Who it's for
Novelists use this layout when a draft has more than one circle of people and the chapters keep jumping between them. Game masters use it before a session that visits two factions and a third table of characters who are not quite either side. Writers of ensemble stories use it when a chart of everyone connected to everyone has stopped telling them who would actually change sides.
It is a poor first chart when one original character is the only question, or when three people and a romance are the whole plot. Those charts have their own templates. Come here when moving one card into another cluster would change the story, and when at least one feeling crosses the gap.
How three groups stay readable
Give each group a reason to stay together, and put that reason on an arrow that does not leave the cluster. The dock watch has trust and friendship. The archive has family and trust. The court has a best friend and a friend. A cluster with no interior arrow is three names standing near each other. Drag them apart from the other groups until the cross labels have room.
Keep the first pass to two or three groups. A fourth cluster is easy to add with another character and a new corner of the canvas, and it is also easy to make the picture unreadable. Name the group in the chart title, or in a note on the card of the person who holds it together. Lina's card can carry a note such as dock watch. The arrows stay short.
- Place the groups before you decorate them. Left, right, and lower is enough for nine people. The position is not a rank and not a saved faction field.
- Do not connect every member of one group to every member of another. Lina's rivalry points at Sable. Idris's trust points at Una. The reader can see which pair the gap is about.
- Leave a gap wide enough for the cross labels. If a label sits on a card, drag the clusters farther apart before you export.
- A person standing between groups is still one card. Drag them into the gap and give them arrows that say which side they trust, like Idris and Una, instead of hoping the empty space is read as politics.
Two groups plus one person in the middle is the story-cast template. This map is the next size: three clusters that each have an interior bond, plus a handful of arrows that refuse to stay inside one cluster.
What a cross-group arrow is for
A cross-group arrow is a feeling that would be invisible if you only drew the bonds inside each cluster. Theo's crush on Cass is not a dock-watch fact. Una's dislike of Bram is not an archive fact. The picture needs those lines or the groups look sealed.
Match the label to the person who feels it. Rival, Dislike, Crush, Trust, and Doesn't know are all valid crossings, and they are different plots. A mutual crossing is two arrows. Lina and Sable already show that: rival one way, dislike the other. Same label both ways is allowed too. It is still two arrows, so a later chapter can change one.
Custom words earn a place when the presets are too broad: owes a debt, former crew, reports to Sable. Keep a custom label to two or three words. A sentence on the arrow is hard to read once you export the PNG. Notes on a card can hold the longer version. The arrow stays short.
How to make your own in 3 steps
- Name the three groups before you add anyone else. Open the template and rename the left three as one group, the right three as another, and the lower three as the third. Put a short group note on the card of whoever holds each cluster together. Use + Character for a missing member and drag that card into its cluster. Delete a card if one group should be smaller.
- Set the interior labels first, then the crossings. The twelve arrows are already drawn. Click an arrow to change its label. Trust, Family, Friends, and Best friend are the usual words inside a group. Rival, Dislike, Crush, and Doesn't know are doing the work across the gaps in this example. Write your own label when those words are too vague. One direction holds one label. Do not add a second arrow in a direction that already has one.
- Decide which crossings have a reply. Select an arrow and use Add [name]'s side when the other person has an opinion, or tick Also add their perspective while you connect. The example leaves several replies undrawn on purpose: Theo has not said what he thinks of Lina, Cass has not answered Theo, and Nia has not answered Ysolde. Fill a gap when your story has an answer. Then export a PNG at 2x to check the clusters, or at 4x when the cross labels need to stay readable.
The cast stays in this browser until the site data is cleared. File, then Download project file, writes a backup you can import on another device. The PNG uses the positions you leave, so separate the groups before you export if a label sits on a card.
Starting from a blank canvas instead? The guide on how to make a character relationship chart covers every step, including backups and export.
Questions about this character map
- Does every pair of groups need an arrow?
- No. Draw a crossing when someone in one group has a feeling about someone in another. The dock watch and the court meet in Theo's crush. The archive and the court meet in Ysolde's doesn't know and Una's dislike. A group with no arrow leaving it is sealed off from the plot. That may be what you mean. It is a poor accident if you simply forgot the person who carries news between them.
- How do I show a fight between two groups without linking everyone?
- Point the conflict at the people the scenes are about. Lina rivals Sable, and Sable dislikes Lina. The other four people in those two clusters are not all in the fight. Add another cross arrow only when that extra pair would change a chapter. Lines from every card to every other card hide the pair you would actually write.
- Can I move a character into a different group later?
- Yes. Drag the card into the other cluster and change the arrows. A defection is an edit. It does not need a new file. The chart does not store a hidden group id, so the picture after you drag is the group. Update the interior labels so the card is held by its new cluster, and remove or relabel the old crossings that are no longer true.