Underleaf Logo
Underleaf
PricingAboutBlog
Log InGet started

Learn TikZ

Getting Started

  • What is TikZ?
  • TikZ for Beginners
  • Basic Setup

Mind Maps in TikZ

Create visual mind maps, concept diagrams, and brainstorming visualizations.

Loading the Mindmap Library

\usepackage{tikz} \usetikzlibrary{mindmap}

Basic Mind Map

\begin{tikzpicture}[mindmap, grow cyclic, every node/.style={concept}, concept color=blue!40, level 1/.append style={level distance=4cm, sibling angle=90}, level 2/.append style={level distance=2.5cm, sibling angle=45} ] \node {Main Topic} child {node {Branch 1} child {node {Leaf 1.1}} child {node {Leaf 1.2}} } child {node {Branch 2} child {node {Leaf 2.1}} child {node {Leaf 2.2}} } child {node {Branch 3} child {node {Leaf 3.1}} } child {node {Branch 4}}; \end{tikzpicture}

Colored Branches

\begin{tikzpicture}[mindmap, every node/.style={concept, text=white}, root concept/.style={concept color=black, font=\Large\bfseries}, level 1 concept/.append style={font=\bfseries, sibling angle=90}, level 2 concept/.append style={font=\small} ] \node[root concept] {Project} child[concept color=red] {node {Planning} child {node {Timeline}} child {node {Budget}} child {node {Resources}} } child[concept color=blue] {node {Development} child {node {Frontend}} child {node {Backend}} child {node {Testing}} } child[concept color=green!60!black] {node {Deployment} child {node {Staging}} child {node {Production}} } child[concept color=orange] {node {Support} child {node {Documentation}} child {node {Training}} }; \end{tikzpicture}

Mind Map with Extra Annotations

\begin{tikzpicture}[mindmap, concept color=purple!50, every node/.style={concept}, level 1/.append style={level distance=3.5cm, sibling angle=72} ] \node {LaTeX} child[concept color=blue!50] {node {Documents} child {node {Articles}} child {node {Books}} child {node {Reports}} } child[concept color=green!50] {node {Math} child {node {Equations}} child {node {Symbols}} } child[concept color=red!50] {node {Graphics} child {node {TikZ}} child {node {PGFPlots}} } child[concept color=orange!50] {node {Tables} child {node {Tabular}} child {node {Booktabs}} } child[concept color=yellow!60] {node {References} child {node {BibTeX}} child {node {Citations}} }; % Add an extra annotation \node[annotation, below] at (current bounding box.south) { Created with TikZ mindmap library }; \end{tikzpicture}

Concept Connection Bars

Connect related concepts across different branches:

\begin{tikzpicture}[mindmap, concept color=blue!30, every node/.style={concept} ] \node (root) {Center} child[grow=right, concept color=red!40] {node (a) {Topic A} child {node (a1) {A1}} child {node (a2) {A2}} } child[grow=left, concept color=green!40] {node (b) {Topic B} child {node (b1) {B1}} child {node (b2) {B2}} } child[grow=up, concept color=orange!40] {node (c) {Topic C} child {node (c1) {C1}} } child[grow=down, concept color=purple!40] {node (d) {Topic D} child {node (d1) {D1}} }; % Connect related concepts \path (a1) to[circle connection bar switch color=from (red!40) to (green!40)] (b1); \path (c1) to[circle connection bar switch color=from (orange!40) to (purple!40)] (d1); \end{tikzpicture}

Custom Concept Shapes

\begin{tikzpicture}[ huge mindmap, concept color=blue!40, every node/.style={concept}, root concept/.style={ concept color=blue!80, minimum size=3cm, text width=3cm, font=\huge\bfseries }, level 1 concept/.style={ minimum size=2cm, text width=2cm, font=\large\bfseries }, level 2 concept/.style={ minimum size=1.5cm, text width=1.5cm, font=\normalsize } ] \node[root concept] {Big Idea} child[concept color=red!60] {node {Area 1} child {node {Detail}} child {node {Detail}} } child[concept color=green!60] {node {Area 2} child {node {Detail}} }; \end{tikzpicture}

Mind Map for Planning

\begin{tikzpicture}[mindmap, every node/.style={concept, text=white, font=\bfseries}, root concept/.style={concept color=black!70, minimum size=2.5cm}, level 1/.append style={level distance=4cm, sibling angle=60}, level 2/.append style={level distance=2.5cm, sibling angle=40} ] \node[root concept] {Website\\Redesign} child[concept color=blue!70] {node {Research} child {node {User surveys}} child {node {Analytics}} child {node {Competitors}} } child[concept color=teal!70] {node {Design} child {node {Wireframes}} child {node {Mockups}} child {node {Prototypes}} } child[concept color=green!60!black] {node {Development} child {node {Frontend}} child {node {Backend}} child {node {API}} } child[concept color=orange!80] {node {Testing} child {node {Unit tests}} child {node {User testing}} } child[concept color=red!70] {node {Launch} child {node {Deployment}} child {node {Marketing}} } child[concept color=purple!70] {node {Maintenance} child {node {Updates}} child {node {Support}} }; \end{tikzpicture}

Half Mind Map (One Side)

\begin{tikzpicture}[mindmap, grow=right, every node/.style={concept}, concept color=blue!30, level 1/.append style={level distance=3cm, sibling angle=40}, level 2/.append style={level distance=2cm, sibling angle=30} ] \node {Topic} child[concept color=red!40] {node {Category 1} child {node {Item 1.1}} child {node {Item 1.2}} child {node {Item 1.3}} } child[concept color=green!40] {node {Category 2} child {node {Item 2.1}} child {node {Item 2.2}} } child[concept color=orange!40] {node {Category 3} child {node {Item 3.1}} child {node {Item 3.2}} child {node {Item 3.3}} child {node {Item 3.4}} }; \end{tikzpicture}

Styling Tips

  • grow cyclic - Distributes children around the parent
  • sibling angle - Controls spacing between siblings
  • level distance - Distance from parent to children
  • concept color - Sets the color for a branch
  • huge mindmap - Larger node sizes
  • small mindmap - Smaller node sizes

Next Steps

Continue learning TikZ diagrams:

  • Trees - Traditional tree structures
  • Graphs - Network diagrams
  • Flowcharts - Process flow diagrams

Mind Maps in TikZ

Create visual mind maps, concept diagrams, and brainstorming visualizations.

Loading the Mindmap Library

\usepackage{tikz} \usetikzlibrary{mindmap}

Basic Mind Map

\begin{tikzpicture}[mindmap, grow cyclic, every node/.style={concept}, concept color=blue!40, level 1/.append style={level distance=4cm, sibling angle=90}, level 2/.append style={level distance=2.5cm, sibling angle=45} ] \node {Main Topic} child {node {Branch 1} child {node {Leaf 1.1}} child {node {Leaf 1.2}} } child {node {Branch 2} child {node {Leaf 2.1}} child {node {Leaf 2.2}} } child {node {Branch 3} child {node {Leaf 3.1}} } child {node {Branch 4}}; \end{tikzpicture}

Colored Branches

\begin{tikzpicture}[mindmap, every node/.style={concept, text=white}, root concept/.style={concept color=black, font=\Large\bfseries}, level 1 concept/.append style={font=\bfseries, sibling angle=90}, level 2 concept/.append style={font=\small} ] \node[root concept] {Project} child[concept color=red] {node {Planning} child {node {Timeline}} child {node {Budget}} child {node {Resources}} } child[concept color=blue] {node {Development} child {node {Frontend}} child {node {Backend}} child {node {Testing}} } child[concept color=green!60!black] {node {Deployment} child {node {Staging}} child {node {Production}} } child[concept color=orange] {node {Support} child {node {Documentation}} child {node {Training}} }; \end{tikzpicture}

Mind Map with Extra Annotations

\begin{tikzpicture}[mindmap, concept color=purple!50, every node/.style={concept}, level 1/.append style={level distance=3.5cm, sibling angle=72} ] \node {LaTeX} child[concept color=blue!50] {node {Documents} child {node {Articles}} child {node {Books}} child {node {Reports}} } child[concept color=green!50] {node {Math} child {node {Equations}} child {node {Symbols}} } child[concept color=red!50] {node {Graphics} child {node {TikZ}} child {node {PGFPlots}} } child[concept color=orange!50] {node {Tables} child {node {Tabular}} child {node {Booktabs}} } child[concept color=yellow!60] {node {References} child {node {BibTeX}} child {node {Citations}} }; % Add an extra annotation \node[annotation, below] at (current bounding box.south) { Created with TikZ mindmap library }; \end{tikzpicture}

Concept Connection Bars

Connect related concepts across different branches:

\begin{tikzpicture}[mindmap, concept color=blue!30, every node/.style={concept} ] \node (root) {Center} child[grow=right, concept color=red!40] {node (a) {Topic A} child {node (a1) {A1}} child {node (a2) {A2}} } child[grow=left, concept color=green!40] {node (b) {Topic B} child {node (b1) {B1}} child {node (b2) {B2}} } child[grow=up, concept color=orange!40] {node (c) {Topic C} child {node (c1) {C1}} } child[grow=down, concept color=purple!40] {node (d) {Topic D} child {node (d1) {D1}} }; % Connect related concepts \path (a1) to[circle connection bar switch color=from (red!40) to (green!40)] (b1); \path (c1) to[circle connection bar switch color=from (orange!40) to (purple!40)] (d1); \end{tikzpicture}

Custom Concept Shapes

\begin{tikzpicture}[ huge mindmap, concept color=blue!40, every node/.style={concept}, root concept/.style={ concept color=blue!80, minimum size=3cm, text width=3cm, font=\huge\bfseries }, level 1 concept/.style={ minimum size=2cm, text width=2cm, font=\large\bfseries }, level 2 concept/.style={ minimum size=1.5cm, text width=1.5cm, font=\normalsize } ] \node[root concept] {Big Idea} child[concept color=red!60] {node {Area 1} child {node {Detail}} child {node {Detail}} } child[concept color=green!60] {node {Area 2} child {node {Detail}} }; \end{tikzpicture}

Mind Map for Planning

\begin{tikzpicture}[mindmap, every node/.style={concept, text=white, font=\bfseries}, root concept/.style={concept color=black!70, minimum size=2.5cm}, level 1/.append style={level distance=4cm, sibling angle=60}, level 2/.append style={level distance=2.5cm, sibling angle=40} ] \node[root concept] {Website\\Redesign} child[concept color=blue!70] {node {Research} child {node {User surveys}} child {node {Analytics}} child {node {Competitors}} } child[concept color=teal!70] {node {Design} child {node {Wireframes}} child {node {Mockups}} child {node {Prototypes}} } child[concept color=green!60!black] {node {Development} child {node {Frontend}} child {node {Backend}} child {node {API}} } child[concept color=orange!80] {node {Testing} child {node {Unit tests}} child {node {User testing}} } child[concept color=red!70] {node {Launch} child {node {Deployment}} child {node {Marketing}} } child[concept color=purple!70] {node {Maintenance} child {node {Updates}} child {node {Support}} }; \end{tikzpicture}

Half Mind Map (One Side)

\begin{tikzpicture}[mindmap, grow=right, every node/.style={concept}, concept color=blue!30, level 1/.append style={level distance=3cm, sibling angle=40}, level 2/.append style={level distance=2cm, sibling angle=30} ] \node {Topic} child[concept color=red!40] {node {Category 1} child {node {Item 1.1}} child {node {Item 1.2}} child {node {Item 1.3}} } child[concept color=green!40] {node {Category 2} child {node {Item 2.1}} child {node {Item 2.2}} } child[concept color=orange!40] {node {Category 3} child {node {Item 3.1}} child {node {Item 3.2}} child {node {Item 3.3}} child {node {Item 3.4}} }; \end{tikzpicture}

Styling Tips

  • grow cyclic - Distributes children around the parent
  • sibling angle - Controls spacing between siblings
  • level distance - Distance from parent to children
  • concept color - Sets the color for a branch
  • huge mindmap - Larger node sizes
  • small mindmap - Smaller node sizes

Next Steps

Continue learning TikZ diagrams:

Underleaf Logo
Underleaf

Empowering students and researchers with AI-powered tools for academic writing.

Go to appContact us

Company

PricingBlogTutorialsAffiliate Program

Free Tools

Image to LaTeXExcel to LaTeXArXiv to LaTeXTikZ GeneratorThesis GeneratorChrome ExtensionAll Tools

© 2026 Underleaf. All rights reserved.