Introduction

FileConcat is a privacy-first tool that packs the files you pick into a single LLM-ready blob. The output is one XML, Markdown, or plain-text document you can paste into Claude, ChatGPT, Gemini, or any other assistant that takes long-form context.

What it gives you

  • A single page at fileconcat.com for drag, drop, filter, and copy.
  • A published npm CLI (pnpm add -g @fileconcat/cli, or npx @fileconcat/cli) for the same flow from a shell.
  • Live token counting against the tokenizer most modern LLMs use, so you know how much of your context window the output consumes before you paste it.
  • Text extraction from documents — drop a PDF, Word, Excel, PowerPoint, or OpenDocument file and its text is pulled out and included automatically, entirely in the browser (nothing is uploaded).
  • The same for files that are technically text but unreadable as text: a Jupyter notebook arrives as markdown instead of JSON wrapped around base64 plots, an .srt or .vtt caption track arrives as the transcript instead of a timestamp every two seconds, and a saved .eml message arrives as the correspondence instead of MIME boundaries and base64 attachments.

How it works

Everything runs in your browser. There is no upload step, no intermediate server, and no telemetry on the files you process. The core library (@fileconcat/core) is the same in the web app and the CLI; what differs is the surface you drive it from.

Supported sources

You can feed FileConcat from any of these:

  • Local files and folders, by drag-and-drop or file picker
  • GitHub repositories, including subdirectories
  • GitHub Gists
  • GitLab repositories, including nested groups
  • GitLab Snippets
  • Bitbucket repositories
  • Any other public URL via the URL fallback adapter

Next steps