Download
Gemma 4
Open Models
Every checkpoint, every format, every mirror - with the exact repository IDs and pull commands. Apache 2.0, so you can download the weights, fine-tune them, ship them in a product and redistribute the result.
Pulled weights before mid-July 2026? Re-pull them - the refresh fixed the chat template and tool calling.
# One command, any platform ollama pull gemma4:12b # 7.6 GB · 256K context # text + image + audio + video ollama run gemma4:12b
gemma4:e2b-it-qat4.3 GBgemma4:12b-it-qat7.2 GBgemma4:31b-it-qat19 GBPick by the hardware you actually have
The single most common mistake is downloading the biggest model your disk will hold rather than the biggest one your memory will run. Match to VRAM or unified memory, not storage.
Mobile build from 1.1 GB. Fully offline on Android and iOS via LiteRT-LM.
4.5 GB at Q4. The sweet spot for older GPUs and 8 GB MacBooks.
6.7 GB at Q4, with native audio. The best quality-per-gigabyte in the family.
MoE - only ~3.8B parameters activate per token, so it serves far faster than its size suggests.
17.5 GB at Q4. The strongest dense open model on the Arena leaderboard.
DiffusionGemma, TranslateGemma, MedGemma, EmbeddingGemma and the rest of the family.
Every Gemma 4 checkpoint
Repository IDs are exact and case-sensitive - note the capital B in
gemma-4-12B-it, which trips up a lot of copy-paste. Instruction-tuned (-it) is what
you want unless you're doing your own post-training.
# Ollama ollama pull gemma4:31b # Hugging Face CLI hf download google/gemma-4-31B-it
# Ollama - note the tag is 26b, not 26b-a4b ollama pull gemma4:26b # Hugging Face CLI hf download google/gemma-4-26B-A4B-it
# Ollama ollama pull gemma4:12b # Apple silicon via MLX ollama pull gemma4:12b-mlx
# Ollama ollama pull gemma4:e4b # Smallest good-quality option - QAT 4-bit, ~6.1 GB ollama pull gemma4:e4b-it-qat
# Ollama ollama pull gemma4:e2b # Smallest footprint that still works well - ~4.3 GB ollama pull gemma4:e2b-it-qat
Every model above also ships an -it-assistant variant on Hugging Face - a chat-tuned build with
an assistant persona baked in. Use the plain -it checkpoints unless you specifically want that.
Which file format do you need?
The same model in the wrong format is the most common reason a download doesn't run. Pick the row that matches your runtime.
| Format | Use it with | Precision | Notes |
|---|---|---|---|
| Safetensors | Transformers, vLLM, SGLang, TRL | BF16 full | The reference format. Largest download, best quality, needed for fine-tuning. |
| QAT GGUF Best 4-bit | llama.cpp, Ollama, LM Studio, Jan | Q4_0 | Quantisation-aware training, so it loses far less quality than post-hoc 4-bit. Published by Google. |
| Community GGUF | llama.cpp, Ollama, LM Studio | Q2–Q8 | Hundreds of quants from Unsloth, Bartowski and others. Q4_K_M is the usual default. |
| MLX | Apple silicon (M-series) | 4-bit / BF16 | Substantially faster than GGUF on Mac. Available as gemma4:*-mlx Ollama tags. |
| NVFP4 | NVIDIA Blackwell GPUs | FP4 | 4-bit floating point. Better quality than integer 4-bit on supported hardware. |
| MXFP8 | Modern NVIDIA GPUs | FP8 | Half the memory of BF16 with near-identical quality. A good middle ground. |
| LiteRT-LM | Android, iOS, embedded | INT4/INT8 | On-device only, E2B and E4B. Distributed via MediaPipe and Android AICore. |
Complete tag reference
Sizes are the actual download, as reported by the Ollama registry. gemma4:latest
currently resolves to E4B.
| Tag | Download | Context | Notes |
|---|---|---|---|
gemma4:e2b | 7.2 GB | 128K | On-device class |
gemma4:e2b-it-qat | 4.3 GB | 128K | Smallest recommended |
gemma4:e4b | 9.6 GB | 128K | Same as gemma4:latest |
gemma4:e4b-it-qat | 6.1 GB | 128K | Good laptop default |
gemma4:12b | 7.6 GB | 256K | Unified multimodal |
gemma4:12b-it-qat | 7.2 GB | 256K | Best quality-per-GB |
gemma4:12b-mlx | 7.7 GB | 256K | Apple silicon |
gemma4:26b | 18 GB | 256K | MoE, fast inference |
gemma4:26b-a4b-it-qat | 16 GB | 256K | MoE at 4-bit |
gemma4:31b | 20 GB | 256K | Flagship |
gemma4:31b-it-qat | 19 GB | 256K | Best quality that fits 24 GB |
gemma4:31b-it-bf16 | 63 GB | 256K | Full precision |
gemma4:31b-nvfp4 | 19 GB | 256K | Blackwell GPUs |
gemma4:cloud | - | 256K | Hosted, no local download |
Every size also offers -q4_K_M, -q8_0, -bf16,
-mlx, -mlx-bf16, -mxfp8 and -nvfp4 variants.
See the full tag list.
Where else to get it
All of these serve the same weights. Pick whichever fits your workflow or your network.
Hugging Face
The canonical source. Every checkpoint, plus hundreds of community quantisations and fine-tunes. Gated by a one-time licence acceptance.
huggingface.co/collections/google/gemma-4Kaggle
Google's own mirror, with Keras, PyTorch and GGUF variations. Pairs with free GPU notebooks if you want to try before downloading.
kaggle.com/models/google/gemma-4Ollama
One command, no account, handles quantisation and serving for you. The fastest path from nothing to a working local model.
ollama.com/library/gemma4LM Studio
Desktop GUI with a built-in model browser. No terminal required - search "gemma 4", click download, start chatting.
lmstudio.aiVertex AI Model Garden
Deploy to a managed endpoint without downloading anything. Also the route to Cloud Run and GKE deployments.
Google Cloud consoleGoogle AI Studio
Try the models in a browser playground and generate an API key, if you'd rather not host them yourself at all.
aistudio.google.comSpecialised Gemma models
If your workload is narrow, one of these will usually beat a general model of the same size.
DiffusionGemma 26B A4B
A genuinely different architecture: instead of generating one token at a time, it produces 256 tokens per forward pass in parallel, reaching over 1,000 tokens/second on a single H100 - up to 4× faster output. Bi-directional attention across generated tokens also makes it good at in-line editing and code infilling, which autoregressive models handle awkwardly. Fits 24 GB when quantised.
🤗 diffusiongemma-26B-A4B-itHugging Face · also on Kaggle and Vertex AITranslateGemma
Purpose-built for machine translation across the Gemma language range. If translation is your primary workload rather than one capability among many, these beat a general Gemma 4 model of comparable size - and the 4B is small enough to run on-device.
🤗 TranslateGemma familyBrowse 4B, 12B and 27B on Hugging FaceMedGemma 1.5
Tuned for medical imaging and clinical text. Intended as a research and development starting point, not a diagnostic tool - validate carefully before anything touching patient care, and check the model card's stated limitations.
🤗 MedGemma 1.5Hugging Face model card and weightsThe wider family
EmbeddingGemma for retrieval and RAG pipelines, FunctionGemma for tool-calling routers, ShieldGemma 2 for content safety classification, and T5Gemma v2 for encoder-decoder tasks. All Apache 2.0.
📚 Full release historyEvery Gemma model and variant, with datesFour things worth knowing
The licence is genuinely permissive
Apache 2.0 - commercial use, modification, redistribution and proprietary derivatives are all permitted. No revenue thresholds, no user caps, no acceptable-use rider that changes later. Hugging Face still asks you to accept terms once before downloading; that's a formality, not a restriction.
Re-pull anything from before mid-July
The July 15, 2026 refresh changed the chat template to reduce role-tag leakage and substantially improved tool-calling reliability. Same version number, different weights. If your agent is producing malformed JSON, this is very likely why.
Budget disk and bandwidth
A full BF16 31B download is roughly 70 GB and Hugging Face will resume but not deduplicate. Use
hf download rather than git clone - git-lfs will silently store a second copy in
.git and double your disk usage.
Verify what you downloaded
Safetensors is a safe format by design - it can't execute code on load, unlike pickle-based
.bin checkpoints. Prefer official google/* repositories; community re-uploads
are usually fine but occasionally stale, mislabelled, or quantised more aggressively than advertised.
hf_transfer and set
HF_HUB_ENABLE_HF_TRANSFER=1 - it parallelises chunks and will typically saturate a
gigabit connection where the default client won't get close.
Get it running
# Install and authenticate once pip install -U "huggingface_hub[cli]" hf_transfer hf auth login # Faster parallel downloads export HF_HUB_ENABLE_HF_TRANSFER=1 # Full precision checkpoint hf download google/gemma-4-12B-it --local-dir ./gemma-4-12B-it # Or just the official 4-bit GGUF - one file, much smaller hf download google/gemma-4-12B-it-qat-q4_0-gguf \ --include "*.gguf" --local-dir ./gemma-gguf
from transformers import pipeline import torch # Downloads on first run, then caches in ~/.cache/huggingface pipe = pipeline( "text-generation", model="google/gemma-4-12B-it", torch_dtype=torch.bfloat16, device_map="auto", ) out = pipe( [{"role": "user", "content": "Explain diffusion decoding briefly."}], max_new_tokens=400, ) print(out[0]["generated_text"][-1]["content"])
# llama.cpp can pull straight from Hugging Face - no manual download ./build/bin/llama-server \ -hf google/gemma-4-12B-it-qat-q4_0-gguf \ --ctx-size 32768 \ --n-gpu-layers 99 \ --port 8080 # Already have the .gguf file locally? ./build/bin/llama-cli -m ./gemma-4-12B-it-qat-q4_0.gguf -p "Hello"
# vLLM - OpenAI-compatible endpoint, production serving pip install vllm vllm serve google/gemma-4-26B-A4B-it \ --max-model-len 262144 \ --enable-auto-tool-choice \ --tool-call-parser gemma # Ollama already serves on :11434 after a pull ollama serve
Model identifiers are case-sensitive. gemma-4-12b-it will 404 -
it's gemma-4-12B-it.
Open weights. Yours to keep.
Apache 2.0 across the entire family. Download once, run it anywhere, fine-tune it, ship it.