Preparing the page
Public context is loading before any interactive tool code.
Preparing the page
Public context is loading before any interactive tool code.
Validate one connected role hierarchy locally, reject missing managers and cycles, preview an accessible SVG, and export editable Mermaid source.
Your checked result will appear here.
Role IDs pass root, manager-reference and cycle checks before any reporting line reaches the canvas. The generated tree remains separate from the HR records that could authorize it.

The tool accepts direct reporting lines only. It does not infer managers from titles, array order or department names.
Give each role a unique lowercase ID, visible label, title and reports_to value.
Set reports_to to null only for the role at the top of this chart.
Unknown managers, self-links, cycles, disconnected roles and unreadable depth or span stop generation.
Inspect the SVG description and hierarchy counts, then download accessible SVG or editable Mermaid.
The tested fixture has one director, two leads and four leaf roles. Six explicit reports_to values become six directed edges.
{
"title": "Product group structure",
"roles": [
{ "id": "director", "label": "Product Director", "title": "Portfolio owner", "reports_to": null },
{ "id": "platform", "label": "Platform Lead", "title": "Platform roadmap", "reports_to": "director" },
{ "id": "experience", "label": "Experience Lead", "title": "Customer experience", "reports_to": "director" },
{ "id": "api", "label": "API Product", "title": "API discovery", "reports_to": "platform" },
{ "id": "data", "label": "Data Product", "title": "Data workflows", "reports_to": "platform" },
{ "id": "web", "label": "Web Product", "title": "Web journeys", "reports_to": "experience" },
{ "id": "research", "label": "Product Research", "title": "Research evidence", "reports_to": "experience" }
]
}Product Director ├─ Platform Lead │ ├─ API Product │ └─ Data Product └─ Experience Lead ├─ Web Product └─ Product Research
Observed: 7 roles · 6 reporting lines · 3 managers · 4 leaves · 3 levels · max span 2
reports_to: missing-leadThe referenced manager is absent, so no SVG or Mermaid is emitted.
A clean tree depends on rules the author can inspect rather than title-based guesses.
Exactly one role has no manager in this bounded chart; zero or multiple roots are rejected.
Every non-root reports_to value must match a declared role ID and cannot point to itself.
Following manager links must reach the root without repeating a role; cycles are named in the error.
The local canvas supports 2–20 roles, seven levels and eight direct reports per manager.
A structurally valid manifest can still be stale, unofficial or inappropriate to publish.
Compare each role and manager with the responsible HR or governance source.
Record when the structure applies instead of presenting an undated chart as current.
Prefer role labels when names are unnecessary and restrict sensitive internal structures.
Direct reports do not capture dotted lines, vacancies, committees or delegated access.
The output confirms internal graph structure only; it cannot establish employment or decision-making authority.