Self-hosted Spring Boot service that renders online previews of Office, PDF, CAD, 3D, media, archive and many other file formats.
IceWhaleTech/filens
Open-source, browser-local viewer and Agent CLI for reading, searching, OCR-ing and previewing 300+ file formats, including Office, iWork, PDF, CAD and 3D.
- Stars
- 199
- Forks
- 8
- Open issues
- 0
- Last commit
- 2 days ago
What is it?
filens is a project with two parts. The Agent CLI, built in Rust, reads PDFs, Office documents, spreadsheets, scans and images on the local machine, searches directories and nested archives, extracts key passages with page coordinates, finds duplicate files and similar images, and outputs text, JSON, Markdown, CSV and other formats. Its installation includes OCR through RapidOCR, with a Lite variant that adds OCR later.
The second part is a pure frontend preview library, distributed as the npm package filens-preview and a Vue component. It renders Office, iWork (Keynote, Pages, Numbers), PDF, CAD (DXF, STEP), 3D meshes, RAW photos, 360° panoramas, archives and ebooks in the browser using WebAssembly, with no upload or conversion server. It ships as split modules or as a single JS file, and it also has an offline HTML export through the CLI.
Format fidelity and limits differ by type, and the project documents them in a support matrix. Macros are stripped from legacy Office previews, and STEP previews omit source colors and assembly trees.
Key features
- 01Reads and searches PDFs, Office files, spreadsheets, scans and images locally from the command line.
- 02Searches nested archives and extracts key original passages without a model.
- 03Finds duplicate files and similar images.
- 04Exports output as text, JSON, Markdown, HTML, CSV, YAML or XML.
- 05Previews Office, iWork, PDF, CAD, 3D, RAW and 360° files in the browser with no server.
- 06Provides an npm package, a Vue component, and an offline single-file HTML export.
Use cases
- Giving an AI Agent the source text, search results and cited passages from local documents.
- Embedding document, CAD or 3D previews in a web application without a conversion backend.
- Previewing Keynote, Pages or Numbers files on platforms without Apple apps.
- Finding duplicate files and similar photos across a folder tree.
Quick start
- 1
Install the Full CLI globally with npm
npm install -g filens-cli - 2
Read a PDF as JSON
filens 'read "report.pdf" as json' - 3
Create an offline browser preview of a file
filens preview report.pdf
Things to know
- Windows and Linux native execution is still pending validation.
- Natural-language requests recognize only a bounded set of intents.
- The Full CLI bundles OCR models, so the installed size is about 31 MiB.
In collections
Topics
FAQ
- What is filens?
- Open-source, browser-local viewer and Agent CLI for reading, searching, OCR-ing and previewing 300+ file formats, including Office, iWork, PDF, CAD and 3D. filens is a project with two parts. The Agent CLI, built in Rust, reads PDFs, Office documents, spreadsheets, scans and images on the local machine, searches directories and nested archives, extracts key passages with page coordinates, finds duplicate files and similar images, and outputs text, JSON, Markdown, CSV and other formats. Its installation includes OCR through RapidOCR, with a Lite variant that adds OCR later.
- Is filens free to use? What license does it have?
- filens is open source under the MIT license. Check the license terms before using it in commercial products.
- Is filens still maintained?
- Actively maintained. The last commit to filens was on Nov 5, 2026.
- What can I use filens for?
- Giving an AI Agent the source text, search results and cited passages from local documents. Embedding document, CAD or 3D previews in a web application without a conversion backend. Previewing Keynote, Pages or Numbers files on platforms without Apple apps. Finding duplicate files and similar photos across a folder tree.
- How do I install filens?
- Install the Full CLI globally with npm: npm install -g filens-cli Read a PDF as JSON: filens 'read "report.pdf" as json' Create an offline browser preview of a file: filens preview report.pdf
- Where can I get filens?
- The source code and installation instructions are on GitHub: https://github.com/IceWhaleTech/filens
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Python utility that converts PDFs, Office documents, HTML, images, audio and more into Markdown for LLM and text analysis pipelines.
Open-source document parser that converts PDFs, Office files and images into Markdown or JSON for LLM and agent workflows.
Open-source document parser that converts PDF, Office, HTML and other files into structured data for generative AI pipelines.
Baidu's open-source vision-language OCR model that parses long, multi-page documents and PDFs into structured text in one pass.
Open-source PDF parser that turns PDFs into Markdown, JSON with bounding boxes, and HTML for AI pipelines, and auto-tags untagged PDFs into Tagged PDFs.