NewRepomix, gitingest, code2prompt and FileConcat, measured over 60 repositoriesruns in your browser, nothing uploaded

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.

or

Paste a public link

Try

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.

before, a plain dump
$ 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,
after, one file
<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>
What the result screen reads out
q3-review.xml
48,212tokens
the file as you will paste it, tree and tags counted too
37files
each in its own tagged block, listed in the tree first
$0.069to send once
at Claude Sonnet 5's input price, from the live catalogue

Copy it, or download it as XML, Markdown or plain text.

Will it fit?

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%)
5,722 tokens5,535,907 tokens
60 public repositories as one file each, median 236,218 tokens

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.

The same PDF page, two readers
left columnright column
FileConcatin reading order
Quarterly results were ahead of plan in both regions.
Margins held despite freight costs.
Outlook: guidance is unchanged for the full year.
Hiring resumes in the third quarter.
independent readercolumns interleaved
Quarterly results were ahead of plan in
Outlook: guidance is unchanged for the
both regions. Margins held despite
full year. Hiring resumes in the third
What happened to your files
2 gaps, 3 notes
extracted31text pulled from pdf, docx, xlsx, pptx
partly read2dates as serial numbers; a footnote out of order
held back1over the size cap, add it from the review list
left out3two images and a lockfile
flagged1scanned page, recognised in the browser (en)
read in the tabdocuments: pdf doc docx odt rtfspreadsheets: xls xlsx odsslides: pptx odpebooks: epubemail: eml msgnotebooks: ipynbsubtitles: vtt srt

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.

What the kept tokens are made of
source code70.7%
documentation8.6%
assets, svg and the like7.1%
configuration6.5%
tests the naming rule misses6.4%
kept tokens pooled over 60 repositories, 28,409 files kept of 39,107

Every default can be overridden, with presets.

src/312 files
.github/workflows/hidden
go.sumlockfile

Measured against the tools you would compare it with.

Four tools over the same 60 repositories, each at its own defaults, one tokenizer.

Signal density, source tokens over bundle tokens
FileConcat68.0%
Repomix49.6%
gitingest51.1%
code2prompt38.8%
the densest bundle on 35 of 60; gitingest on 16, code2prompt 5, Repomix 4

median of the per-repository share

Median bundle, tokens
FileConcat235,672
Repomix239,861
gitingest258,790
code2prompt432,539
the cheapest bundle on 31 of 60; gitingest on 20, code2prompt 5, Repomix 4

fewer tokens only helps if the dropped file did not matter

One source file, then a pdf, a docx, an xlsx and a pptx
FileConcatthe text of all four
Repomixthe source file only
gitingestthree named, none of the text
code2promptthe source file only

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

Reading your files
in this tab
37 / 142 files
  1. finding files142 found
  2. reading37 read
  3. extracting documents9 pdf, 3 docx
  4. filteringdefaults
  5. 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.

folderfileszip, tarGitHub, GitLab, Bitbucket, Gistweb pageclippershell
one bundle, a folder and a clipped thread
<directory_structure>
research/
interview-notes.docx
survey-results.xlsx
clipped/hn-thread-42118.mdfrom the clipper, 61 replies
clipped/yt-transcript.mdfrom the clipper
</directory_structure>
$ 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.

youtube.com/watch
How databases actually store your data
Comments
Browser clipperAlso Reddit and Hacker News threads with every reply, ChatGPT, Claude and Gemini conversations, and any article.

Drop a folder. Get one file.

Read the docs

Built for a destination with a limit: ChatGPT Projects, Claude Projects, Gemini Gems, NotebookLM, or any model at once.