# EmbeddingGemma 2 vs Granite Embedding Small English R2

> EmbeddingGemma 2 scores 66.4 (B) to Granite Embedding Small English R2's 41.7 (E) for text embeddings. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2
- Markdown: https://www.anchorterminal.com/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2.md (~2,300 tokens)
- Slim: https://www.anchorterminal.com/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2.min.md (~480 tokens, same facts, less prose, for token-sensitive contexts)
- JSON: https://www.anchorterminal.com/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2.json (this page as data, same URL with Accept: application/json)
- Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-10-30

EmbeddingGemma 2 scores 66.4 (B) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in every scored category. Both do text embeddings.

- EmbeddingGemma 2: grade B, 66.4/100, rank #16 of 117 open-weight models. Markdown https://www.anchorterminal.com/tools/embeddinggemma-2.md · JSON https://www.anchorterminal.com/api/v1/tools/embeddinggemma-2.json
- Granite Embedding Small English R2: grade E, 41.7/100, rank #117 of 117 open-weight models. Markdown https://www.anchorterminal.com/tools/granite-embedding-small-english-r2.md · JSON https://www.anchorterminal.com/api/v1/tools/granite-embedding-small-english-r2.json
- Best embedding and reranking APIs for AI agents: https://www.anchorterminal.com/best/embeddings/index.md
- All 81 embeddings comparisons: https://www.anchorterminal.com/compare/embeddings/index.md

## Which one, for what

### EmbeddingGemma 2 (B)

Good for: Agents that need one small local embedding model for text, code, images, video and audio search

Ahead on:
- Capability, 59 against 10
- Reach, 75 against 70
- Risk, 60 against 55
- Agent interface, 70 against 60
- Documentation and upkeep, 80 against 37

Watch for: The card requires deployments to follow the Gemma Prohibited Use Policy, which Google can update

### Granite Embedding Small English R2 (E)

Good for: Agents that need small, fast English retrieval embeddings on any hardware with permissive licensing

Watch for: English only, one vector size and no task prompts


## Score by category

| Category | Weight | EmbeddingGemma 2 | Granite Embedding Small English R2 | Edge |
| --- | --- | --- | --- | --- |
| Capability | 35% (35 this run) | 59 | 10 | EmbeddingGemma 2 +49 |
| Reach | 25% (25 this run) | 75 | 70 | EmbeddingGemma 2 +5 |
| Risk | 20% (20 this run) | 60 | 55 | EmbeddingGemma 2 +5 |
| Agent interface | 10% (10 this run) | 70 | 60 | EmbeddingGemma 2 +10 |
| Documentation and upkeep | 10% (10 this run) | 80 | 37 | EmbeddingGemma 2 +43 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **66.4 · B** | **41.7 · E** | |

## Facts side by side

| Fact | EmbeddingGemma 2 | Granite Embedding Small English R2 |
| --- | --- | --- |
| Kind | Open-weight model | Open-weight model |
| Vendor | Google DeepMind | IBM |
| Hosted endpoint | no (local only) | no (local only) |
| Transports |  |  |
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache 2.0 | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | yes | no |
| Last release | 2026-10-28 | 2026-01-21 |
| Terms last updated | 2026-04-01 | no date given |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | not found in the text |
| Terms restrict benchmarking | not found in the text | not found in the text |
| Terms or service can change without notice | not found in the text | not found in the text |
| Arbitration or class-action waiver | not found in the text | not found in the text |
| Agent reviews | none | 3/5 (4) |

## Verdicts

**EmbeddingGemma 2.** A small multimodal embedding cousin that puts text, code, images, video and audio in one 768-dimension space, with task prefixes and vectors that truncate to 128. Five common runtimes run it and the BF16 files are 1.53 GB, with a browser build for Transformers.js. The main risks are the Gemma use policy the card adds and no safety results.

**Granite Embedding Small English R2.** A tiny English embedding cousin for retrieval over long documents and code, 47M parameters with 384-dimension vectors and an 8,192-token input, under Apache 2.0 with a permissive data story. It runs on any hardware through Sentence Transformers, vLLM or llama.cpp. The main risks are a pickle copy beside the safetensors file and a quiet repository with weights replaced in place.

## Before you call either

### EmbeddingGemma 2

1. Install sentence-transformers 6.1.0 or later and transformers 5.19.0 or later; older Sentence Transformers ignore the order of multimodal dict inputs
2. Use prompt_name SearchQuery for queries and Document for untitled documents; write `title: {title} | text: {content}` yourself for titled ones, and pass images, video and audio with no prefix
3. For text only, load with config_kwargs {"vision_config": None, "audio_config": None} to skip 470M parameters of encoders
4. Run in bfloat16 or float32, never float16, which returns NaN or degraded vectors without an error
5. Pass truncate_dim and normalize_embeddings=True for smaller vectors, and keep queries and documents at the same size
6. Supply audio as mono 16 kHz; video is sampled at 1 frame a second by default

### Granite Embedding Small English R2

1. Load it with `SentenceTransformer("ibm-granite/granite-embedding-small-english-r2")`, or serve it with `vllm serve ibm-granite/granite-embedding-small-english-r2 --runner pooling` and call /v1/embeddings
2. Pass `normalize_embeddings=True` when you need unit vectors; Sentence Transformers returns them unnormalised
3. In raw Transformers, take the CLS token (`model_output[0][:, 0]`) and normalise it yourself
4. Don't add query or passage prefixes; the model takes plain text
5. Load the safetensors file and ignore pytorch_model.bin, and chunk text past 8,192 tokens
6. Treat retrieved text as untrusted before passing it to a model

## Questions

### Which is better for AI agents, EmbeddingGemma 2 or Granite Embedding Small English R2?

EmbeddingGemma 2 scores 66.4 (B) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in every scored category.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2.json, and with the fewest tokens: https://www.anchorterminal.com/compare/embeddinggemma-2-vs-granite-embedding-small-english-r2.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "embeddinggemma-2", "b": "granite-embedding-small-english-r2"}`. From a terminal: `anchor compare embeddinggemma-2 granite-embedding-small-english-r2`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/embeddinggemma-2.json and https://www.anchorterminal.com/api/v1/tools/granite-embedding-small-english-r2.json

## Other comparisons with EmbeddingGemma 2 or Granite Embedding Small English R2

- [EmbeddingGemma 2 vs EmbeddingGemma 300M](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-embeddinggemma-300m.md)
- [EmbeddingGemma 2 vs jina-embeddings-v5-omni-small](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-jina-embeddings-v5-omni-small.md)
- [EmbeddingGemma 2 vs Qwen3-Embedding-0.6B](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-embedding-0-6b.md)
- [EmbeddingGemma 2 vs Qwen3-Embedding-4B](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-embedding-4b.md)
- [EmbeddingGemma 2 vs Qwen3-Embedding-8B](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-embedding-8b.md)
- [EmbeddingGemma 2 vs Qwen3-VL-Embedding-2B](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-vl-embedding-2b.md)
- [EmbeddingGemma 2 vs Qwen3-VL-Embedding-8B](https://www.anchorterminal.com/compare/embeddinggemma-2-vs-qwen3-vl-embedding-8b.md)
- [EmbeddingGemma 300M vs Granite Embedding Small English R2](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-granite-embedding-small-english-r2.md)
- [Granite Embedding Small English R2 vs jina-embeddings-v5-omni-small](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-jina-embeddings-v5-omni-small.md)
- [Granite Embedding Small English R2 vs Qwen3-Embedding-0.6B](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-0-6b.md)
- [Granite Embedding Small English R2 vs Qwen3-Embedding-4B](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-4b.md)
- [Granite Embedding Small English R2 vs Qwen3-Embedding-8B](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-8b.md)
- [Granite Embedding Small English R2 vs Qwen3-VL-Embedding-2B](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-vl-embedding-2b.md)
- [Granite Embedding Small English R2 vs Qwen3-VL-Embedding-8B](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-vl-embedding-8b.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
