Local RAG: converting documents without uploading them
Local RAG converts documents into chunks and embeddings on your own machine rather than a server, which for a quick conversion is both faster in practice and the only version where confidential files never leave your control.
What local actually means
It means the parsing, chunking and embedding happen where the file already is. No upload, no queue, no copy of your document sitting in someone's storage bucket waiting to be deleted. The distinction matters most for the documents people most want to convert: contracts, medical records, financial statements, unreleased research.
The browser is a real runtime now
The usual assumption is that local means installing something. It does not. A modern browser runs WebAssembly at close to native speed, has a file picker that can hand over an entire folder, and can hold a corpus in memory. RAG Converter parses PDF, Word, PowerPoint and Excel in the tab, and reads images with an OCR engine compiled to WebAssembly - none of which existed as a practical option a few years ago.
For a quick conversion it is usually faster
A hosted converter has to receive the file before it can start. For a folder of documents that upload is often longer than the conversion, and it is paid before any work begins. Locally the bytes are already there, so a handful of documents is done in the time an upload would still be running.
Where local genuinely runs out
Two places, and being honest about them is the point. WebAssembly is limited to a 4 GB address space, so a very large page or a long batch of images can exhaust it - we measured a single 1.2 megapixel page taking a wasm module from 128 MB to 1.6 GB. And a browser cannot demux a video. Those are the jobs worth sending to a server; a folder of documents is not.
What you should get out of it
The same thing either way: chunks.jsonl with one object per passage, and a manifest saying how many files were read, which were skipped and why, and what produced the vectors. If a local tool gives you less than a hosted one, the locality is not the reason.