\documentclass[varwidth=true, border=2pt]{standalone} \usepackage{xcolor} \usepackage{tikz} \usetikzlibrary{trees} \def\name#1{\hbox to 50pt{#1\rule{10pt}{0pt}}} \begin{document} \begin{tikzpicture}[ man/.style={rectangle,draw,fill=gray!30}, woman/.style={rectangle,draw,fill=gray!10}, grandchild/.style={grow=down,xshift=1em,anchor=west, edge from parent path={(\tikzparentnode.south) |- (\tikzchildnode.west)}}, first/.style={level distance=6ex}, second/.style={level distance=12ex}, third/.style={level distance=18ex}, level 1/.style={sibling distance=70pt}] % Parents \coordinate child[grow=left] {node[man,anchor=east]{\name{Jim}}} child[grow=right] {node[woman,anchor=west]{\name{Jane}}} child[grow=down,level distance=0ex] [edge from parent fork down] % Children and grandchildren child{node[man] {\name{Alfred}} child[grandchild,first] {node[man]{\name{Joe}}} child[grandchild,second] {node[woman]{\name{Heather}}} child[grandchild,third] {node[woman] {\name{Barbara}}}} child{node[woman] {\name{Berta}} child[grandchild,first] {node[man]{\name{Howard}}}} child {node[man] {\name{Charles}} child[grandchild,first] {node[man]{\name{Howard}}}} child {node[woman]{\name{Doris}} child[grandchild,first] {node[man]{\name{Nick}}} child[grandchild,second] {node[woman]{\name{Liz}}}}; \end{tikzpicture} \end{document}