Folder Tree Visualizer
Text
Each line's leading whitespace decides its depth. Anything with children becomes a folder (gets a trailing `/`); leaves stay as files. The output uses the `├──`, `└──`, `│` box-drawing characters every modern terminal renders correctly. Supports 2-space, 4-space, or tab indentation.
project/ ├── src/ │ ├── components/ │ │ ├── Header.tsx │ │ └── Footer.tsx │ ├── lib/ │ │ └── utils.ts │ └── index.ts ├── public/ │ ├── favicon.ico │ └── robots.txt ├── package.json └── README.md
The output uses Unicode box-drawing characters — they render in every modern terminal and on GitHub.
How to use
- Paste your indented list. Use either spaces (2 or 4 per level) or a single tab per level.
- Pick the indent width that matches your source.
- Toggle the trailing slash on directories if you want it.
Frequently asked questions
- What if I have a mix of tabs and spaces?
- Pick whichever was the dominant choice — the parser only honours one. If your input is mixed, fix it first or use a regex find-replace before pasting.
- Why does the trailing slash matter?
- It makes the file / folder distinction obvious in plain text. GitHub READMEs, terminal documentation, and IDE file-tree screenshots all use it.
Related tools
URL Slug Generator
Turn any text into a clean URL slug — strip accents, choose a separator, set a max length.
Markdown Table Generator
Paste CSV, TSV, or pipe-delimited data and get a properly aligned GitHub-flavored Markdown table.
Text Diff Viewer
Compare two pieces of text and see line-by-line or word-by-word additions and removals.
Lorem Ipsum Generator
Generate placeholder text by paragraphs, sentences, or words.
Case Converter
Convert text between UPPER, lower, Title, camelCase, snake_case and more.
Character & Word Counter
Count characters, words, sentences, lines, and bytes in real time.