Saltar al contenido principal

Generador de Árbol ASCII gratis

Convierte una lista con sangría en un árbol de carpetas limpio (├── └──) para READMEs y documentación. Salida Unicode o ASCII puro. Se ejecuta completamente en tu navegador.

Funciona sin conexión una vez cargado
Opciones de importación
Por defecto se omiten node_modules, .git, la salida de compilación y las cachés.

Sangra con espacios o tabulaciones para anidar elementos. Cada nivel más profundo se convierte en un hijo. Añade una nota tras ' # ', ' // ', ' - ' o ' <- ' y se alineará como comentario en el resultado. Pega una lista de rutas (git ls-files, find, dir /s /b) para anidarlas; termina un nombre con / para marcar una carpeta vacía. Al importar o soltar una carpeta o un .zip solo se leen los nombres de archivo, nunca su contenido, y se omiten node_modules, .git y otras carpetas de compilación (consulta Opciones de importación).

Árbol
Estilo de comentario
my-project
├── src
│   ├── components
│   │   ├── Button.tsx
│   │   └── Modal.tsx
│   ├── lib
│   │   └── utils.ts
│   └── index.ts  # entry point
├── public
│   └── favicon.ico
├── package.json
└── README.md

💡 Pega una estructura de carpetas (o cualquier esquema anidado) y obtén un árbol limpio para insertar en un README, un comentario o documentación. Usa el estilo ASCII en entornos que no renderizan caracteres de caja. Todo se ejecuta en tu navegador.

Usos habituales

  • Agregar un árbol de carpetas a un READMEGenera un árbol de estructura de proyecto limpio para documentar tu repositorio.
  • Documentar una estructura de proyectoCrea un árbol de directorios para documentación técnica y wikis.
  • Hacer un árbol para un comentario de códigoGenera un diagrama de estructura para incrustar en comentarios de código fuente.
  • Mostrar un árbol de archivos en una charlaCrea un diagrama de directorios limpio para diapositivas y tutoriales.
  • Convertir un esquema en un árbolVisualiza cualquier esquema anidado — no solo archivos — como un árbol.

Cómo funciona

Documentar una estructura de carpeta en un README normalmente significa dibujar las líneas ├── y └── a mano. Esto las genera a partir de una simple lista con sangría.

  1. 1
    Escribes un esquema con sangría
    Un elemento por línea; sangría con espacios o tabulaciones para anidar. La profundidad de sangría define la jerarquía.
  2. 2
    Se analiza en un árbol
    Un analizador basado en pila convierte la sangría en una estructura anidada, enteramente en tu navegador.
  3. 3
    Se dibujan conectores de árbol
    Se generan guías adecuadas ├──, └── y │ con las líneas verticales correctas llevadas a través de ramas anidadas.
  4. 4
    Copia el resultado
    Elige conectores Unicode o ASCII simple y copia el árbol en tu README, docs o comentario de código.

Una herramienta de texto simple que se ejecuta enteramente en tu dispositivo — no se sube nada.

Guía

Ejemplo práctico

La página se abre con un ejemplo de 12 líneas: "my-project" con "src", "public", "package.json" y "README.md" debajo, y "components", "lib" e "index.ts" bajo "src". Con el estilo predeterminado "├── Unicode", ├── marca un elemento con un hermano debajo, └── marca el último, y │ lleva una rama hacia abajo. Una nota escrita como "index.ts # punto de entrada" sale como "index.ts # punto de entrada", con cada nota alineada en una columna dos espacios después de la línea más larga que tenga una. Pulse "- Markdown" para viñetas anidadas (dos espacios por nivel) o "|-- ASCII" para caracteres simples. Pegar las tres rutas src/app/page.tsx, src/app/layout.tsx y src/lib/utils.ts da src con app (page.tsx, layout.tsx) y lib (utils.ts) debajo.

Qué ajustes usar y los límites

  • Elija el estilo para donde irá el árbol. "├── Unicode" se ve mejor en READMEs y documentos. "|-- ASCII" usa solo caracteres simples, para terminales, registros y comentarios de código donde los caracteres de dibujo de caja pueden no mostrarse. "- Markdown" hace una lista de viñetas. "Descargar" guarda tree.txt, o tree.md en estilo Markdown.
  • Anide con sangrías o pegue rutas. Cada sangría más profunda crea un hijo de la línea superior. Un tabulador cuenta como cuatro espacios, y la tecla Tab en la caja inserta dos espacios (Shift+Tab los elimina; pulse Escape y luego Tab para salir de la caja). También puede pegar una lista de rutas como la salida de git ls-files, find o dir /s /b, con separadores / o \, y se fusionan en un solo árbol. Termine un nombre con / para marcar una carpeta vacía.
  • Añada notas después de un delimitador. Ponga " # ", " // ", " - " o " <- " después de un nombre, con un espacio a cada lado, y el resto de la línea se convierte en una nota, alineada en una columna. "Estilo de comentario" elige si la salida muestra #, // o <--. Un nombre que contenga un espacio, un guion y otro espacio, como "Mi Doc - final.docx", se divide en un nombre y una nota, así que escríbalo sin los espacios alrededor del guion.
  • Ordene carpetas primero y márquelas con una barra. "Carpetas primero" pone las carpetas antes que los archivos en cada nivel y por lo demás mantiene su orden. "Barra final" añade una / después de cada carpeta, es decir, cualquier nombre que tenga hijos o que usted terminó con /.
  • Pegue un árbol para cambiarle el estilo. Si pega texto que ya parece un árbol (líneas con ├──, └──, |-- o +--, incluyendo la salida de tree de Linux y tree /f de Windows), la caja lo convierte en una lista indentada y muestra "Árbol pegado detectado — convertido de nuevo en una lista indentada editable." Luego cambie el estilo, ordene o añada notas. Las líneas de encabezado que imprime Windows, como "Folder PATH listing" y "Volume serial number", se descartan.
  • Importe nombres desde una carpeta o un zip. "Importar carpeta" (oculto en teléfonos), soltar una carpeta en la caja, o "Importar .zip" lee solo los nombres de archivo, nunca el contenido. Bajo "Opciones de importación", "Ignorar nombres (separados por comas, se permite *)" omite node_modules, .git, dist, build, .next, __pycache__, .venv y otras carpetas de compilación habituales por defecto, y "Profundidad máxima" comienza en 7 y va de 1 a 30. La profundidad cuenta las carpetas sobre un archivo, incluyendo la carpeta superior. Una nota indica cuántos archivos se omitieron.

Problemas comunes y cómo solucionarlos

El árbol sale plano, sin ramas.
Nada estaba indentado, así que cada línea se convirtió en su propio elemento de nivel superior. Indente los hijos con espacios o la tecla Tab. La única excepción es una lista de rutas (nombres que contienen / o \), la cual se anida automáticamente, pero solo si ninguna de las líneas está indentada.
Parte de un nombre de archivo aparece como una nota.
Un espacio, luego #, //, - o <-, luego otro espacio inicia una nota. "Mi Doc - final.docx" se convierte en el nombre "Mi Doc" con la nota "final.docx". Elimine los espacios alrededor del guion, como en "Mi Doc-final.docx". Un # o - sin un espacio a ambos lados, como en "C# notes.md", permanece en el nombre.
Dice "No se pudo leer ese .zip. Compruebe que es un archivo zip válido y sin cifrar."
El archivo no pudo abrirse como zip: puede estar dañado, protegido por contraseña o no ser realmente un zip. Haga un zip normal e inténtelo de nuevo. "Ese .zip no tiene entradas." significa que el archivo está vacío.
Faltan archivos después de importar una carpeta.
Mire la nota debajo de la caja, como "12 archivos omitidos (ignorados o demasiado profundos)". Los archivos se omiten cuando algún nombre de carpeta o archivo coincide con "Ignorar nombres", o cuando se encuentran a una profundidad mayor que "Profundidad máxima". Abra "Opciones de importación" y edite la lista o aumente la Profundidad máxima; el cambio se aplica a su última importación a menos que haya editado el texto desde entonces. Además, una carpeta soltada se lee solo hasta unos 50.000 nombres antes de aplicar la lista de ignorados, por lo que un proyecto con un node_modules enorme puede perder archivos reales: use "Importar carpeta" o un zip hecho sin node_modules en su lugar.
Dice "No se pudo leer la carpeta o archivo soltado."
El navegador se negó a listar el elemento soltado. Use "Importar carpeta" en su lugar, o haga un .zip y use "Importar .zip". En teléfonos la opción de carpeta está oculta, así que use un zip allí.

Cómo se compara

Para una carpeta que ya tiene, el comando tree (o tree /f en Windows) en una terminal da un listado exacto en un solo paso, y esta herramienta puede cambiar el estilo de lo que imprime. Use esta herramienta cuando quiera planificar un diseño que aún no existe, mostrar solo parte de una carpeta, añadir notas o cambiar entre Unicode, ASCII y Markdown. Funciona solo con nombres, sin tamaños de archivo, fechas, permisos ni contenidos, y una importación omite las carpetas de compilación comunes a menos que cambie la lista. Entre los estilos, Unicode se lee mejor pero sus caracteres de dibujo de caja pueden no mostrarse en algunos lugares, ASCII es la opción segura para terminales y comentarios de código, y Markdown es para listas que deben renderizarse como viñetas.

Herramientas relacionadas

Preguntas frecuentes