Free WBS Generator Online - Work Breakdown Structure Maker - Small Study Tools
WBS · Auto Codes · Fully Scrollable on Mobile

Work Breakdown Structure (WBS) Generator

Build a professional WBS diagram instantly. Add phases, tasks and sub-tasks with automatic WBS codes, then export as PNG or PDF. Fully editable and scrollable on mobile. Pro Mode adds colour themes, status tracking, templates and CSV/JSON export.

100% Private — saved only in your browser, never sent to a server
Pro Version is Free for now
✓ Themes · Status · Assignees · Effort · Templates ·
SVG · CSV · JSON · Share link unlocked
Day Night
📁 Project
🌿 Structure
0 nodes
0
Nodes
0
Depth
0
Phases
Done %
0h
Effort
0
Tasks
0
Assigned
0
Overdue
WBS Preview
Scroll or drag inside the preview to pan around a large diagram
⬇️ Export
📖 Quick Reference
0Level 0 the overall project.
1Level 1 major phases (1, 2, 3…).
1.1Level 2 tasks within a phase (1.1, 1.2…).
1.1.1Level 3+ sub-tasks, numbered the same way.
📋 Templates PRO
🎨 Appearance
Monochrome (black & white)
Colour Theme PRO
Level Colours PRO
Dark background PRO
Show WBS codes
Show connector lines
Show status icons PRO
📥 Import / Share PRO
💡 WBS Tips PRO
`; const blob=new Blob([html],{type:'text/html'}); const a=document.createElement('a'); a.download=`wbs-${(tree.text||'project').replace(/\s+/g,'-').toLowerCase()}.html`; a.href=URL.createObjectURL(blob); a.click(); toast('PDF report downloaded — open and Print → Save as PDF'); }function dlSVG(){ doRender(); const canvas=document.getElementById('wbsCanvas'); const svgStr=``; const blob=new Blob([svgStr],{type:'image/svg+xml'}); const a=document.createElement('a'); a.download='wbs-diagram.svg'; a.href=URL.createObjectURL(blob); a.click(); toast('SVG downloaded!'); }function dlCSV(){ const all=flatNodes(tree); const header='WBS Code,Task Name,Level,Status,Assignee,Due Date,Effort (h),Notes\n'; const rows=all.map(n=>`"${n.code}","${n.text.replace(/"/g,'""')}",${n.level},"${n.status}","${n.assignee||''}","${n.due||''}",${n.effort||0},"${(n.note||'').replace(/"/g,'""')}"`).join('\n'); const blob=new Blob([header+rows],{type:'text/csv'}); const a=document.createElement('a'); a.download='wbs-data.csv'; a.href=URL.createObjectURL(blob); a.click(); toast('CSV downloaded!'); }function dlJSON(){ const data=JSON.stringify({project:tree.text,generated:new Date().toISOString(),tree},null,2); const blob=new Blob([data],{type:'application/json'}); const a=document.createElement('a'); a.download='wbs-data.json'; a.href=URL.createObjectURL(blob); a.click(); toast('JSON downloaded!'); }function shareLink(){ try{ const data=btoa(unescape(encodeURIComponent(JSON.stringify({t:tree.text,c:tree.children})))); const url=window.location.href.split('?')[0]+'?wbs='+data.slice(0,2000); navigator.clipboard.writeText(url).then(()=>toast('Share link copied to clipboard!')).catch(()=>toast('Link too long — try export JSON instead')); }catch(e){toast('Share failed — try export JSON instead');} }function importJSON(e){ const file=e.target.files[0]; if(!file) return; const reader=new FileReader(); reader.onload=ev=>{ try{ const data=JSON.parse(ev.target.result); if(data.tree){ tree=data.tree; document.getElementById('projName').value=data.project||tree.text||'Project'; reCodes(); renderEditor(); schedRender(); toast('JSON imported!'); } else toast('Invalid JSON format'); }catch(err){toast('Failed to parse JSON: '+err.message);} }; reader.readAsText(file); }// ─── APP MODE ───────────────────────────────────────────────── function setAppMode(m){ isPro=m==='pro'; document.getElementById('btnSimple').classList.toggle('active',!isPro); document.getElementById('btnPro').classList.toggle('active',isPro); widget().classList.toggle('pro-mode',isPro); const pb=document.getElementById('proBar'); if(pb) pb.style.display=isPro?'flex':'none'; if(isPro){ buildThemeChips(); buildLevelColorRows(); } renderEditor(); schedRender(); try{localStorage.setItem('sst_wbs_mode',m);}catch(e){} }// ─── UTILS ──────────────────────────────────────────────────── function esc(s){return String(s||'').replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"');} function toast(msg){const t=document.getElementById('toast');t.textContent=msg;t.classList.add('show');setTimeout(()=>t.classList.remove('show'),2600);}// ─── CANVAS DRAG-TO-PAN (mouse) ───────────────────────────────── // Touch users can already pan the preview with a native swipe/scroll // gesture. This adds the matching click-and-drag experience for // mouse users, which is what the grab cursor on the canvas promises. (function initCanvasDrag(){ const scrollEl = document.getElementById('canvasScroll'); if(!scrollEl) return; let isDown=false, startX=0, startY=0, startLeft=0, startTop=0, moved=false; scrollEl.addEventListener('mousedown', e=>{ isDown=true; moved=false; startX=e.pageX; startY=e.pageY; startLeft=scrollEl.scrollLeft; startTop=scrollEl.scrollTop; }); window.addEventListener('mousemove', e=>{ if(!isDown) return; const dx=e.pageX-startX, dy=e.pageY-startY; if(Math.abs(dx)>3||Math.abs(dy)>3) moved=true; scrollEl.scrollLeft = startLeft - dx; scrollEl.scrollTop = startTop - dy; }); window.addEventListener('mouseup', ()=>{ isDown=false; }); scrollEl.addEventListener('mouseleave', ()=>{ isDown=false; }); })();// ─── INIT ───────────────────────────────────────────────────── // Check URL for shared WBS try{ const params=new URLSearchParams(window.location.search); const wbsParam=params.get('wbs'); if(wbsParam){ const data=JSON.parse(decodeURIComponent(escape(atob(wbsParam)))); tree.text=data.t||'Project'; tree.children=data.c||[]; reCodes(); document.getElementById('projName').value=tree.text; toast('Shared WBS loaded!'); } }catch(e){}renderEditor(); schedRender(); try{const m=localStorage.getItem('sst_wbs_mode');if(m==='pro')setAppMode('pro');}catch(e){}

How to Use the WBS Generator

From a project name to a downloadable diagram. Fully editable on desktop and mobile.

1
Name the Project
Type your project name, or load a template to start faster.
2
Build the Tree
Add phases, then tasks and sub-tasks, codes update automatically.
3
Auto-Saves as You Go
Your structure is saved in your browser, nothing to lose.
4
Export or Go Pro
Export as PNG or PDF, or unlock colour themes and status tracking in Pro.

Everything above runs entirely in your browser. Your project structure is never uploaded to a server, so it stays completely private from start to finish.

Specifications
Price Free
Signup Not Required
Data Storage Local only (this device)
Structure Unlimited phases, tasks, sub-tasks
WBS Codes Automatic (1, 1.1, 1.1.1…)
Templates 6 (Software, Construction, Marketing, Event, Research, Academic)
Export Formats PNG · PDF · SVG (Pro) · CSV (Pro) · JSON (Pro)
Pro Tools Colour Themes · Status · Assignees · Effort · Share Link
Platform Optimized for Web & Mobile
Category Strategy & Diagrams
Found a bug or something not working right? Let us know and we'll fix it. Every report helps make this tool better.
Report an Issue

Work Breakdown Structure (WBS) Generator, Free and Online

A work breakdown structure generator turns a flat project scope into a hierarchy of phases, tasks and sub-tasks, each with its own automatic WBS code. This one is fully editable on desktop and mobile, includes ready-made project templates, and runs entirely in your browser.

A project scope written as a paragraph or a single long list is hard to plan around, since it does not show how the work actually divides up, who owns which piece, or how far along any one part really is. A work breakdown structure fixes that by decomposing the total scope into a tree, phases at the top, tasks underneath, and sub-tasks below that where needed. This free WBS generator online tool lets you build that tree directly, add phases and tasks with the "+ Add Phase" and sub-task buttons, and watch the WBS code for each item update automatically as the structure changes. Load a ready-made template for a software project, construction job, marketing campaign, event, research project or academic assignment. Export the finished diagram as a PNG or PDF. Pro Mode adds colour themes, status tracking per task, assignees, effort hours, a live time-and-progress summary, and export to SVG, CSV and JSON.

1Simple vs Pro, What Each Mode Includes

FeatureSimple ModePro Mode (Free)
Unlimited phases, tasks and sub-tasksIncludedIncluded
Automatic WBS codes at every levelIncludedIncluded
Top-down and monochrome exportIncludedIncluded
Export as PNG or PDFIncludedIncluded
6 ready-made project templatesNot includedIncluded
Colour themes, per-level colours, dark backgroundNot includedIncluded
Status tracking, assignees, effort hours, due datesNot includedIncluded
Left-right layout, share link, export to SVG, CSV, JSONNot includedIncluded

2Reading a WBS Code

0
The Project
1
Phase 1
1.1
Task in Phase 1
1.1.1
Sub-task

The single most important rule behind a usable work breakdown structure is what practitioners call the 100% rule. It states that the child items under any phase must account for the entire scope of that phase, nothing left out and nothing counted in two places at once. A WBS that violates this either hides real work that never gets planned or budgeted, or double counts effort in a way that quietly inflates the project estimate. Most WBS mistakes trace back to this rule being broken somewhere, usually because a task was too vague to know for certain whether it was already covered elsewhere in the tree.

3Where the Work Breakdown Structure Actually Came From

The idea behind the WBS did not start with that name. It traces to the Program Evaluation and Review Technique, introduced by the US Navy in 1957 for its Polaris missile program, which organised work into product oriented categories without yet calling it a work breakdown structure, a history detailed by Smartsheet's overview of WBS history. The Department of Defense and NASA published a guide in June 1962 that described the same decomposition approach in detail, again without using the term. It was not until 1968, when the Department of Defense issued MIL-STD-881, that "work breakdown structure" became the standard name, and the practice became mandatory across defense projects, more than a decade after the underlying idea first appeared.

QuestionQuick Answer
What decides a task's WBS code?Its position in the tree, phase number then task number
What is the 100% rule?Child tasks must cover all of the parent's scope, no more, no less
How deep should a WBS go?Usually 3 to 4 levels, deeper only where a task is genuinely complex
Who formalised the term "work breakdown structure"?The US Department of Defense, in MIL-STD-881, 1968
Privacy Note

Everything, including Pro Mode's colour themes, status tracking, assignees and effort estimates, runs entirely in your browser using JavaScript. Your project structure is saved only in local storage on your own device, and is never sent to a server.

4Frequently Asked Questions

How do I create a work breakdown structure online for free?
Name your project, then add phases as the top level and break each one into tasks and sub-tasks. WBS codes like 1, 1.1 and 1.1.1 are generated automatically as you build the tree. Export the finished diagram as a PNG or PDF. No signup is required, and everything is saved only in your browser.
What is a work breakdown structure in project management?
A work breakdown structure is a hierarchical breakdown of a project's total scope into smaller, more manageable pieces, usually shown as phases at the top, tasks underneath, and sub-tasks below that. Each piece gets a unique WBS code so it is always clear where it sits in the overall structure and what it belongs to.
Who actually invented the work breakdown structure?
The concept traces to the Program Evaluation and Review Technique, or PERT, which the US Navy introduced in 1957 for its Polaris missile program, breaking work into product oriented categories without yet using the term. The Department of Defense and NASA published a guide in June 1962 describing the same approach in detail, still without the phrase work breakdown structure. The term itself was only formalised in 1968, when the Department of Defense issued MIL-STD-881, which made work breakdown structures a mandatory standard across defense projects.
What is the 100% rule in a WBS?
The 100% rule states that a work breakdown structure must capture 100% of the project scope at every level, meaning the child tasks under any phase must account for all of that phase's work, with nothing left out and nothing counted twice. It is the single most important design principle behind a usable WBS, since a structure that violates it will either miss real work or double count effort in the estimates.
How many levels should a work breakdown structure have?
Most projects use three to four levels, project at the top, phases below that, then tasks, and sub-tasks only where a task is genuinely complex enough to need further breakdown. Going deeper than that for every branch usually adds administrative overhead without adding useful clarity, and going shallower risks tasks that are too broad to estimate or assign properly.
Is my WBS data private?
Yes. Everything, including Pro Mode's colour themes, status tracking, assignees and effort estimates, runs entirely in your browser using JavaScript. Your project structure is saved only in your browser's local storage, and is never sent to a server.

Grounded in the documented PERT to MIL-STD-881 timeline, not the simplified single-origin story most sites repeat. The full history is detailed on Smartsheet's guide to work breakdown structures. For related project and diagram tools on the rest of this site, see the Gantt Chart Generator and the full SmallStudyTools.com tool library.

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