Skip to main content
PromptQuorumBuilt for humans. Structured for AI.
Home/Power Local LLM
Voice, Speech & Multimodal

Best Local Vision Models 2026: Gemma 4, Qwen3-VL, LLaVA & Ollama Multimodal Setup

·11 min readBy · Founder of PromptQuorum · Discovery engine for open-weight & open-source AI

For most people, Gemma 4 (Apache 2.0) via Ollama is the best local vision model in 2026: gemma4:e4b fits 8 GB cards, gemma4:26b or 31b suit 24 GB. For document OCR and multilingual text, pick Qwen3-VL 8B or Qwen3.8 27B; under 4 GB, use Qwen3.5 2B or Moondream 2.

Key Takeaways

  • Gemma 4 is the best local vision model for most developers in 2026. It is Apache 2.0, available from Ollama in five sizes (E2B, E4B, 12B, 26B A4B, 31B), and its model card reports MMMU Pro of 52.6% (E4B) to 76.9% (31B) versus 49.7% for Gemma 3 27B.
  • Qwen3-VL 8B, Qwen3.5 9B and Qwen3.8 27B lead document OCR and multilingual text. Qwen3-VL 8B needs a 6.2 GB download; Qwen3.8 27B (Apache 2.0, 18 GB) reports 91.1 on OmniDocBench 1.5.
  • Llama 3.2 Vision is no longer the safe default. Users report "unknown model architecture: mllama" on recent Ollama versions (GitHub issues #16490 and #16547, no confirmed fix), and its Ollama listing has not been updated in about a year.
  • Under 4 GB, pick Qwen3.5 2B, Qwen3-VL 2B or Moondream 2. All three are small and fast, but they struggle with complex scenes, dense text and precise chart reading.
  • LLaVA 1.6 is among the most documented and community-tested local VLMs. It is a practical choice when you need tutorials and troubleshooting help, but newer models beat it on OCR and quality.
  • Use Ollama's format parameter for structured output. Passing a JSON schema constrains the reply to your fields so it parses cleanly; still validate every value against the source.
  • No local model matches GPT-5.5 Vision on everything. Local VLMs in 2026 are a strong tier-2 option — excellent for structured documents and clear photos, weaker on ambiguous scenes, handwriting, and complex infographics.

Vision-language models (VLMs) accept image input alongside text and return text output — enabling document OCR, image Q&A, screenshot analysis, and chart reading locally. In 2026, the easiest path to running VLMs is through Ollama: pull a model, send an image, get a description or answer. This guide compares the leading local vision models (Gemma 4, Qwen3.8, Qwen3.5, Qwen3-VL, MiniCPM-V, LLaVA 1.6, Llama 3.2 Vision, Moondream 2, InternVL 2.5), covers Ollama setup step-by-step, and maps each model to its best use case by VRAM requirement. Download sizes come from the Ollama model library and quality figures from the vendors' model cards, checked 23 October 2026.

Best Local Vision Models 2026: Gemma 4, Qwen3-VL, LLaVA & Ollama Multimodal Setup

Quick Facts

  • What VLMs do: Accept image + text input → produce text output. Not image generators — these are image *understanders*.
  • Ollama support: Gemma 4, Qwen3.8, Qwen3.5, Qwen3-VL, Llama 3.2 Vision, MiniCPM-V, LLaVA and Moondream are in the official Ollama library; InternVL, PaliGemma 2 and SmolVLM need community builds.
  • Smallest usable models: Moondream 2 (1.8B, 1.7 GB download), Qwen3-VL 2B (1.9 GB) and Qwen3.5 0.8B (1.2–1.3 GB).
  • Largest practical local models: Qwen3.5 122B (81 GB) on a 128 GB Mac and Llama 3.2 Vision 90B (55 GB) on a 96 GB+ Mac (Apple M-series) or multi-GPU; Qwen3-VL 235B needs 143 GB.
  • Image input format: JPEG, PNG, WebP accepted. Max resolution varies by model (typically 1024×1024 to 4096×4096).
  • Audio and video: Gemma 4 E2B, E4B and 12B also accept audio; all Gemma 4 sizes and Qwen3.8 process video as frames.
  • OCR strength: Qwen3.8 27B ≈ Qwen3-VL 8B ≈ Qwen3.5 9B > Gemma 4 > MiniCPM-V > LLaVA 1.6 13B > LLaVA 1.6 7B > Moondream 2.
  • Multimodal ≠ fast: Vision models add a vision encoder on top of the LLM — expect ~30–60% slower token generation than a text-only model of the same parameter count.

What Are Vision-Language Models (VLMs)?

A vision-language model (VLM) is a neural network that processes image and text inputs simultaneously and produces text output. The standard architecture pairs a vision encoder (typically CLIP or SigLIP) with a language decoder (an LLM), connected by a projection layer that maps image features into the token space the LLM understands.

  • How they differ from image generators: Stable Diffusion, FLUX, and DALL-E 3 are text-to-image generators — they produce images from text prompts. VLMs are image-to-text models — they describe, analyze, and answer questions about images.
  • How they differ from OCR-only tools: Traditional OCR (Tesseract, PaddleOCR) extracts text from structured documents using pattern recognition. VLMs understand context — they can describe what a table means, answer questions about a chart, or identify objects in a photograph.
  • Why run them locally: Private documents (medical records, legal scans, financial statements), proprietary screenshots (internal dashboards, source code), or any workflow where sending images to cloud APIs raises compliance or confidentiality concerns.
  • What they cannot do: Generate images, execute code shown in screenshots, or access the internet. VLMs only produce text output based on what's visible in the image.

Available Local Vision Models — Comparison Table

Comparison of the most capable local vision models available via Ollama or direct inference, checked on 23 October 2026. The VRAM column is the Ollama download size (4-bit quantized unless noted) — add 1–2 GB for context. *Llama 3.2 Vision is reported failing to load on recent Ollama versions (see the Llama 3.2 Vision note below).

📍 In One Sentence

For 8 GB VRAM: Gemma 4 E4B or Qwen3-VL 8B; for 24 GB: Gemma 4 26B/31B or Qwen3.8 27B — all run locally via Ollama.

💬 In Plain Terms

Gemma 4 is the best overall; Qwen3-VL, Qwen3.5 and Qwen3.8 lead document OCR and multilingual text; Moondream and Qwen3.5 2B are the light options under 4 GB VRAM.

Model
Parameters
VRAM (Q4)
Image Types
Quality
Via Ollama?
Moondream 21.8B~2 GBSimple photosBasicYes
SmolVLM 2.2B2.2B~2 GBSimple photos, captionsBasic+Community
Qwen3.5 2B2B2.7–3.1 GBPhotos, docs, OCRGoodYes
PaliGemma 2 3B3B~3 GBPhotos, docsGoodCommunity
Qwen3-VL 4B4B3.3 GBPhotos, docs, OCRGoodYes
Gemma 4 E2B2.3B eff.4.6–7.5 GBPhotos, docs, audioGoodYes
LLaVA 1.6 7B7B~6 GBPhotos, docs, chartsGoodYes
MiniCPM-V8B~6 GB (5.5 GB pull)Photos, docs, OCRVery goodYes
Qwen3-VL 8B8B~6.2 GBPhotos, docs, OCR, multilingualExcellentYes
Qwen3.5 9B9B6.6–7.6 GBPhotos, docs, OCR, multilingualExcellentYes
Gemma 4 E4B4.5B eff.6.6–9.5 GBPhotos, docs, audioVery goodYes
Gemma 4 12B12B7.7–8.0 GBPhotos, docs, audioExcellentYes
InternVL 2.5 8B8B~8 GBDocs, charts, UI, codeExcellent (UI/charts)Community
Llama 3.2 Vision 11B11B~8 GB (7.8 GB pull)Photos, docsExcellent*Yes*
LLaVA 1.6 13B13B~10 GBPhotos, docs, chartsVery goodYes
Gemma 4 26B A4B26B (4B active)16–19 GBPhotos, docs, complexExcellentYes
Qwen3.8 27B27B18 GBPhotos, docs, video, OCRBest (open-source)Yes
Gemma 4 31B31B19–20 GBPhotos, docs, complexExcellentYes
Qwen3-VL 32B32B21 GBPhotos, docs, OCR, complexExcellentYes
Llama 3.2 Vision 90B90B55 GBPhotos, docs, complexVery good*Yes*
Qwen3.5 122B122B81 GBPhotos, docs, complexBest localYes
Local vision models compared by VRAM and OCR quality: Moondream 2 at 2 GB up to Gemma 4 at 24 GB.
Local vision models compared by VRAM and OCR quality: Moondream 2 at 2 GB up to Gemma 4 at 24 GB.

Illustrative Invoice Extraction Comparison

Illustrative comparison of local vision model accuracy on a structured document extraction task: five fields (vendor name, date, total, tax amount, line item count) from one sample invoice. This is not a PromptQuorum benchmark. Device, runtime version, model tags, quantization, prompt and number of runs were not recorded, so the marks are indicative and cannot be reproduced. Rows marked * assume the model loads on your Ollama version.

Model
Vendor
Date
Total
Tax
Line Items
Score
Moondream 2✓✓✗✗✗2/5
LLaVA 1.6 7B✓✓✓✗✓4/5
MiniCPM-V✓✓✓✓✓5/5
Qwen3-VL 8B✓✓✓✓✓5/5
Llama 3.2 Vision 11B*✓✓✓✓✓5/5
GPT-5.5 Vision✓✓✓✓✓5/5

📌Note: One sample invoice and no recorded methodology: read the marks as an illustration, not as evidence. Accuracy will vary with document quality, font and layout complexity. Always verify extracted numbers against source documents.

Multi-Image Support

Not all local vision models accept multiple images in a single request. Multi-image support matters for document processing (send all pages of a multi-page PDF) and visual comparison tasks (compare two product photos).

  • MiniCPM-V accepts up to 4 images per prompt; Qwen3-VL handles up to 8. LLaVA and Moondream accept only single images per request.
  • When multi-image matters: Send all pages of a multi-page PDF for full-document extraction. Compare two product photos side by side. Analyze before/after screenshots in a single prompt.
Feature
Moondream
LLaVA 7B
MiniCPM-V
Qwen3-VL
LLaVA 13B
Llama 3.2 Vision
InternVL
Multi-image inputNoNoYes (up to 4)Yes (up to 8)NoYes (multi-page)Yes

Setup via Ollama — Step by Step

Ollama is the easiest way to run local vision models. Once Ollama is installed, vision models work with a single pull command and accept images via CLI flag or HTTP API.

  • Step 1 — Install Ollama: Download from ollama.com for macOS, Linux, or Windows. Installation takes under 2 minutes.
  • Step 2 — Pull a vision model: ollama pull gemma4:e4b (6.6–9.5 GB download) for 8 GB cards, ollama pull qwen3-vl:8b (6.2 GB) for OCR, or ollama pull moondream (1.8B, 1.7 GB) for low-VRAM setups.
  • Step 3 — Run from the CLI: ollama run gemma4:e4b "What is in this image? /path/to/photo.jpg" — put the image path inside the prompt; ollama run has no --image flag.
  • Step 4 — Use the HTTP API: POST to http://localhost:11434/api/generate with the image as a base64-encoded string in the images array. Add a JSON schema in the format field to get structured output.
  • Step 5 — Python example: Use the requests library with base64 encoding — see code block below.
python
import base64
import requests

def ask_vision_model(image_path: str, prompt: str, model: str = "gemma4:e4b") -> str:
    with open(image_path, "rb") as f:
        image_b64 = base64.b64encode(f.read()).decode("utf-8")

    response = requests.post(
        "http://localhost:11434/api/generate",
        json={
            "model": model,
            "prompt": prompt,
            "images": [image_b64],
            "stream": False,
        },
    )
    return response.json()["response"]

# Example usage
result = ask_vision_model("invoice.png", "Extract all line items and totals from this invoice.")
print(result)
Ollama vision setup: install, pull gemma4:e4b, run via CLI or API at localhost:11434, receive text.
Ollama vision setup: install, pull gemma4:e4b, run via CLI or API at localhost:11434, receive text.

Use Case 1: Document OCR and Extraction

VLMs outperform traditional OCR for semi-structured documents — invoices, receipts, contracts, and tables where layout matters as much as the text itself. Traditional OCR (Tesseract) extracts characters; VLMs understand what those characters mean in context.

  • What works well: Scanned invoices, PDF screenshots, handwritten notes (printed, not cursive), tables with clear borders, business cards.
  • What works less well: Handwritten cursive text, low-DPI scans (< 150 DPI), heavily compressed JPEGs, overlapping text.
  • Best models for OCR: Qwen3-VL 8B and Qwen3.5 9B (6–8 GB class), Qwen3.8 27B (18 GB, 91.1 on OmniDocBench 1.5 per its model card), Gemma 4 for mixed document types.
  • Prompt engineering for OCR: "Extract all text from this document exactly as written, preserving line breaks." Or: "Return the contents of this invoice as JSON with fields: vendor, date, line_items[], total."
  • Vs. traditional OCR: VLMs are slower but more semantic. Tesseract is faster for pure text extraction from clean documents. Use VLMs when you need structured data extraction, not just raw text.

Use Case 2: Image Q&A and Description

For general scene understanding, product descriptions, and visual Q&A, Gemma 4 (E4B at 8 GB, 26B or 31B at 24 GB) is the recommended local model. It produces natural, detailed descriptions and handles nuanced questions about photo content.

  • Scene description: "What is in this photo?" — objects, people, activities, setting, mood.
  • Product cataloguing: Feed product photos with a prompt template like "Describe this product: color, shape, material, condition." Useful for e-commerce inventory without cloud APIs.
  • Accessibility: Generate alt text for images at scale. Accurate enough for accessibility compliance on standard product photos.
  • Best models: Gemma 4 12B or 26B A4B for general photo Q&A. Qwen3.5 4B or LLaVA 1.6 7B for volume processing where speed matters more than accuracy.
  • Speed consideration: Speed depends on model, GPU and description length — benchmark a 20-image sample on your own hardware before committing to a batch of thousands.

Use Case 3: Screenshot and UI Analysis

For analyzing application screenshots, error messages, and dashboards, InternVL 2.5 is the strongest local model — its training data emphasized software UI, GitHub screenshots, and code execution outputs.

  • Developer workflows: Pipe screenshots of error messages to the model: "What is wrong in this screenshot and how would you fix it?"
  • Bug report generation: Automatically generate bug report descriptions from screenshots with a structured prompt.
  • Dashboard monitoring: Analyze screenshots of monitoring dashboards for anomalies — "Are there any warning-level metrics in this Grafana screenshot?"
  • Accessibility testing: Compare screenshots before and after UI changes to verify visual accessibility properties.
  • Best models: InternVL 2.5 8B (community build, strong on UI), Gemma 4 and Qwen3-VL (official Ollama support, tool calling for agent workflows).

Use Case 4: Chart and Graph Reading

Extracting data from bar charts, line graphs, and tables is achievable but requires careful prompting. All local VLMs are weaker on chart reading than on photo description — always verify numbers extracted from charts against the source data.

  • What works: Reading axis labels, identifying trends, comparing relative bar heights, reading table values in clear fonts.
  • What is unreliable: Precise numeric extraction from continuous charts (e.g., "the Q3 bar is 43.7 units"), pie chart percentages without explicit labels.
  • Prompt strategy: "Describe the trend shown in this line chart" works better than "What is the exact value at March 2026?"
  • Best models for charts: InternVL 2.5 (strong chart understanding), Gemma 4 and Qwen3-VL (good on clearly labeled charts).
  • Limitation note: No local VLM in 2026 reliably extracts precise numbers from visually complex charts. For structured chart data, extract via the underlying data source if possible.

Use Case 5: Video Frame Analysis

Local vision models can analyze video by processing individual frames — extract frames using ffmpeg, feed each to the vision model, then chain with a text LLM to summarize across frames. Not real-time: expect 1 frame per 0.5–3 seconds depending on model and hardware.

  • Frame extraction: Use ffmpeg to extract at 1fps: ffmpeg -i video.mp4 -vf fps=1 frames/frame_%04d.jpg
  • Per-frame analysis: Run each frame through the vision model with a consistent prompt (e.g., "Describe what is happening in this frame in one sentence").
  • Cross-frame summarization: Collect all frame descriptions and pass them to a text LLM with a summarization prompt.
  • Use cases: Security camera review (flag frames with unusual activity), lecture recording analysis (generate slide-by-slide notes), manufacturing quality inspection (flag frames where defects appear).
  • Best models for video frames: Gemma 4 or Qwen3.8 for quality (both accept video as frames natively), Qwen3.5 4B or LLaVA 1.6 7B for speed (higher frame throughput).
  • Speed reality: At 1 frame/second extraction and ~1–3 seconds per frame, a 10-minute video (600 frames) takes roughly 10–30 minutes to process, depending on model and GPU.
python
import base64
import subprocess
import os
import requests

def extract_frames(video_path: str, output_dir: str, fps: int = 1) -> list[str]:
    os.makedirs(output_dir, exist_ok=True)
    subprocess.run([
        "ffmpeg", "-i", video_path,
        "-vf", f"fps={fps}",
        f"{output_dir}/frame_%04d.jpg",
        "-y"
    ], check=True)
    return sorted([
        os.path.join(output_dir, f)
        for f in os.listdir(output_dir)
        if f.endswith(".jpg")
    ])

def analyze_frame(image_path: str, model: str = "gemma4:e4b") -> str:
    with open(image_path, "rb") as f:
        image_b64 = base64.b64encode(f.read()).decode("utf-8")
    response = requests.post(
        "http://localhost:11434/api/generate",
        json={
            "model": model,
            "prompt": "Describe what is happening in this frame in one sentence.",
            "images": [image_b64],
            "stream": False,
        },
    )
    return response.json()["response"]

frames = extract_frames("lecture.mp4", "frames/", fps=1)
descriptions = [analyze_frame(f) for f in frames]
print("\n".join(f"[{i+1}s] {d}" for i, d in enumerate(descriptions)))

VRAM and Performance Reality Check

Local vision models add a vision encoder on top of the base LLM, which increases both VRAM requirements and inference time compared to text-only models.

Model
VRAM (Q4)
Tokens/sec (RTX 4070)
Tokens/sec (M5 Pro 36GB)
Practical for production?
Moondream 2 (1.8B)~2 GB~25–35~30–40Yes — for simple tasks
LLaVA 1.6 7B~6 GB~15–20~18–25Yes — general purpose
MiniCPM-V (8B)~6 GB~12–18~15–20Yes — OCR and docs
Llama 3.2 Vision 11B~8 GB~10–14~12–16Check Ollama load issue first
LLaVA 1.6 13B~10 GB~8–12~10–14Yes — with 12 GB GPU
Llama 3.2 Vision 90B55 GBN/A (needs multi-GPU or M-Max)N/A (needs M5 Max 128GB+)High-end Apple Silicon only

📌Note: The tokens-per-second ranges are indicative estimates, not new measurements; they were not re-run for Gemma 4, Qwen3.5 or Qwen3.8. Benchmark on your own hardware with ollama run <model> --verbose, which prints the eval rate.

📌Note: Token generation speed for vision models is slower than for text-only models of the same size because the vision encoder adds significant computational overhead on the first image token. Subsequent text tokens generate at near-normal speed.

📌Note: Apple Silicon unified memory enables running larger models (Llama 3.2 Vision 90B at 55 GB or Qwen3.5 122B at 81 GB on a 128 GB Mac) that won't fit in discrete GPU VRAM. Speed is slightly slower than equivalent NVIDIA GPU but no VRAM limitation.

How Local Vision Models Compare to GPT-5.5 Vision

Local VLMs have closed the gap significantly on structured documents but remain behind GPT-5.5 Vision on complex and ambiguous tasks. The comparisons below are editorial assessments, not PromptQuorum benchmarks.

  • Structured documents (invoices, forms): Our editorial assessment, not a measured benchmark: strong local models come close to GPT-5.5 Vision on clean, well-formatted documents — good enough for production use once you validate the output.
  • Complex scenes, ambiguous imagery: Local models trail GPT-5.5 Vision noticeably on images with unusual context, lighting, or ambiguous content (editorial assessment, not benchmarked).
  • Handwriting recognition: Local models significantly weaker, especially on cursive. GPT-5.5 Vision handles handwriting substantially better.
  • Chart data extraction: Unreliable on both local models and GPT-5.5, but GPT-5.5 is more accurate on precise numeric values.
  • Cost: GPT-5.5 Vision is billed per request (check current pricing); local models cost $0 per image apart from hardware and electricity.
  • Privacy: Local models process images on-device by default, so images are not sent to a cloud API unless you enable cloud features or connected tools. GPT-5.5 sends images to OpenAI servers.
  • Speed: Local models generate roughly 8–35 tok/sec on an RTX 4070 depending on model size (indicative estimates, see the table above); cloud speed varies by provider and load, but local processing has no network latency for batch jobs.

📌Note: For production invoice and form processing with clean input, local VLMs (Gemma 4, Qwen3-VL 8B, Qwen3.8 27B) can replace GPT-5.5 Vision at zero cost. For anything involving handwriting, complex scene analysis, or ambiguous content, GPT-5.5 still leads.

LLaVA Deep Dive

LLaVA (Large Language and Vision Assistant) is the foundational open-source VLM architecture. Released by the University of Wisconsin-Madison and Microsoft Research in 2023, it established the CLIP encoder + LLM decoder pattern that most modern local VLMs follow.

  • Architecture: CLIP ViT-L/14 vision encoder + Llama-2 or Mistral text decoder, connected by a simple linear projection layer.
  • LLaVA 1.5 vs 1.6: Version 1.6 (released early 2024) added support for higher-resolution input via dynamic patching, significantly improving OCR and chart reading accuracy.
  • Training: Instruction-tuned on LLaVA-Instruct-150K — a dataset of visual conversations generated from image captions and object detection annotations.
  • Strengths: Broad general knowledge, well-documented, large community, extensive Ollama integration.
  • Weaknesses: Weaker OCR than Qwen3-VL and MiniCPM-V, weaker UI analysis than InternVL 2.5, outperformed overall by Gemma 4 and the Qwen3 family.
  • Why still recommended: LLaVA 1.6 has the largest community, the most tutorials, and the most example prompts of any local VLM. If you run into problems, help is easier to find.
  • Full review: LLaVA Review (2026) — PromptQuorum's dedicated review, including its Apache-2.0-plus-base-model license nuance and real Ollama commands.

Qwen3-VL, Qwen3.5 and Qwen3.8 — Best Multilingual and OCR Performance

The Qwen family is the strongest open option for document OCR and multilingual text in 2026. Qwen3-VL (sizes 2B to 235B) is the dedicated vision line, Qwen3.5 (0.8B to 122B) folds vision into the base model, and Qwen3.8 27B (August 2026, Apache 2.0) is the newest, with a reported 91.1 on OmniDocBench 1.5.

  • Architecture: Dynamic resolution support up to 4096×4096 — significantly higher than LLaVA 1.6 (672×672) or Llama 3.2 Vision (1120×1120). This enables reading high-DPI scans without downsampling.
  • Multilingual OCR: Best-in-class for Chinese, Japanese, Korean, and English OCR. Training data included large-scale multilingual document corpora — a significant advantage over LLaVA and Llama 3.2 Vision for non-English documents.
  • Which size: Qwen3-VL 8B is a 6.2 GB download and suits 8 GB cards; Qwen3.5 9B is 6.6–7.6 GB; Qwen3.8 27B is 18 GB and needs a 24 GB card; Qwen3-VL 32B is 21 GB. Qwen3-VL has no 72B variant on Ollama.
  • Qwen3-VL 4B: a 3.3 GB download (256K context), the midpoint between the 2B (1.9 GB) and 8B (6.2 GB) builds for cards with about 4–6 GB of VRAM.
  • Ollama install: ollama pull qwen3-vl:8b, ollama pull qwen3.5:9b or ollama pull qwen3.8 — all in the Ollama model library.
  • Multi-image support: Accepts up to 8 images per request — highest multi-image capacity of any model in this comparison.
  • Model pages: Qwen3-VL on Ollama, Qwen3.8-27B on Hugging Face

How to Choose Your Vision Model

A VRAM-first decision tree for selecting the right local vision model:

📍 In One Sentence

Pick your model by VRAM first (2→4→8→24 GB), then refine by use case (OCR, UI, general Q&A, or maximum quality).

💬 In Plain Terms

Under 4 GB: Qwen3.5 2B or Moondream. 8 GB: Gemma 4 E4B for photos, Qwen3-VL 8B for documents. 24 GB: Gemma 4 26B/31B or Qwen3.8 27B. 64+ GB: Qwen3.5 122B.

  • Under 4 GB VRAM: Qwen3.5 2B (2.7–3.1 GB), Qwen3-VL 2B (1.9 GB) or Moondream 2 (1.7 GB) are the practical options. PaliGemma 2 (3B) and SmolVLM (2.2B) are community-build alternatives. None are suitable for dense text OCR.
  • 6–8 GB VRAM: Gemma 4 E4B for general photo Q&A, Qwen3-VL 8B or Qwen3.5 9B for document OCR and multilingual text, LLaVA 1.6 7B where community support matters.
  • 12–16 GB VRAM: Gemma 4 12B (7.7–8.0 GB download) is the clear recommendation — strong vision scores for its size, with audio input and a 256K context window. LLaVA 1.6 13B and InternVL 2.5 8B (UI and code screenshots) also fit.
  • 24 GB VRAM: Gemma 4 26B A4B (16–19 GB), Gemma 4 31B (19–20 GB), Qwen3.8 27B (18 GB) or Qwen3-VL 32B (21 GB) — the closest local option to cloud-tier vision quality.
  • 96+ GB unified memory (Apple M-Max/Ultra, multi-GPU): Qwen3.5 122B (81 GB, needs a 128 GB Mac) or Llama 3.2 Vision 90B (55 GB) for the largest local models; both need high-memory hardware and are slower per token than the 24 GB-class models.
  • Always verify numbers: Regardless of model, cross-check any numeric values extracted from charts or tables against the source data. Local VLMs hallucinate precise numbers from visual charts.

Frequently Asked Questions

Why does llama3.2-vision fail with "unknown model architecture: mllama"?

Users report this error with llama3.2-vision on recent Ollama versions (GitHub issues #16490 and #16547, opened mid-2026; the second was closed as a duplicate with no confirmed fix). Updating Ollama or re-pulling the model did not help in those reports. Switch to Gemma 4 or Qwen3-VL, which are actively maintained in the Ollama library, unless you must stay on Llama 3.2 Vision — in that case pin an Ollama version where it still loads.

What is the best small vision-language model under 3B parameters?

Qwen3.5 2B (2.7–3.1 GB download) and Qwen3-VL 2B (1.9 GB) are the strongest small options on Ollama; Moondream 2 (1.8B, 1.7 GB) is the lightest. Gemma 4 E2B (2.3B effective parameters, 4.6–7.5 GB download) adds audio input. Expect weaker OCR and complex-scene understanding than the 8B class.

Which local models can handle live camera and microphone input?

Gemma 4 E2B, E4B and 12B accept both images and audio, which makes them the natural base for a local assistant that sees and hears. The model alone is not a live system: you still need a capture loop (grab frames, chunk audio), a speech-to-text or audio-input path, and a text-to-speech step for spoken replies. Confirm that your runtime version actually passes audio to the model before building on it.

How do I get reliable structured output from screenshots and documents?

Pass a JSON schema in Ollama's format field, set temperature to 0, and ask only for fields visible in the image. This constrains the reply to valid JSON with your keys; it does not make the values correct, so validate numbers and dates against the source and log failures. Larger models (8B and up) follow schemas more consistently than 2B models.

What are the best GPT-4V alternatives that run fully on-device?

Gemma 4 31B (19–20 GB), Qwen3.8 27B (18 GB) and Qwen3-VL 32B (21 GB) are the closest on a 24 GB GPU; Gemma 4 E4B and Qwen3-VL 8B cover 8 GB machines. All can run without an internet connection through Ollama. They match cloud models on clean documents and photos but trail on handwriting, ambiguous scenes and complex infographics.

Can I use LLaVA or Llama 3.2 Vision without Ollama?

Yes. You can run LLaVA and Llama 3.2 Vision directly using llama.cpp (with vision support), the transformers library (with the appropriate model card), or LM Studio (which has a GUI for vision models). Ollama is recommended for simplicity — it handles model download, quantization selection, and API hosting automatically.

Does Llama 3.2 Vision support PDF input directly?

No local VLM accepts PDF input directly. You must first convert PDF pages to images (using pdf2image, pypdfium2, or similar) and then send each page as a separate image request. For a 10-page PDF, you send 10 separate image queries and concatenate or summarize the results.

How do local vision models compare to GPT-5.5 Vision?

GPT-5.5 Vision is still meaningfully better on ambiguous scenes, handwriting, complex infographics, and tasks requiring world knowledge. Gemma 4 and Qwen3-VL approach GPT-5.5 on structured documents (invoices, forms, clear photos) but fall behind on nuanced or ambiguous imagery. See the full comparison above for cost, privacy, and speed breakdown.

What image resolution do local VLMs support?

LLaVA 1.6 supports up to 672×672 effective resolution (with dynamic patching). MiniCPM-V supports up to 1344×1344 (≈1.8 MP) — one reason it outperforms LLaVA on high-DPI document scans. Llama 3.2 Vision supports up to 1120×1120. Gemma 4 and Qwen3-VL accept variable aspect ratios and resolutions. For best OCR results, send document images at 150+ DPI.

Can I fine-tune a local vision model on my own images?

Yes, but fine-tuning VLMs is more resource-intensive than fine-tuning text-only LLMs — you need to process both image and text training pairs through the full forward pass. LLaVA fine-tuning is well-documented using the original training codebase. MiniCPM-V supports fine-tuning via its official training scripts on Hugging Face. For most use cases, prompt engineering alone is sufficient without fine-tuning.

What is the best local vision model for 8 GB VRAM?

Gemma 4 E4B (6.6–9.5 GB download) for general use, or Qwen3-VL 8B (6.2 GB) if document OCR or multilingual text is the primary need. Both are available via Ollama with a single pull command. Qwen3.5 9B (6.6–7.6 GB) is a third option.

LLaVA vs MiniCPM-V — which is better for OCR?

MiniCPM-V is more accurate on document OCR than LLaVA, especially on dense tables and high-DPI scans, but Qwen3-VL 8B is a stronger OCR choice than either. LLaVA 1.6 is better documented and has more community support. Note that Ollama's minicpm-v page still describes MiniCPM-V 2.6 (5.5 GB); newer MiniCPM-V releases need a Hugging Face or llama.cpp build.

Can local vision models read handwriting?

Printed handwriting (block letters): yes, with moderate accuracy on Gemma 4, Qwen3-VL and MiniCPM-V. Cursive handwriting: unreliable on all local models. GPT-5.5 Vision is significantly better at cursive. For production handwriting OCR on cursive documents, cloud APIs are still recommended.

Which local vision models work with llama.cpp or vLLM, not only Ollama?

Several do. The llama.cpp multimodal documentation lists Gemma 3, Gemma 4 (E2B, E4B, 26B A4B, 31B), InternVL 2.5 and 3, Moondream 2 and SmolVLM among its ready-made GGUF builds, and llama-server exposes them through an OpenAI-compatible API. vLLM's supported-models page lists Gemma 4, Qwen3-VL, Qwen3.5, MiniCPM-V, InternVL and LLaVA-NeXT. Support differs by model and version, so check both pages for your exact model before building on it (checked 23 October 2026). Ollama stays the simplest choice because it handles download, quantization and the API in one tool.

How much does quantization change VRAM use and quality for vision models?

Quantization mainly changes memory: on Ollama, Gemma 4 E4B is 6.6 GB at q4_K_M, 9.0 GB at q8_0 and 16 GB at bf16, and Gemma 4 31B is 20 GB, 34 GB and 63 GB. Default tags typically sit near the q4_K_M size, which is why the VRAM column above shows 4-bit figures. Google's QAT builds are slightly smaller (gemma4:e4b-it-qat is 6.1 GB). Higher precision costs memory and speed; whether it improves your results depends on the model and task, and we did not measure it, so compare q4_K_M and q8_0 on a sample of your own images. Add 1–2 GB for context.

Which local vision model should I run on a Mac with Apple Silicon?

Ollama publishes MLX builds for Apple Silicon: gemma4:e4b-mlx (9.5 GB), gemma4:12b-mlx (7.7 GB), gemma4:26b-mlx (18 GB), gemma4:31b-mlx (19 GB) and qwen3.8:27b-mlx (18 GB). Unified memory has to hold the weights plus macOS and the context, so as a rule of thumb (our sizing guidance, not a benchmark): first subtract 8 GB for macOS, so on a 16 GB Mac (about 8 GB usable) use Qwen3-VL 8B (6.2 GB); on 24 GB (about 16 GB usable), Gemma 4 E4B or Gemma 4 12B; on 32 GB (about 24 GB usable), the 18 GB 26B A4B build, Gemma 4 31B or Qwen3.8 27B, with only about 4–6 GB left for context.

What is the best local vision model for 16 GB VRAM, 32 GB RAM or a 2 GB GPU?

2 GB VRAM: Moondream 2 (1.7 GB) or Qwen3-VL 2B (1.9 GB), for simple images only. About 4 GB: Qwen3-VL 4B (3.3 GB). 16 GB VRAM: Gemma 4 12B (7.7–8.0 GB) with room for a long context; the Gemma 4 26B A4B download (16–19 GB) does not fully fit, so Ollama offloads layers to system RAM and slows down. 24–32 GB VRAM (for example an RTX 5090): Gemma 4 31B, Qwen3.8 27B or Qwen3-VL 32B. With 32 GB of system RAM and no GPU, models run on the CPU: stay in the 8B class (Qwen3-VL 8B, Gemma 4 E4B) and expect it to be much slower than on a GPU.

Is there a Gemma 5 or a newer vision model than Gemma 4 and Qwen3.8?

Not in the sources we checked on 23 October 2026. Ollama has no gemma5 page, its gemma4 page lists E2B, E4B, 12B, 26B and 31B builds, and Qwen3.8 27B is the newest Qwen model this guide covers. New releases arrive often, so check the Ollama library's vision model list before you commit, and treat any claim about an unreleased model as unverified.

Sources

← Back to Power Local LLM

MCP