jina-ai/reader converts any URL to LLM-friendly markdown, including support for PDFs and MS Office documents, and provides web search results processed for RAG and agent systems.
Project overview
The project directly addresses the input-preparation bottleneck for LLM pipelines by intelligently routing between headless Chrome and lightweight fetching to extract clean text, and it adds vision-language image captioning so downstream text-only models can reason about page content.
Project type
RAG · AI Search · Infrastructure
Use cases
Knowledge Q&A · Search & Research
Deployment
Refer to project documentation
License
Apache-2.0
Best for
Developers and AI engineers who need to convert web pages, PDFs, and MS Office documents into LLM-friendly markdown for RAG and agent pipelines.
Key capabilities
Converts any URL to LLM-friendly markdown by prepending a simple prefix, intelligently picking between headless Chrome and lightweight fetching.
Parses any URL ending in .pdf using PDF.js and returns it as markdown.
Converts Word, Excel, and PowerPoint documents via LibreOffice and processes them as HTML or PDF.
Captions images on a page using a vision-language model so downstream text-only LLMs can reason about them.
Limitations and risks
The MongoDB-backed SaaS storage layer is not included in this open source branch.
Runs in stateless mode by default with no cache and no rate limiting.
Getting started
Pull the image with docker pull ghcr.io/jina-ai/reader:oss, run it with docker run --rm -p 3000:8081 ghcr.io/jina-ai/reader:oss, then test with curl http://localhost:3000/https://example.com.
Evidence and sources
README: This repository is the open source branch of the codebase behind `https://r.jina.ai` and `https://s.jina.ai`. It runs in stateless or bucket-cached mode; the MongoDB-backed SaaS s…
README: Your LLMs deserve better input. Reader does two things: - **Read**: It converts any URL to an **LLM-friendly** input with `https://r.jina.ai/https://your.url`. Get improved output…
README: **Web pages** — rendered with headless Chrome, or fetched lightweight via `curl-impersonate`. Reader picks intelligently between the two.
README: Behind the scenes, Reader searches the web, fetches the top 5 results, visits each URL, and applies `r.jina.ai` to it.
README: - **PDFs** — any URL, parsed with PDF.js.
AI Search
Find projects, verify facts, compare options, or turn a complex need into an actionable plan
Try a searchA click only fills the search box; you stay in control