Saltar para o conteúdo principal
LibraTool logoLibraTool

Gerador de Árvore ASCII grátis

Transforme uma lista indentada em uma árvore de pastas limpa (├── └──) para READMEs e documentos. Saída em Unicode ou ASCII puro. Executa inteiramente no seu navegador.

Funciona offline depois de carregado
Opções de importação
Por padrão, ignora node_modules, .git, saídas de build e caches.

Indente com espaços ou tabs para aninhar itens. Cada nível mais profundo vira um filho. Adicione uma nota depois de ' # ', ' // ', ' - ' ou ' <- ' e ela será alinhada como comentário na saída. Cole uma lista de caminhos (git ls-files, find, dir /s /b) para aninhá-los; termine um nome com / para marcar uma pasta vazia. Importar ou soltar uma pasta ou .zip lê apenas os nomes dos arquivos, nunca o conteúdo, e ignora node_modules, .git e outras pastas de build (veja Opções de importação).

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

💡 Cole uma estrutura de pastas (ou qualquer esboço aninhado) e obtenha uma árvore limpa para inserir em um README, comentário ou documentação. Use o estilo ASCII em ambientes que não renderizam caracteres de desenho de caixa. Tudo roda no seu navegador.

Usos comuns

  • Adicionar uma árvore de pasta a um READMEGere uma árvore de estrutura de projeto limpa para documentar seu repositório.
  • Documentar uma estrutura de projetoCrie uma árvore de diretório para documentação técnica e wikis.
  • Fazer uma árvore para um comentário de códigoGere um diagrama de estrutura para incorporar em comentários de código-fonte.
  • Mostrar uma árvore de arquivo em uma conversaCrie um diagrama de diretório limpo para slides e tutoriais.
  • Transformar um esboço em uma árvoreVisualize qualquer esboço aninhado — não apenas arquivos — como uma árvore.

Como funciona

Documentar uma estrutura de pastas em um README geralmente significa desenhar as linhas ├── e └── à mão. Esta ferramenta as gera a partir de uma lista simples indentada.

  1. 1
    Você digita um esboço indentado
    Um item por linha; indente com espaços ou tabulações para aninhar. A profundidade da indentação define a hierarquia.
  2. 2
    Isso é analisado em uma árvore
    Um analisador baseado em pilha transforma a indentação em uma estrutura aninhada, inteiramente no seu navegador.
  3. 3
    Os conectores de árvore são desenhados
    Os guias ├──, └── e │ adequados são gerados, com as linhas verticais corretas levadas através de ramos aninhados.
  4. 4
    Copie o resultado
    Escolha conectores Unicode ou ASCII simples e copie a árvore para seu README, documentos ou comentário de código.

Um utilitário de texto simples que funciona inteiramente no seu dispositivo — nada é enviado.

Guia

Exemplo prático

A página abre com um exemplo de 12 linhas: "meu-projeto" com "src", "public", "package.json" e "README.md" abaixo dele, e "components", "lib" e "index.ts" abaixo de "src". Com o estilo padrão "├── Unicode", ├── marca um item com um irmão abaixo, └── marca o último, e │ conduz um ramo para baixo. Uma nota digitada como "index.ts # ponto de entrada" sai como "index.ts # ponto de entrada", com cada nota alinhada em uma coluna dois espaços após a linha mais longa que tem uma. Pressione "- Markdown" para marcadores aninhados (dois espaços por nível) ou "|-- ASCII" para caracteres simples. Colar os três caminhos src/app/page.tsx, src/app/layout.tsx e src/lib/utils.ts resulta em src com app (page.tsx, layout.tsx) e lib (utils.ts) abaixo dele.

Quais configurações usar e os limites

  • Escolha o estilo para onde a árvore irá. "├── Unicode" fica melhor em READMEs e documentos. "|-- ASCII" usa apenas caracteres simples, para terminais, logs e comentários de código onde caracteres de desenho de caixa podem não aparecer. "- Markdown" faz uma lista de marcadores. "Baixar" salva arvore.txt, ou arvore.md no estilo Markdown.
  • Aninhe com recuos ou cole caminhos. Cada recuo mais profundo torna-se um filho da linha acima. Uma tabulação conta como quatro espaços, e a tecla Tab na caixa insere dois espaços (Shift+Tab os remove; pressione Escape e depois Tab para sair da caixa). Você também pode colar uma lista de caminhos como a saída de git ls-files, find ou dir /s /b, com separadores / ou \, e eles se fundem em uma árvore. Termine um nome com / para marcar uma pasta vazia.
  • Adicione notas após um delimitador. Coloque " # ", " // ", " - " ou " <- " após um nome, com um espaço em cada lado, e o resto da linha torna-se uma nota, alinhada em uma coluna. "Estilo de comentário" escolhe se a saída mostra #, // ou <--. Um nome que contém um espaço, um hífen e outro espaço, como "Meu Doc - final.docx", é dividido em um nome e uma nota, então escreva-o sem os espaços ao redor do hífen.
  • Ordene pastas primeiro e marque pastas com uma barra. "Pastas primeiro" coloca pastas antes de arquivos em cada nível e, caso contrário, mantém sua ordem. "/ ao final" adiciona uma / após cada pasta, ou seja, qualquer nome que tenha filhos ou que você terminou com /.
  • Cole uma árvore para reestilizá-la. Se você colar texto que já se parece com uma árvore (linhas ├──, └──, |-- ou +--, incluindo saída do tree do Linux e tree /f do Windows), a caixa o converte em uma lista recuada e mostra "Árvore colada detectada — convertida de volta para uma lista recuada editável." Então mude o estilo, ordene ou adicione notas. As linhas de cabeçalho que o Windows imprime, como "Folder PATH listing" e "Volume serial number", são descartadas.
  • Importe nomes de uma pasta ou de um zip. "Importar pasta" (oculto em celulares), soltar uma pasta na caixa ou "Importar .zip" lê apenas nomes de arquivos, nunca conteúdos. Em "Opções de importação", "Ignorar nomes (separados por vírgula, * permitido)" pula node_modules, .git, dist, build, .next, __pycache__, .venv e outras pastas de build usuais por padrão, e "Profundidade máxima" começa em 7 e vai de 1 a 30. A profundidade conta as pastas acima de um arquivo, incluindo a pasta superior. Uma nota diz quantos arquivos foram pulados.

Problemas comuns e como resolvê-los

A árvore sai plana, sem ramos.
Nada foi recuado, então cada linha tornou-se seu próprio item de nível superior. Recue os filhos com espaços ou a tecla Tab. A única exceção é uma lista de caminhos (nomes contendo / ou \), que é aninhada para você, mas apenas se nenhuma das linhas estiver recuada.
Parte de um nome de arquivo aparece como uma nota.
Um espaço, então #, //, - ou <-, então outro espaço inicia uma nota. "Meu Doc - final.docx" torna-se o nome "Meu Doc" com a nota "final.docx". Remova os espaços ao redor do hífen, como em "Meu Doc-final.docx". Um # ou - sem um espaço em ambos os lados, como em "C# notes.md", permanece no nome.
Diz "Não foi possível ler esse .zip. Verifique se é um arquivo zip válido e não criptografado."
O arquivo não pôde ser aberto como um zip: pode estar danificado, protegido por senha ou não ser realmente um zip. Faça um zip normal e tente novamente. "Esse .zip não tem entradas." significa que o arquivo está vazio.
Arquivos estão faltando após importar uma pasta.
Veja a nota abaixo da caixa, como "12 arquivos ignorados (ignorados ou profundidade excessiva)". Arquivos são ignorados quando qualquer nome de pasta ou arquivo corresponde a "Ignorar nomes", ou quando estão mais profundos que a "Profundidade máxima". Abra "Opções de importação" e edite a lista ou aumente a Profundidade máxima; a alteração é aplicada à sua última importação, a menos que você tenha editado o texto desde então. Além disso, uma pasta solta é lida apenas até cerca de 50.000 nomes antes que a lista de ignorados seja aplicada, então um projeto com um node_modules enorme pode perder arquivos reais: use "Importar pasta" ou um zip feito sem node_modules.
Diz "Não foi possível ler a pasta ou arquivo solto."
O navegador se recusou a listar o item solto. Use "Importar pasta" em vez disso, ou faça um .zip e use "Importar .zip". Em celulares a opção de pasta está oculta, então use um zip lá.

Como se compara

Para uma pasta que você já tem, o comando tree (ou tree /f no Windows) em um terminal fornece uma listagem exata em um passo, e esta ferramenta pode reestilizar o que ele imprime. Use esta ferramenta quando quiser planejar um layout que ainda não existe, mostrar apenas parte de uma pasta, adicionar notas ou alternar entre Unicode, ASCII e Markdown. Ela funciona apenas com nomes, sem tamanhos de arquivo, datas, permissões ou conteúdos, e uma importação pula pastas de build comuns, a menos que você mude a lista. Entre os estilos, Unicode é o mais legível, mas seus caracteres de desenho de caixa podem não aparecer em alguns lugares, ASCII é a escolha segura para terminais e comentários de código, e Markdown é para listas que devem ser renderizadas como marcadores.

Ferramentas relacionadas

Perguntas frequentes