Organigrama

Acerca de los organigramas

Un organigrama (gráfico organizacional) mapea la estructura formal de reporte de una organización — quién gestiona a quién, qué equipos pertenecen a qué líderes, y dónde encajan los puestos vacantes y los asesores externos. Los equipos de RRHH los usan durante la planificación de personal; los fundadores los usan antes de las reuniones con el consejo; los gerentes de operaciones los distribuyen durante las reestructuraciones. A diferencia de un diagrama de flujo genérico, un organigrama trata a las personas (y posiciones) como las entidades primarias, con la jerarquía codificada por sangría o aristas explícitas.

Schematex sigue las convenciones generales de organigramas con extensiones para posiciones abiertas/vacantes, reporte matricial (línea punteada) y relaciones de asistente. No existe un único estándar ISO para organigramas; las convenciones implementadas aquí se derivan de la práctica de RRHH y las normas de la industria del software. Para el contexto académico autoritativo consulta Fayol (1916) y el artículo de Wikipedia sobre organigramas.

orgchart·§
↘ preview
100%
Acme Corp — Q3 2025 Organizational chart with 15 people and 12 relationships Acme Corp — Q3 2025 Jamie Torres CEO Raj Patel CTO Priya Nair Engineering Lead Alex Kim Senior Engineer Jordan Lee Engineer NEW open "TBH" Frontend Engineer Omar Hassan Engineering Lead Yuki Tanaka Staff Engineer draft "TBH" Senior Engineer $ Maria Santos CFO Nour Ahmed Finance Manager Ellen Wu CPO Tyler Brooks Product Lead Suki Ito Product Lead Dr. Alan Ford Board Advisor
UTF-8 · LF · 18 lines · 878 chars✓ parsed·1.4 ms·14.8 KB SVG

1. Tu primer organigrama

El organigrama más simple y útil: una jerarquía de tres niveles con un puesto vacante.

orgchart·§
↘ preview
100%
Engineering Team Organizational chart with 4 people and 2 relationships Engineering Team Wei Zhang CTO Sam Obi Engineering Lead Ana Rossi Engineer open "TBH" Engineer
UTF-8 · LF · 5 lines · 209 chars✓ parsed·7.0 ms·6.1 KB SVG

Cuatro reglas cubren el 80% de los casos de uso:

  1. Comienza con la palabra clave orgchart, opcionalmente seguida de un título entre comillas.
  2. Cada persona es un nodoid: "Nombre" | "Título" | "Departamento" [props]. El | separa los campos de nombre, título y departamento.
  3. La sangría determina la jerarquía — cada dos (o más) espacios adicionales mueven un nodo un nivel más profundo bajo el nodo menos sangrado más cercano por encima.
  4. Declara puestos vacantes con open id: o draft id:, y asesores externos con advisor id:.

Los comentarios deben comenzar con # en su propia línea (los // en línea al final también se eliminan).


2. Nodos

Una línea de nodo tiene la forma [kind] id: fields [props]. El id debe coincidir con [A-Za-z][A-Za-z0-9_-]*.

2.1 Campos (separados por barra vertical)

La parte después de : y antes del bloque opcional [props] se divide por |:

alice: "Alice Zhang"                                # name only
alice: "Alice Zhang" | "VP Engineering"             # name + title
alice: "Alice Zhang" | "VP Eng" | "Platform"        # name + title + department
alice: "Alice Zhang" | "VP Eng" | "Platform" | "x@co.com"  # + info line
PosiciónContenidoNotas
NombreEntre comillas o sin ellas
Título / nivel de cargoOpcional
DepartamentoOpcional
Línea de informaciónOpcional; también configurable via note:, email:, phone:, location: props
orgchart·§
↘ preview
100%
Field count demo Organizational chart with 4 people and 2 relationships Field count demo AL Alice BO Bob "CTO" CA Carol "Engineer" DA Dave "VP Sales" "dave@co.com"
UTF-8 · LF · 5 lines · 161 chars✓ parsed·0.5 ms·4.1 KB SVG

2.2 Tipos de nodos

La palabra clave de tipo opcional antes del id cambia cómo se renderiza el nodo:

Palabra(s) claveTipoSignificado
(ninguno)personPersona regular
role, openrolePosición abierta / vacante
draft, tbhdraftPosición planificada, no en reclutamiento activo
advisor, externaladvisorAsesor externo, miembro del consejo o contratista
orgchart·§
↘ preview
100%
Node kinds Organizational chart with 5 people and 2 relationships Node kinds Jordan Kim CEO Priya Nair Engineering Lead TBH Senior Engineer HIRING TBH Staff Engineer Dr. Lee Board Advisor
UTF-8 · LF · 6 lines · 289 chars✓ parsed·0.6 ms·6.4 KB SVG

2.3 Propiedades de los nodos

Las propiedades van en [key: value, …] al final de una línea de nodo.

PropiedadValoresEfecto
role:ver tabla abajoIcono de rol mostrado en el avatar
icon:igual que role:Alias de role:
department:textoAnula el campo de departamento
status:new | leaving | on-leavePíldora de estado en la tarjeta
avatar-color:color hex (ej. "#7B1FA2")Color de fondo del avatar
gender:male | femaleSilueta del avatar (usada cuando no hay icono de rol)
note:textoLínea de información (gana la primera encontrada)
email:textoLínea de información
phone:textoLínea de información
location:textoLínea de información
assistant-of:id de nodoRenderiza este nodo como asistente del nodo nombrado
matrix:ids de nodo separados por espacio o comaAgrega líneas matriciales punteadas desde esos nodos hacia este
reports:id de nodoAnulación explícita de padre (en lugar de sangría)
open(bandera simple)Marca el nodo como abierto; equivalente a usar la palabra clave de tipo role
draft o tbh(bandera simple)Marca el nodo como borrador; equivalente a la palabra clave draft
external(bandera simple)Marca el nodo como externo; equivalente a advisor

Iconos de rol — el valor de role: se resuelve en un icono de visualización. Palabras clave aceptadas (sin distinción de mayúsculas/minúsculas):

Palabras claveIcono
ceoCEO
ctoCTO
cfoCFO
cooCOO
cmoCMO
cpoCPO
vpVP
engineer, engineeringEngineer
designer, designDesigner
salesSales
hrHR
legalLegal
ops, operationsOps
marketingMarketing
productProduct
dataData
advisorAdvisor
internIntern
vacantVacant
orgchart·§
↘ preview
100%
People directory Organizational chart with 8 people and 3 relationships People directory Jamie Torres CEO Raj Patel CTO Priya Nair Staff Engineer NEW Jordan Lee Senior Engineer $ Maria Santos CFO Nour Ahmed Finance Manager ON LEAVE Dr. Alan Ford Board Advisor TBH General Counsel
UTF-8 · LF · 9 lines · 470 chars✓ parsed·0.7 ms·8.3 KB SVG

3. Jerarquía

La jerarquía se expresa mediante sangría — el patrón más común. Cada nodo se convierte en hijo del nodo más cercano por encima con una sangría menor. Las tabulaciones se tratan como dos espacios.

ceo: "CEO"
  cto: "CTO"           # child of ceo (indent 2)
    eng: "Engineer"    # child of cto (indent 4)
  cfo: "CFO"           # child of ceo (indent 2, same level as cto)

Alternativamente, usa la propiedad reports: para establecer un padre de forma explícita independientemente de la sangría:

orgchart "Flat file"
ceo: "CEO"
cto: "CTO" [reports: ceo]
eng: "Engineer" [reports: cto]
orgchart·§
↘ preview
100%
Series A Startup Organizational chart with 12 people and 8 relationships Series A Startup Lena Brandt CEO James Osei CTO Platform Lead Engineering Fatima Al-Rashid Backend Engineer Marco Ricci Backend Engineer Frontend Lead Engineering Yumi Tanaka Frontend Engineer NEW open "TBH" Frontend Engineer Diana Russo CPO Chris Obi Product Manager Kai Nakamura CMO draft "TBH" Growth Marketer
UTF-8 · LF · 13 lines · 647 chars✓ parsed·4.8 ms·12.4 KB SVG

4. Aristas

Existen dos tipos de aristas. La mayoría de las líneas de reporte provienen automáticamente de la jerarquía de sangría. También puedes escribirlas explícitamente — o agregar líneas matriciales (punteadas).

OperadorTipo de aristaSignificado
from -> toreportLínea sólida de reporte
from -.-> tomatrixLínea punteada matricial (reporte indirecto)

Las aristas explícitas requieren que ambos ids de nodo estén ya declarados. Una arista report creada explícitamente no se duplica si la misma relación ya está implícita por la sangría.

Se admiten etiquetas en las aristas:

pm1 -.-> design [label: "product partnership"]
orgchart·§
↘ preview
100%
Matrix org Organizational chart with 5 people and 3 relationships Matrix org design partner Ellen Wu CPO Core PM Product Manager Growth PM Product Manager Suki Ito Design Lead Ben Park Data Lead
UTF-8 · LF · 10 lines · 378 chars✓ parsed·0.7 ms·5.4 KB SVG

5. Configuración

Las líneas config: ajustan el diseño y la orientación. Cada una va en su propia línea.

Clave de configuraciónValoresPredeterminadoEfecto
directionTD, LRTDFlujo de arriba hacia abajo o de izquierda a derecha
layouttree, list, directory, compacttreeModo de diseño visual

Notas de diseño:

  • tree — árbol jerárquico estándar con conectores ramificados. Ideal para la mayoría de los organigramas.
  • list / directory / compact — vista de directorio compacto con sangría. Bueno para listas de personal grandes donde la ramificación del árbol se vuelve complicada.

Diseño árbol (predeterminado) — tarjetas de avatar con conectores ramificados y codificación de colores por departamento. Ideal para equipos de hasta ~30 personas.

orgchart·§
↘ preview
100%
Acme Engineering — tree Organizational chart with 8 people and 5 relationships Acme Engineering — tree Wei Zhang CTO Platform Lead Engineering Amara Diallo Staff Engineer Ben Novak Senior Engineer draft "TBH" Engineer Growth Lead Engineering NEW Fatima Al-Rashid Senior Engineer Marco Ricci Engineer
UTF-8 · LF · 9 lines · 454 chars✓ parsed·0.7 ms·10.4 KB SVG

Diseño lista — filas de directorio compactas con guías de sangría. Ideal para equipos grandes donde la ramificación del árbol se vuelve complicada.

orgchart·§
↘ preview
100%
Engineering Directory — list Organizational directory with 8 people and 5 reporting relationships Engineering Directory — list · Wei Zhang CTO PT Platform Team 3 reports · Amara Diallo Staff Eng · Ben Novak Senior Eng · draft "TBH" Engineer GT Growth Team 2 reports · Fatima Al-Rashid Senior Eng · Marco Ricci Engineer
UTF-8 · LF · 10 lines · 421 chars✓ parsed·2.1 ms·8.4 KB SVG

6. Etiquetas y comentarios

  • Título: orgchart "Acme Corp" — solo en la primera línea.
  • Campo de nombre: primer campo delimitado por barra vertical después de los dos puntos; puede estar entre comillas ("Alice Zhang") o sin ellas (Alice).
  • Campos de título/departamento: segundo y tercer campos delimitados por barra vertical.
  • Línea de información: cuarto campo delimitado por barra vertical, o establecido via note:, email:, phone: o location: props. Gana el primero encontrado.
  • Comentarios: # al inicio de una línea (después de los espacios iniciales). Los // en línea también se eliminan.

7. Palabras reservadas y escape

Reservadas al inicio de línea: orgchart (encabezado), config:, role, open, draft, tbh, advisor, external.

Tokens de operadores reservados — evita estas secuencias dentro de los ids: ->, .->

Reglas de ID: debe coincidir con [A-Za-z][A-Za-z0-9_-]*. Los nombres con espacios van en el campo de nombre entre comillas, no en el id.

Cadenas con espacios en los valores de props (ej. department: "Platform Eng") deben ir entre comillas dobles.


8. Errores comunes

Lo que escribisteEl analizador diceCorrección
alice: Alice Zhang (nombre sin comillas con espacio)Analiza Alice como el nombre; Zhang se pierde o se malinterpretaPon el nombre entre comillas: alice: "Alice Zhang"
open1 open: "TBH"open después del id no es una palabra clave de tipo; falla la expresión regular del idLa palabra clave de tipo va primero: open open1: "TBH"
alice -> bob antes de que se declare alguno de los nodosOrgchartParseError: Edge references unknown nodeDeclara los nodos primero, luego escribe las aristas al final
config: direction = top-downValor desconocido ignorado; la dirección permanece como TDUsa TD o LR
config: layout = compactAceptado — se mapea al diseño listCorrecto; compact, directory y list funcionan todos
alice [matrix: bob charlie]Ids separados por espacio en matrix: — ambos se agreganTambién funciona con comas: matrix: "bob, charlie"
Id de nodo con espacio: fe leadEl analizador toma fe como el id; lead fallaUsa guion bajo: fe_lead
Id duplicadoOrgchartParseError: Duplicate node idCada nodo necesita un id único

9. Gramática (EBNF)

document       = header (blank | comment | config | edge | node)*

header         = "orgchart" ( WS quoted-string )? NEWLINE
quoted-string  = '"' any-char-but-quote* '"'

config         = "config" WS ":" WS key WS "=" WS value NEWLINE
key            = "direction" | "layout"

node           = INDENT* kind? id ":" WS fields ( "[" node-attrs "]" )? NEWLINE
kind           = "role" | "open" | "draft" | "tbh" | "advisor" | "external" | "person"
fields         = field ( "|" field )*
field          = quoted-string | unquoted-text
node-attrs     = node-attr ("," node-attr)*
node-attr      = "role:" role-keyword
               | "icon:" role-keyword
               | "department:" text
               | "status:" ( "new" | "leaving" | "on-leave" )
               | "avatar-color:" quoted-hex
               | "gender:" ( "male" | "female" )
               | "note:" text
               | "email:" text
               | "phone:" text
               | "location:" text
               | "assistant-of:" id
               | "matrix:" id-list
               | "reports:" id
               | bare-flag

bare-flag      = "open" | "draft" | "tbh" | "external"

edge           = id WS edge-op WS id ( "[" edge-attrs "]" )? NEWLINE
edge-op        = "->" | ".->"  // -.-> for matrix
edge-attrs     = "label:" quoted-string

id             = [A-Za-z] [A-Za-z0-9_-]*
comment        = ( "#" | "//" ) any NEWLINE

Fuente autoritativa: src/diagrams/orgchart/parser.ts. Si esto diverge del analizador, el analizador tiene prioridad — por favor, abre un issue.


10. Hoja de ruta

Planificado — aún no se puede analizar. No uses esto en DSL generado hoy; el analizador lo rechazará o ignorará.

  • Renderizado visual de assistant-of: — la propiedad se analiza y almacena en el AST pero el renderizador aún no dibuja el conector de codo de asistente.
  • Config coloring — temas de colores basados en departamento (coloring: department).
  • Niveles de tamaño compact de config — control explícito del tamaño de tarjeta (size: small | medium | large).
  • Ancho de nodo span: — hacer que un nodo abarque varias columnas de hermanos en el diseño de árbol.
  • Foto / URL de avataravatar: "https://…" para mostrar una foto real.
  • Exportar a formatos HRIS — salida estructurada JSON/CSV junto con el SVG.

Realiza seguimiento en los issues de GitHub si necesitas alguno de estos antes.


Ejemplos relacionados

Escenarios listos para usar de la galería de ejemplos:

orgchart·§ HR convention
Acme — Series A Team Organizational chart with 15 people and 13 relationships Acme — Series A Team Jamie Torres CEO Raj Patel CTO Priya Nair Eng Lead Alex Kim Senior Engineer Jordan Lee Engineer NEW open "TBH" Frontend Engineer Omar Hassan Eng Lead Yuki Tanaka Staff Engineer draft "TBH" Senior Engineer Ellen Wu CPO Tyler Brooks Product Lead Suki Ito Product Lead Maria Santos COO Nour Ahmed Finance Manager Dr. Alan Ford Board Advisor
Series-A tech startup org
Three-level org chart for a ~30-person Series-A startup — CEO with engineering, product, and ops directs, showing open roles and a board advisor.
saas
orgchart·§ HR convention
Scaleup — Matrixed Product Lines Organizational chart with 14 people and 17 relationships Scaleup — Matrixed Product Lines Jamie Torres CEO Raj Patel CTO Priya Nair Eng Lead Alex Kim Senior Engineer Jordan Lee Engineer Omar Hassan Eng Lead Yuki Tanaka Staff Engineer Maya Patel Engineer Ellen Wu CPO Tyler Brooks PM Suki Ito PM Liu Wei CDO Ana Rossi Designer Kai Park Designer
Scale-up with matrix reporting
Org chart for a 60-person scale-up with two product lines — solid-line functional reporting plus dotted-line product-manager reporting into each engineering lead.
saas

Found this useful?

Schematex is free, fully open source, and zero-dependency. A star helps other developers discover it.