Decision Tree Tool - Small Study Tools
Yes/No Logic · Interactive Test Mode · Auto-Layout

Decision Tree Tool

Build a Yes/No question tree to map out decision logic, troubleshooting steps or eligibility rules — then test it interactively by clicking through your own questions. Pro Mode adds custom branch labels, probabilities, icons, themes and SVG/PDF export.

Pro Version is Free for now
Pro Mode active — custom branch labels, probabilities, icons, themes & SVG/PDF export unlocked
Select a node, then add Yes/No branches or mark it as an outcome
Privacy Guaranteed — Your decision tree is saved only in your browser. Nothing is sent to any server.
Colour Themes
Quick-Start Templates
🎓
Should I Take This Class?
Academic decision guide
🐛
Bug Troubleshooting
Technical diagnostic tree
Eligibility Checker
Qualification logic tree
Branch Settings (selected node's outgoing branches)
Branch 1
Branch 2
❓ Questions: 0
🏁 Outcomes: 0
📏 Max Depth: 0
Click the root question to edit it, then "Add Yes/No Branches"
100%
Export your decision tree
`; const blob = new Blob([html],{type:'text/html'}); const a=document.createElement('a'); a.download='smallstudytools-decision-tree-print.html'; a.href=URL.createObjectURL(blob); a.click(); toast('Print-ready file downloaded — open it to save as PDF'); }function downloadOutlineTXT() { if (!nodes.length) { toast('Build a tree first'); return; } function buildOutline(parentId, indent) { const children = nodes.filter(n=>n.parentId===parentId); let lines = []; children.forEach(c => { const branchTxt = c.branchLabel ? `[${c.branchLabel}] ` : ''; const typeTxt = c.type === 'outcome' ? ' (OUTCOME)' : ''; lines.push(' '.repeat(indent) + '- ' + branchTxt + c.label + typeTxt); lines = lines.concat(buildOutline(c.id, indent+1)); }); return lines; } const root = nodes.find(n=>n.id===0); const lines = ['=== DECISION TREE — SmallStudyTools.com ===','', root.label, ...buildOutline(0,1), '', 'Generated by SmallStudyTools.com']; const blob = new Blob([lines.join('\n')],{type:'text/plain'}); const a=document.createElement('a'); a.download='smallstudytools-decision-tree-outline.txt'; a.href=URL.createObjectURL(blob); a.click(); toast('Downloaded outline as TXT!'); }// ── MODE ────────────────────────────────────────────────────── function setMode(mode) { isPro = mode==='pro'; document.getElementById('btnSimple').classList.toggle('active',!isPro); document.getElementById('btnPro').classList.toggle('active',isPro); document.body.classList.toggle('pro-mode',isPro); document.getElementById('proModeBar').style.display=isPro?'flex':'none'; document.getElementById('modeHint').textContent=isPro ?'Custom branch labels, probabilities, icons, themes and auto-layout' :'Select a node, then add Yes/No branches or mark it as an outcome'; if (!isPro) document.getElementById('branchPanel').classList.remove('show'); else showBranchPanelIfNeeded(); render(); try{localStorage.setItem(SK+'_mode',mode);}catch(e){} }function toast(msg){const t=document.getElementById('toast');t.textContent=msg;t.classList.add('show');setTimeout(()=>t.classList.remove('show'),2400);} function save(){try{localStorage.setItem(SK,JSON.stringify({nodes,nextId}));}catch(e){}}// ── INIT ────────────────────────────────────────────────────── function scrollToRoot() { const root = nodes.find(n=>n.id===0); if (!root) return; const canvas = document.getElementById('canvasArea'); canvas.scrollLeft = Math.max(0, (root.x + root.w/2) - canvas.clientWidth/2); canvas.scrollTop = 0; }try{ const saved=JSON.parse(localStorage.getItem(SK)||'{}'); if(saved.nodes && saved.nodes.length){ nodes=saved.nodes; nextId=saved.nextId||1; } else initRoot(); const savedMode=localStorage.getItem(SK+'_mode'); if(savedMode==='pro') setMode('pro'); else render(); scrollToRoot(); }catch(e){ initRoot(); render(); scrollToRoot(); }

Decision Tree Tool — Build and Test Yes/No Logic Visually

Complex decisions rarely come down to a single question — they're usually a chain of smaller Yes/No questions, each one narrowing down the path to a final answer. A decision tree makes that chain visible and testable, turning fuzzy reasoning into a clear, followable structure. Our free decision tree tool lets you build exactly that: start with a root question, branch into Yes/No paths, mark final answers as outcomes, and then actually walk through your own tree to check the logic holds up.

Simple Mode covers the complete core workflow: build branches, mark outcomes, drag to rearrange, auto-layout for a clean binary tree shape, and test your tree interactively. Switch to Pro Mode (free) for custom branch labels beyond Yes/No, branch probabilities, an icon library, colour themes, ready-made templates, and SVG/PDF export.

Why "Test My Tree" matters more than it sounds: it's easy to build a decision tree that looks complete on paper but has a logic gap you'd never notice just by looking at it — a missing branch, a question that doesn't actually distinguish its two paths, or an outcome that's reachable from contradictory conditions. Actually walking through your own tree by clicking Yes/No at each step, exactly the way an end user would, surfaces these problems immediately rather than after the tree has already been shared or used.

The Anatomy of a Decision Tree

Question Node
A decision point with exactly two outgoing branches, typically labelled Yes and No. Every question must distinguish meaningfully between its two paths.
🔀
Branch
The connection between a question and its next step, labelled with the answer that leads down that path (Yes, No, or any custom label).
🏁
Outcome Node
A leaf with no further branches, representing a final answer or result. Every complete path through the tree should end in exactly one outcome.

Decision Tree vs Flowchart — Are They the Same Thing?

Not quite. A decision tree is technically a specific, constrained type of flowchart: every internal node is a question with exactly two paths, there are no loops back to earlier steps, and every path terminates in a defined outcome. A general flowchart is broader — it can represent sequential processes with no decisions at all, allow loops back to repeat earlier steps, and use multiple shape types for different kinds of actions beyond just questions. If your diagram is purely "answer this, then answer that, until you reach a result," it's a decision tree. If it involves a process with steps, loops, or multiple action types, a general flowchart — like our Flowchart Generator — is the better fit.

Decision Trees in Machine Learning

The same branching logic taught here also underlies one of the most widely used algorithms in machine learning. A machine learning decision tree automatically learns a branching structure from training data, where each internal node tests a feature of the data (for example, "is age greater than 30?"), each branch represents the result of that test, and each leaf represents a final classification or prediction. Our tool builds the human-designed version of this same structure — manually authored rather than learned from data — but understanding this shared concept is genuinely useful groundwork for students moving into data science or AI coursework later.

Where Decision Trees Are Used

🛠️
Troubleshooting Guides
Diagnosing a technical problem step by step — "Is it plugged in? Does it power on? Is the cable damaged?" — narrowing down to a specific fix.
Eligibility Checkers
Determining whether someone qualifies for a scholarship, benefit, or programme based on a sequence of yes/no criteria.
🎓
Academic Decision-Making
Working through whether to take a course, choose a major, or pursue a particular path based on a structured set of personal criteria.
💼
Business Process Logic
Customer service scripts, approval workflows, and policy decisions frequently follow exactly this Yes/No branching structure.
🤖
Data Science & AI Coursework
Understanding manually-built decision trees provides intuitive grounding before studying how the same structure is learned algorithmically.
🩺
Diagnostic Checklists
Clinical and technical diagnostic protocols often follow a strict branching question structure to reach a specific conclusion safely and consistently.

Pro Mode — Six Advanced Features

🏷️
Custom Branch Labels
Replace generic Yes/No with anything relevant — "Approved"/"Rejected", "Under 18"/"Over 18" — while keeping the same binary structure.
📊
Branch Probabilities
Add an optional percentage to any branch, useful for expected-value analysis or showing how likely each path is in real-world data.
😀
Icon Library
Attach an emoji icon to any node to visually distinguish outcome types at a glance — checkmarks for positive results, warning icons for issues.
🎭
Colour Themes
Four built-in themes (Default, Ocean, Sunset, Royal) recolour your entire tree instantly for a consistent, polished look.
🧩
Ready-Made Templates
Three starting templates — Should I Take This Class?, Bug Troubleshooting, Eligibility Checker — load instantly and customise from there.
📥
SVG & PDF Export
Export as scalable vector SVG for further editing, or a print-ready PDF for handouts and documentation.

How to Build Your Decision Tree

1
Write your first questionClick the root node and type the first Yes/No question that starts your decision logic.
2
Add branches and continue questioningSelect the question and click "Add Yes/No Branches". Click either new branch to turn it into another question, repeating the process until every path reaches a clear answer.
3
Mark final answers as outcomesWhen a branch reaches its conclusion, select it and click "Mark as Outcome" to turn it into a final result node rather than another question.
4
Test and exportClick "Test My Tree" to walk through your own logic and catch any gaps. Use Auto-Layout for a clean shape, then export as PNG, or as an outline for documentation.

For more visual planning and logic tools, use this generator alongside our Flowchart Generator for broader process diagrams, our Mind Map Generator for open-ended brainstorming, our Task Priority Matrix for turning decisions into prioritised action, and our SWOT Analysis Generator for structured strategic thinking.


Frequently Asked Questions

Decision tree logic, structure and how this tool works

Edit the root question, select it and click "Add Yes/No Branches". Turn branches into more questions or click "Mark as Outcome" for final answers. Repeat until every path ends in a result. No signup needed — it saves automatically in your browser.

Mapping out Yes/No questions leading to outcomes — troubleshooting guides, eligibility checkers, academic and business decisions. The same branching structure is also foundational to machine learning classification algorithms.

A decision tree is a specific type of flowchart — exclusively branching questions with two paths each, no loops, every path ending in an outcome. A general flowchart can include sequential steps, loops, and other action types beyond just decisions.

ML decision trees automatically learn a branching structure from data — each node tests a feature, each branch is a test result, each leaf is a classification. Our tool builds the manually authored version of this same concept.

Most use exactly two — binary branching (Yes/No or any two mutually exclusive options) keeps the tree simple to follow and test. If a decision has more than two outcomes, it's usually clearer to split it into multiple binary questions.

Yes — click "Test My Tree" to walk through it interactively, answering each question with your path highlighted live on the diagram and a breadcrumb trail. This catches logic gaps before you finalise and share it.

Pro Mode (free) adds custom branch labels, branch probabilities, an icon library, 4 colour themes, 3 ready-made templates, and SVG/PDF export alongside PNG.

Yes — alongside image exports, there's a dedicated outline export converting your tree into clean, nested text showing branch labels, questions, outcomes and depth via indentation — ready to paste into a report or document.

Lilly
Here to help you find a tool
Search tools Search blogs
Try me to find a tool! 👋