21 October 2026

دليل · Guide8 min read

Unlimited OCR من بايدو: حوّل ملفاتك المصوّرة إلى نص ببلاش، صفحة وحدة أو PDF كاملBaidu's Unlimited OCR: Turn Scanned Files into Text for Free, One Page or a Whole PDF

Try Baidu's free Unlimited OCR model in the browser, check it on an Arabic file, then run it on your own machine so it reads a whole PDF in one pass and your files never leave it.

Who this guide is for

Anyone retyping scanned contracts, invoices or books by hand, and developers who want local OCR

Key terms

OCR
Technology that reads the words in an image or scanned file and turns them into text you can copy and edit.
Unlimited OCR
An open source 3B model from Baidu, released June 2026 and built on DeepSeek OCR. It reads dozens of pages in one pass instead of splitting them page by page.
Hugging Face Space
A demo page on Hugging Face that runs the model on their servers, so you can try it in the browser with no install.
GPU
The graphics card that runs the model on your machine. The model page says it is tested on NVIDIA cards with CUDA.

The steps

  1. Step 1

    Try it free on its demo page

    Open the demo on Hugging Face. Drop a page image or a PDF into INPUT and pick Long if the file has many pages.

    Press START, wait for the text in OCR OUTPUT, then COPY.

    huggingface.co
    The Unlimited OCR demo on Hugging Face: file input on the left, text output on the right
    Drop the file, pick Long, press STARTSource: huggingface.co

    Tip: The demo uploads your file to Hugging Face servers, so test with an ordinary file, not a private contract.

  2. Step 2

    Check the model and the license

    The official model page lives under the baidu account on Hugging Face. It shows the MIT license, free even for commercial use, and a 3B model size.

    Always download from that official account, not from a modified copy you cannot trace.

    huggingface.co
    The baidu/Unlimited-OCR page on Hugging Face with the MIT license and 3B model size
    License: mit and Model size: 3B paramsSource: huggingface.co
  3. Step 3

    Test it on an Arabic file before you rely on it

    The model page gives no accuracy figure for Arabic. Before you build on it, take a real Arabic page from your own files, run it through the model and compare it with the original.

    The easiest check: give Claude the image and the output text and ask it to count the mistakes.

    PromptCompare the OCR output with the original
    I attached an image of an Arabic page, and below it the text an OCR model extracted from it.
    
    Compare the text with the image line by line and give me:
    1. The number of wrong or missing words
    2. Any numbers or dates that changed
    3. Your verdict: is it good enough for [file type: contracts / invoices / books] or not
    
    The extracted text:
    [paste the text here]
  4. Step 4

    Check that your machine can run it

    To run it locally, the model page says it is tested on NVIDIA GPUs with Python 3.12 and CUDA 12.9.

    No NVIDIA card? Stay with the demo page from step one.

  5. Step 5

    Install the libraries

    Open a terminal, create a fresh Python environment, then install the libraries at the versions the model page lists.

    A terminal creating the environment and installing the libraries
    Illustration
    PromptInstall commands
    python3 -m venv .venv && source .venv/bin/activate
    pip install torch==2.10.0 torchvision==0.25.0 transformers==4.57.1
    pip install Pillow==12.1.1 matplotlib==3.10.8 einops==0.8.2 addict==2.4.0 easydict==1.13 pymupdf==1.27.2.2 psutil==7.2.2
  6. Step 6

    Turn a whole PDF into text in one pass

    Save the code below as read_pdf.py and run it on your file. It turns the PDF pages into images and gives them to the model together instead of page by page.

    The result is saved in the folder you set in output_path.

    A terminal running read_pdf.py on a PDF file
    Illustration
    Promptread_pdf.py from the model page
    import os, sys, tempfile, torch, fitz
    from transformers import AutoModel, AutoTokenizer
    
    name = 'baidu/Unlimited-OCR'
    tok = AutoTokenizer.from_pretrained(name, trust_remote_code=True)
    model = AutoModel.from_pretrained(name, trust_remote_code=True, use_safetensors=True, torch_dtype=torch.bfloat16).eval().cuda()
    
    def pdf_to_images(path, dpi=300):
        doc = fitz.open(path); d = tempfile.mkdtemp(); out = []
        for i, page in enumerate(doc):
            p = os.path.join(d, f'page_{i+1:04d}.png')
            page.get_pixmap(matrix=fitz.Matrix(dpi/72, dpi/72)).save(p); out.append(p)
        return out
    
    model.infer_multi(tok, prompt='<image>Multi page parsing.', image_files=pdf_to_images(sys.argv[1]),
        output_path='[your/output/dir]', image_size=1024, max_length=32768,
        no_repeat_ngram_size=35, ngram_window=1024, save_results=True)

    Tip: The code follows the example on the model page itself. Only change the output path.

  7. Step 7

    Keep sensitive files on your machine

    The key difference: the demo page uploads your file to a server, while running it locally keeps the file on your machine.

    So contracts, IDs and bank statements run locally only. Ordinary files are fine on the demo.

The takeaway

Try it on the demo, check it on an Arabic file, and run sensitive files on your own machine.

Most value

Start building with me now

We sit together, break down your problem, and I build the AI solution with you step by step

60minutes
  • A private session with you
  • Real building during the session
  • Results you take with you when we finish
Book a build session

100% free

A free consultation about your problem

Start

The full path

Access to every guide (49), starting from 29 AED