File Tree Generator

Paste a list of file paths or an indented outline and get a clean ASCII directory tree for your README or docs. Unicode or plain-ASCII connectors. Runs entirely in your browser, no server, no sign-up.

Tree

What this tool does

Paste a list of file paths or an indented outline and get back a clean ASCII directory tree — the kind you see at the top of a good README. It runs entirely in your browser: nothing is uploaded, it works offline, and there's no sign-up.

Two ways to describe your tree

ModeYou pasteHow it nests
paths (default)One slash-separated path per line, like src/main.rs.Lines sharing a leading path are merged into one tree. A trailing / marks an explicit directory.
outlineOne name per line, indented.A more-indented line becomes a child of the line above. Tabs and spaces both work (a tab counts as 4 columns).

Blank lines are ignored in both modes, so you can space your input out for readability.

Options

Example

paths input:

src/main.rs
src/lib.rs
README.md
docs/guide.md

Output:

.
├── src/
│   ├── main.rs
│   └── lib.rs
├── README.md
└── docs/
    └── guide.md

The same tree in outline mode:

src/
  main.rs
  lib.rs
README.md
docs/
  guide.md

FAQ

Is it free and private?

Yes — your input never leaves your device, and the page keeps working offline once it has loaded.

What's the difference between the two modes?

Use paths when you have a flat list of full paths (e.g. from git ls-files or a find command); the tool merges shared folders for you. Use outline when you'd rather sketch the structure by hand with indentation.

Can I mix tabs and spaces in outline mode?

Yes. A tab counts as 4 columns, so a tab-indented line still nests correctly under a space-indented parent.

How do I mark an empty directory?

Give it a trailing slash (build/). In paths mode any path segment before the last is treated as a directory automatically.

Why ASCII instead of Unicode?

Some terminals, fonts, or documentation pipelines don't render box-drawing characters cleanly — plain-ASCII connectors guarantee the tree looks right everywhere.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool file-tree-generator "src/main.rs
src/lib.rs
README.md
docs/guide.md"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/file-tree-generator/?input=src%2Fmain.rs%0Asrc%2Flib.rs%0AREADME.md%0Adocs%2Fguide.md&mode=paths&root=.&ascii=true&trailing_slash=true&sort=true

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.