whatisgithub

What is zerox?

getomni-ai/zerox — explained in plain English

Analysis updated 2026-06-24

12,230TypeScriptAudience · developerComplexity · 3/5Setup · moderate

In one sentence

Zerox converts PDFs and documents into clean Markdown or structured data by rendering each page as an image and sending it to an AI vision model, handling complex layouts, tables, and charts that standard text extraction misses.

Mindmap

mindmap
  root((zerox))
    What it does
      PDF to Markdown
      Structured extraction
      Image-based OCR
    AI Providers
      OpenAI
      Azure OpenAI
      AWS Bedrock
      Google Gemini
    Interfaces
      Node.js package
      Python package
    Use Cases
      Invoice parsing
      Research papers
      Table extraction
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Convert a batch of PDF invoices into structured JSON by giving Zerox a schema of the fields you want extracted.

USE CASE 2

Turn PDF research papers or reports into Markdown so you can feed them into an AI chatbot or search index.

USE CASE 3

Process scanned documents with complex tables into clean Markdown that preserves the table structure accurately.

USE CASE 4

Run parallel page processing on large documents to speed up conversion of multi-hundred-page PDFs.

What is it built with?

TypeScriptPythonNode.js

How does it compare?

getomni-ai/zeroxformbricks/formbricksillacloud/illa-builder
Stars12,23012,22112,247
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderatemoderate
Complexity3/53/53/5
Audiencedeveloperpm founderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires GraphicsMagick and Ghostscript (Node.js version) or Poppler (Python version), plus an API key for an AI provider.

So what is it?

Zerox is a library for turning documents into text that AI systems can easily read and work with. The core problem it solves is that PDFs and other document formats often have complex layouts, tables, charts, and mixed content that traditional text extraction tools struggle to handle accurately. Zerox gets around this by converting each page of a document into an image and then sending those images to an AI vision model, which reads the visual content and returns it as Markdown, a simple text format that preserves headings, tables, and lists. The workflow is straightforward: you point the library at a file (PDF, Word document, or image), it converts the file into a sequence of page images, sends each image to an AI model with a request to describe the content as Markdown, and then combines all the responses into a single output. You can also use it to extract structured data by providing a schema, which tells the AI exactly which fields to pull from the document and what format they should be in. Zerox is available as both a Node.js package (installed via npm) and a Python package (installed via pip). Both versions support several AI providers including OpenAI, Azure OpenAI, AWS Bedrock, and Google Gemini. The Node.js version has a few additional features not yet in the Python version, such as structured per-page extraction, automatic orientation correction, and edge trimming. Processing multiple pages in parallel is supported in both versions via a concurrency setting. Installation requires a couple of supporting tools for the PDF conversion step. The Node.js version needs GraphicsMagick and Ghostscript, the Python version needs Poppler. Both of these are standard open-source utilities available through package managers on most operating systems. The README includes example code showing how to call the library with a file URL or a local path, a full list of configuration options, and a sample of the structured output the library returns for each page. A hosted demo is available on the Omni AI website for trying out the OCR without installing anything.

Copy-paste prompts

Prompt 1
Show me how to use the Zerox Node.js package to convert a local PDF to Markdown using the OpenAI vision model.
Prompt 2
How do I use Zerox to extract structured fields, invoice number, date, and total, from a PDF invoice into JSON?
Prompt 3
Install the Zerox Python package and convert a Word document to Markdown using AWS Bedrock as the AI provider.
Prompt 4
Help me configure Zerox with concurrency=5 to process a folder of 50 PDFs in parallel and save each result as a Markdown file.

Frequently asked questions

What is zerox?

Zerox converts PDFs and documents into clean Markdown or structured data by rendering each page as an image and sending it to an AI vision model, handling complex layouts, tables, and charts that standard text extraction misses.

What language is zerox written in?

Mainly TypeScript. The stack also includes TypeScript, Python, Node.js.

How hard is zerox to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is zerox for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.