Merge all your files into one. Beat the AI upload limit.
Drop a folder, files or an archive. You get one file, its count, and what it costs to send, before you paste.
Drop a folder or files
One file comes back, usually in under a second.
Paste a public link
One file, and an honest count of it.
The tree first, then every file in a tagged block. The count is what the model you picked will charge for.
$ cat notes/* letter.txt ledger.csv Kickoff, 3 March. Scope agreed: FY25 ledger, two entities.Dear Ms Adair, further to our call on Tuesday, please find the engagement terms below.date,account,debit,credit 2025-01-04,1200,4,200.00,
<documents project="q3-review">
<directory_structure>
letter.txt
ledger.csv
notes/kickoff.md
</directory_structure>
<file path="notes/kickoff.md" lang="md">
Kickoff, 3 March. Scope agreed:
FY25 ledger, two entities.
</file>
<file path="ledger.csv" lang="csv">
date,account,debit,credit
2025-01-04,1200,4,200.00,
</file>
</documents>Copy it, or download it as XML, Markdown or plain text.
One bar per public repository, 60 of them, smallest to largest. A bar under a dashed line fits inside that context window.
- 23 of 60 fit 128K (38%)
- 26 of 60 fit 200K (43%)
- 43 of 60 fit 1M (72%)
Documents are read here, and what gets lost is written down.
PDF, Word, Excel and slides become text in the tab. The ledger names what was not read in full.
Drop the whole thing. The defaults are measured.
The list of what gets left out was run over 60 public repositories and changed three times because of what it found.
Every default can be overridden, with presets.
Measured against the tools you would compare it with.
Four tools over the same 60 repositories, each at its own defaults, one tokenizer.
median of the per-repository share
fewer tokens only helps if the dropped file did not matter
in the sample, 7 of 60 checkouts hold a document; only this bundle carries its text
The most aggressive filter of the four. Of a checkout's test tokens the CLI bundle carries a median 15.6% where the other three carry 100%, and nothing under a dot directory. In the browser a held-back file sits in the tree and a tick puts it back.
tests are 47.3% of what Repomix carries and we do not, vendored code 42.7%; hidden source is 0.1% of a checkout's source at p90
- finding files142 found
- reading37 read
- extracting documents9 pdf, 3 docx
- filteringdefaults
- combiningone file
We don't upload your files.
Read, filtered and combined in the tab. No upload, no account. Anonymous usage analytics run; the privacy page says what they see.
Files from anywhere, and a terminal.
Folders, files, archives, a public repository or page URL, or a thread clipped from the browser. The same engine is on npm.
$ npm install -g @fileconcat/cli$ file-concat ./your-folder
The browser tool needs no install. This is for scripts and pipelines.
Clip a YouTube video and get the transcript, not the page.
One click on the watch page. You get the description and the whole transcript with timestamps, and nothing the player or sidebar was showing. Comments are opt-in.
Drop a folder. Get one file.
Built for a destination with a limit: ChatGPT Projects, Claude Projects, Gemini Gems, NotebookLM, or any model at once.