ASCII Folder Tree Generator
Turn an indented folder list into an ASCII or Unicode directory tree you can paste into a README.
ASCII tree
Type an indented list above to see the tree instantly.
How it works
Type or paste a folder listing where each level is indented one step further than its
parent, and the generator turns it into the classic tree-command diagram as
you type. Indentation is measured per line and matched against the enclosing levels with
a stack, so it works with two spaces, four spaces or tabs (a tab counts as four columns)
and does not mind if the depth is uneven between branches. Blank lines are ignored, and a
name you write with a trailing / is treated as a folder even when it is empty.
The Unicode style uses the box-drawing characters from the Unicode Box Drawing block
(U+2500 to U+257F): โโโ (U+251C) for a sibling that has more after it,
โโโ (U+2514) for the last child, and โ (U+2502) plus three
spaces to carry an open branch down the page. The pure ASCII style swaps those for
|-- and `--, which is safer inside code
comments, commit messages and terminals with a limited font. Everything runs in
JavaScript on your device: nothing about your project structure is uploaded, so internal
client and repository names stay private.
Frequently asked questions
How do I make an ASCII folder tree for my README?
Type or paste your folders and files as an indented list, one per line, indenting each level one step further than its parent. The tree is drawn instantly below with the same connectors the tree command uses, and Copy tree or Download .txt takes the result straight into your README, commit message or documentation.
What is the difference between the Unicode and pure ASCII styles?
The Unicode style uses the box-drawing characters from the Unicode Box Drawing block, U+251C U+2500 U+2500 for a branch and U+2514 U+2500 U+2500 for the last child, which is what GNU tree prints. The pure ASCII style swaps them for |-- and `--, which stays readable in terminals, plain-text files and fonts that have no box-drawing glyphs.
How does the generator know which entries are folders?
An entry that has anything indented under it is a folder, and so is any name you write with a trailing slash, which lets you show empty directories such as public/ or dist/. Folders get a trailing / in the output, and you can switch that marker off with the checkbox if you prefer bare names.