By Tim King · Updated
Family Tree Maker
Draw a Family Tree from Text, Free
OneTask is free, with no sign-up, and built by one person.
If this tool saved you time, a coffee helps keep new ones coming.
How the Family Tree Maker works
This family tree maker draws the chart from plain text. A family tree is a chart of who descends from whom, with each generation on its own row and lines running from parents to children. Type the relationships as plain text, one "parent -> child" line at a time, and this page works out the generations, places siblings side by side under their parents, draws the connecting lines and lets you download SVG or PNG. Two parents for one child and several children on one line are both fine. Nothing is uploaded.
Writing relationships for the family tree maker
Each line names a parent, an arrow and a child: "Mary -> Anne". Put two parents on the left joined by "+" or "&" to show a couple: "William + Mary -> Anne". List several children after the arrow separated by commas: "William + Mary -> Anne, John". Names may contain spaces; keep the spelling identical wherever a person appears, because the same name is the same person. Lines starting with "#" are ignored, and the order of the lines does not matter.
How generations are worked out
Anyone with no parents in the text is a founder and sits in the first generation. Everyone else is placed one generation below their most recent parent, so a child whose parents are in different generations is drawn below the later one and never level with a parent. If the text makes someone their own ancestor, the page reports the line rather than drawing a loop. Within a generation, people are ordered by where their parents sit in the row above, which keeps siblings together and keeps the lines from crossing more than they must.
Direction and colour
Top down puts the founders at the top and each generation in a row beneath, the classic family tree. Left to right runs the generations across the page and stacks people vertically, which suits a long line of descent. Colour by Generation gives each row its own colour so the generations are easy to count; Colour by Founder gives each founder a colour and passes it down their line, so a tree with several unrelated families shows which branch each person belongs to. Outlined boxes take the colour as a border; Filled boxes use it as a background.
Reading the drawing
Each person is a box with their name. A line drops from a parent and turns into each child, so two parents produce two lines meeting at the child. Hovering a box shows the person's generation, parents and children, which is kept in the downloaded SVG. Long names are shortened with an ellipsis when a row is crowded; widen the preview or switch to Left to right to give them room. The stats show the number of people, generations, founders and the largest generation.
Exporting
Download SVG gives a vector file with names as editable text, ready for Inkscape, Illustrator or Figma. Download PNG renders at one, two or three times the preview width. Copy SVG puts the markup on the clipboard. Everything is drawn in your browser; the names never leave your machine.
FAQ
How do I show a married couple?
Join the two parents with "+" on the left of the arrow: "Anne + Robert -> Clara". Both are drawn in the same generation with a line from each to the child. A partner with no children in the text does not appear, since the chart only knows people through their relationships.
Can a person appear on several lines?
Yes, and they should. Write "Anne + Robert -> Clara" on one line and "Anne + Robert -> Tom" on another, or list both children on one line. The name is matched exactly, so "Anne" and "Anne Smith" would be two different people.
Why is someone drawn a generation lower than I expected?
A person is always placed below every one of their parents. If a parent is themselves in a later generation because of their own parents, the child moves down with them. This keeps every line pointing downward and every generation consistent.
What does the error "is their own ancestor" mean?
The lines form a loop, for example "Anne -> John" and "John -> Anne". Real family trees never loop, so the page stops and names the line to check. Fix the line and the tree draws again.
See also: all Diagram Makers tools, Images, Audio, Video & Screen, PDF, SVG, Simulations & Screensavers, Generative Art, Chart Makers, 3D Model Viewers, Drawing Pads, Mockups & 3D Making, 3D Science, Tracker Music.
Related tools
Org Chart Maker
Type an indented list and download an org chart as SVG or PNG.
Network Graph Maker
Paste an edge list and download a force-directed network graph as SVG or PNG.
Treemap Maker
Type an indented list with values and download a treemap as SVG or PNG.
List Sorter
Sort, reverse or shuffle a list of lines.
SVG To PNG
Rasterise an SVG to a PNG at any width.