FileConcat benchmarks

FileConcat against other tools on every benchmark we have run. Each row names the version it measured.

Updated / current version FileConcat 2.7

Reads more of a document, and fails on fewer filesEvery tool that ran both document benchmarks
Hard files handled, of 45
Document coverage

Coverage: weighted by real files, mean of 11 formats. Hard files: Files hard to tell apart or hard to decode: legacy encodings, binaries that look like text. All run by us.

FileConcat 2.7 / 2026-10-17 / method

FileConcat by version

Green: FileConcat by release, the dashed line its latest score. Amber: the other tool closest to it.

Documents

Office files, PDFs, email, ebooks and web pages, against Apache Tika and Microsoft markitdown.

Document coverageWeighted by real files, mean of 11 formats, higher is better
90.9
90.9
79.3
72.9
41.5
FileConcat 2.7FileConcat 2.6FileConcat 2.3Tika 3.3.2markitdown 0.1.5

648 constructs in 129 probe files, each weighted by its share of 1,973 real files. All run by us.

FileConcat 2.7 / 2026-10-17 / method

Constructs readOf 648 over 17 formats, unweighted, higher is better
92.7
92.7
67.7
63.7
35.0
FileConcat 2.7FileConcat 2.6Tika 3.3.2FileConcat 2.3markitdown 0.1.5

Every construct counts once, however rare it is in real files. All run by us.

FileConcat 2.7 / 2026-10-17 / method

Hidden text kept outOf 130 hidden or deleted constructs, higher is better
115/130
115/130
97/130
62/130
45/130
FileConcat 2.7FileConcat 2.6FileConcat 2.3Tika 3.3.2markitdown 0.1.5

Tracked deletions, hidden sheets, cookie banners. A format a tool does not read earns nothing here.

FileConcat 2.7 / 2026-10-17 / method

Hard filesHandled, of 45, higher is better
FileConcat 2.745
FileConcat 2.645
markitdown 0.1.541
file 5.4539
Tika 3.3.238
rg 15.2.038
git 2.43.035
FileConcat 2.328

Files hard to tell apart or hard to decode: legacy encodings, binaries that look like text. All run by us.

FileConcat 2.7 / 2026-10-17 / method

Document defects closedOf the 16 found in August, higher is better
16/16
16/16
16/16
13/16
FileConcat 2.7FileConcat 2.6FileConcat 2.2FileConcat 2.0

27 test documents in 12 formats, one structure each: merged cells, spreadsheet dates, scanned pages.

FileConcat 2.7 / 2026-10-17 / method

Coverage by format

The document coverage score above, one format at a time.

FormatFileConcat2.7Tika3.3.2markitdown0.1.5FileConcat2.6FileConcat2.3
Word (docx)200 files / convert81.575.672.381.572.7
Excel (xlsx)200 files / convert86.981.474.186.974.9
PowerPoint (pptx)198 files / convert100.081.984.1100.085.4
PDF195 files / convert72.663.862.372.662.6
Email (eml)124 files100.080.40.0100.085.6
Web page (HTML)198 files98.354.766.498.391.7
Ebook (EPUB)200 files88.459.197.688.473.4
RTF198 files85.676.20.085.673.1
OpenDocument text (odt)199 files90.684.80.090.679.4
OpenDocument sheet (ods)196 files96.563.70.096.589.5
OpenDocument slides (odp)65 files99.779.90.099.783.8
  • Weighted coverage, higher is better. Outlined: best in the row.
  • Email (eml): markitdown printed the raw MIME source, scored 0.
  • Ebook (EPUB): The one format where FileConcat is not first: it misses the author.
  • RTF: markitdown printed the raw control words, scored 0.
  • OpenDocument text (odt): markitdown does not read it.
  • OpenDocument sheet (ods): markitdown does not read it.
  • OpenDocument slides (odp): markitdown does not read it.

FileConcat 2.7 / 2026-10-17 / method

Code repositories

60 public repositories, each tool at its own defaults, one tokenizer.

More of your own code, in a smaller bundleMedian of 60 repositories, each tool at its defaults
Your own code in the bundle, higher is better
Median tokens over 60 repositories, lower is better

Source code as a share of the bundle's tokens. The rest is tests, lockfiles and vendored code. FileConcat runs as its command line tool built from the same release, which skips dot folders the web app keeps. Fewer tokens only helps if the files left out did not matter.

FileConcat 2.7 / 2026-10-17 / method

Densest bundleRepositories won, of 60, higher is better
35/60
16/60
5/60
4/60
FileConcat 2.7gitingest 0.3.1code2prompt 4.2.0Repomix 1.18.0

The tool whose bundle had the highest share of source code on that repository.

FileConcat 2.7 / 2026-10-17 / method

Cheapest bundleRepositories won, of 60, higher is better
30/60
20/60
6/60
4/60
FileConcat 2.7gitingest 0.3.1code2prompt 4.2.0Repomix 1.18.0

The tool with the fewest tokens on that repository.

FileConcat 2.7 / 2026-10-17 / method

Not rerun at 2.7

No release since the version each chart names changed the reader it tests, so these did not run again. Their FileConcat row is from that older version.

PDFolmOCR-bench, 1,403 pages, higher is better
Chandra 0.1.0, GPU83.1%
olmOCR 2, GPU82.4%
Mistral OCR, API72.0%
Marker 1.10.1, CPU43.6%
FileConcat 2.640.1%
FileConcat 2.140.0%
LiteParse38.9%
anydoc30.9%
FileConcat 2.025.7%

Tests passed, mean of 8 parts. GPU and API rows from allenai's table, Marker from its README, the rest run by us.

FileConcat 2.6, not rerun at 2.7 / 2026-10-17 / method

Saved web pagesArticle text F1, 181 pages, higher is better
rs-trafilatura97.0%
AutoExtract97.0%
Trafilatura 2.0.095.8%
Readability94.7%
FileConcat 2.193.7%
FileConcat 2.693.6%
all page text66.5%
FileConcat 2.08.8%

Zyte's article extraction benchmark at commit 4a3bc97. Other readers: their published outputs.

FileConcat 2.6, not rerun at 2.7 / 2026-10-17 / method

ArchivesEvery text file exact, of 26, higher is better
25/26
25/26
24/26
21/26
8/26
FileConcat 2.6FileConcat 2.17-Zip wasmlibarchiveFileConcat 2.0

One archive per case readers get wrong: zip64, non-ASCII names, tar dialects, 7z. All run by us.

FileConcat 2.6, not rerun at 2.7 / 2026-10-17 / method

How this page is kept

Every release runs the document benchmarks again. The PDF, web page, archive and repository benchmarks run again when a release changes the reader they test. Each new FileConcat row joins the older ones, so every chart is also its own history. A new method starts a new chart. The linked studies keep the numbers they were published with.

Your files are not uploaded to us, the whole thing runs in your browser.