Directory Tree View

Paste a du, find, or CSV file listing and get a clean indented tree with per-folder sizes rolled up and file/sub-directory counts — like tree -s -h --du. Runs entirely in your browser, no upload, no sign-up.

Try:
Tree

What this tool does

Paste a file listing — one line per entry, each carrying a path and a byte size — and get back a clean indented directory tree with sizes rolled up into per-folder totals, plus a file/sub-directory count on each folder. It's the tree -s -h --du view of a listing you already have. Everything runs in your browser: nothing is uploaded, it works offline, and there's no sign-up.

Your browser can't scan a folder on disk, so instead of pointing at a folder you paste a listing you generate once on the command line (or export from a spreadsheet). Three common shapes are understood automatically:

Where it comes fromExample lineFormat
du -ab1024⇥src/main.rssize, a tab, then the path
find . -printf '%s\t%p\n'1024⇥src/main.rssize, a tab, then the path
CSV / spreadsheet exportsrc/main.rs,1024path, a comma, then the size

Leave Line format on auto to detect each line, or force size-first / path-first if your paths contain commas or spaces. Sizes may include unit suffixes (4K, 1.5M, 2MiB, 500KB).

How sizes roll up

Every file's bytes are added into the cumulative total of each folder above it — the same --du accounting tree and du use. If your listing also includes the directory lines themselves (as du -a does), they're recognised as directories and recomputed from their contents instead of being double-counted.

Options

Example

A du -ab-style listing:

1024	src/main.rs
3072	src/lib.rs
512	README.md
4096	docs/guide.md

becomes:

.  8.5K  (4 files, 2 dirs)
├── docs/  4.0K  (1 files, 0 dirs)
│   └── guide.md  4.0K
├── src/  4.0K  (2 files, 0 dirs)
│   ├── lib.rs  3.0K
│   └── main.rs  1.0K
└── README.md  512B

8.5K total · 2 directories · 4 files

FAQ

Why do I paste a listing instead of choosing a folder?

A web page can't read files off your disk, so there's nothing to point at a folder. Instead you generate a listing once — du -ab > list.txt, find . -printf '%s\t%p\n', or a CSV export — and paste it here. The tree, sizes, and counts are all computed locally in your browser.

How do I generate a listing my system understands?

Any of these work, since auto detects the shape: du -ab . (bytes, then a tab, then the path), find . -type f -printf '%s\t%p\n', or a path,size CSV from a spreadsheet. Sizes may carry suffixes like 4K or 1.5M.

What does "sizes roll up" mean?

Each folder's size is the sum of everything inside it, the same way tree --du and du report directory usage. A file counts toward every folder on its path up to the root, so the top line shows the grand total.

My listing includes directory lines too — will sizes be doubled?

No. du -a prints a line for each directory as well as each file. When a listed path turns out to have children, it's treated as a directory and its size is recomputed from its contents, so the directory line doesn't double-count.

What's the difference between human, SI, and bytes units?

human uses 1024-based units (1.0K = 1024 bytes), like tree -h. si uses 1000-based units (1.0k = 1000 bytes), like tree --si. bytes prints the exact byte count with thousands separators, like tree -s.

Is it free and private?

Yes — your listing never leaves your device, and the page keeps working offline once it has loaded. There's no upload, account, or tracking.

Developer & Automation Access

Run it from the terminal

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

gizza tool directory-tree-view "1024	src/main.rs
3072	src/lib.rs
512	README.md
4096	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/directory-tree-view/?input=1024%09src%2Fmain.rs%0A3072%09src%2Flib.rs%0A512%09README.md%0A4096%09docs%2Fguide.md&format=auto&units=human&sort=name&root=.&ascii=true&dirs_first=true&trailing_slash=true&show_counts=true&depth=0

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