Visual RAG pipeline that retrieves over screenshot tiles instead of parsed text, preserving tables, charts, and layout for more accurate document search.
What it does
PixelRAG is a visual RAG pipeline from Berkeley SkyLab that renders web pages and PDFs as screenshot tiles, then retrieves over those images directly. It preserves tables, charts, and layout that HTML parsing discards, using a LoRA-fine-tuned Qwen3-VL-Embedding model for visual search.
Text-based RAG silently drops tables, charts, and layout when it parses HTML to plain text. PixelRAG skips parsing entirely: it renders every document as screenshot tiles and retrieves over the images, so a reader model sees the data exactly as it appears on the page.
The pipeline comes from Berkeley SkyLab, BAIR, and Berkeley NLP. Its core claim, per the README title, is that "web screenshots beat text for retrieval-augmented generation." The key insight: visual structure carries meaning that no parser preserves.
Two components do the work. First, pixelshot renders any URL or PDF into tiled screenshots via headless Chromium (Playwright/CDP). Second, a Qwen3-VL-Embedding-2B model, LoRA-fine-tuned on screenshot data and published at Chrisyichuan/wiki-screenshot-embedding-lora, embeds those tiles into a FAISS index where visual content is directly retrievable.
The pipeline stages are modular: render, chunk, embed, build-index, and serve each install independently. The hosted api.pixelrag.ai endpoint ships a pre-built index of 8.28M Wikipedia articles, free and keyless. Downloading the base FAISS index locally clocks in at roughly 217 GB.
The pixelbrowse Claude Code plugin wires pixelshot directly into Claude Code sessions. No MCP server, no backend: Claude calls pixelshot locally and reads the resulting image, so it sees charts and tables the same way a person does. Install with claude plugin install pixelbrowse@pixelrag-plugins after putting pixelshot on your PATH via uv tool install pixelrag.
The search API also accepts image queries and hybrid text-plus-image queries, making it usable for visual-similarity search, not just text-to-screenshot retrieval.
Indexing your own documents requires Python 3.12+ and a GPU (or Apple Silicon) for reasonable speed, the README cites roughly 3 minutes on Apple M-series and 1 minute on GPU for a single PDF. The base Wikipedia FAISS index is around 217 GB, so self-hosting it demands significant disk. The bundled headless Chrome only auto-installs on linux-x64; macOS and Windows need a system Chrome or Playwright's Chromium.
PixelRAG is the right reach when your documents are visually rich and text parsers fail you. The hosted Wikipedia endpoint lets you validate the approach in minutes, and the modular CLI means you can swap in only the stages your project actually needs.
Features
Field notes
Reviewed Jun 26, 2026
Best for
Builder outcomes
Watch out
Tested with
PixelRAG is a visual retrieval-augmented generation pipeline that renders documents as screenshot tiles and retrieves over those images, rather than parsing text. Standard RAG pipelines parse HTML or PDF to plain text, discarding tables, charts, and visual layout in the process. PixelRAG keeps that structure intact by treating every page as an image, then using a vision-language embedding model to match queries against the visual content. It was developed at Berkeley SkyLab, BAIR, and Berkeley NLP.
Install the base package with `pip install pixelrag` (requires Python 3.12+), which gives you the `pixelshot` CLI for rendering pages to tiles. For a full local pipeline, install the index extra with `pip install 'pixelrag[index]'`, write a `pixelrag.yaml` config pointing at your documents, run `pixelrag index build`, then serve with `pixelrag serve`. You can also query the hosted Wikipedia index immediately, no setup or API key needed, via `curl -X POST https://api.pixelrag.ai/search`.
Yes, PixelRAG is released under the Apache-2.0 license and the full codebase is on GitHub. The hosted `api.pixelrag.ai` endpoint serving 8.28M Wikipedia pages is also free and requires no API key. Self-hosting your own index requires your own hardware and roughly 217 GB of disk for the base Wikipedia FAISS index.
PixelRAG is strongest when your documents are visually dense: pages with tables, charts, infographics, or layouts that text parsers would mangle. It is also a good fit for giving Claude Code visual browsing capability via the `pixelbrowse` plugin, letting Claude see charts and diagrams the way a person does instead of reading raw HTML. The hosted Wikipedia API makes it easy to validate the approach on a real-world scale before committing to a self-hosted index.
Text-based RAG converts documents to plain text chunks, which silently drops tables, charts, and layout; PixelRAG renders to screenshot tiles and retrieves the images directly, preserving that visual structure. The tradeoff is infrastructure: PixelRAG requires a vision-language embedding model (Qwen3-VL-Embedding-2B), a FAISS index, and a rendering step, whereas text RAG pipelines are lighter to self-host. Per the README's research title, the Berkeley team found that screenshot-based retrieval beats text retrieval for web documents.
PixelRAG requires Python 3.12+ and works best with a GPU or Apple Silicon for embedding at reasonable speed, the README notes roughly 3 minutes per PDF on Apple M-series and 1 minute on GPU. The bundled turbo headless Chrome auto-installs only on linux-x64; macOS and Windows users need a system Chrome or Playwright's Chromium already installed. Downloading the base Wikipedia FAISS index locally is approximately 217 GB, making full self-hosting storage-intensive. The training environment pins specific versions (torch 2.9.1, transformers 4.57.1) in a separate project, though you do not need to retrain to use the published adapters.
Zhifei Li@andylizf
“@sunilmallya Fair question. Different job, really. Screenshot browser agents use the image to act: where to click, what to type, on one live page. It's a per-session action loop. PixelRAG uses pixels to retrieve. We train a visual embedding…”
Open-source Projects@the_osps
“PixelRAG renders documents as screenshots and retrieves over images directly, keeping visual structure like tables and charts intact for RAG.”
奶牛叔@wwtlitee
“还在为 RAG 总是漏掉图表和布局信息抓狂吗? 纯文本切块简直是在谋杀视觉上下文,表格变乱码,信息图直接蒸发,心塞! 但现在有了 PixelRAG,这波操作直接颠覆认知:它把网页、PDF 统统渲染成截图,然后按“脸”检索!”
Free browser tool and Python package that converts images and videos into 13 art styles (ASCII, pixel art, voxel, halftone, LEGO, glitch, and more) with real-time effects and up to 4x export resolution.
Best for Designers creating stylized posters or visual assets using ASCII, pixel art, voxel, mosaic, halftone, glitch, or LEGO stylesAuto-generated, pixel-perfect skeleton screens for React, Vue, Svelte, Angular, and React Native, no manual placeholders needed.
Best for Teams tired of skeleton screens drifting out of sync after UI changesOpen-source autonomous AI pentester for web apps and APIs, analyzes your source code and runs real exploits, for developers and security engineers.
Best for Teams shipping code daily who need on-demand, proof-driven pentesting between annual engagementsAnatomia, CLI harness that gives AI coding agents a verifiable pipeline and proof chain, not just prompts. MIT-licensed, works with Claude Code, Codex, and more.
Open Design is the open-source, local-first Claude Design alternative for builders who want agent-native design, prototypes, decks, and video, without a vendor lock-in.
Best for Developers who want to generate design artifacts from a brief using their existing coding agentWebGL glass-effect library for the web, apply realistic refraction, blur, and lighting to any HTML element with a single async init call.
Best for Portfolio heroes, product landing pages, and OS-style UI shells needing physically accurate glass effects