# EmbeddingGemma 300M vs Granite Embedding Small English R2

> EmbeddingGemma 300M scores 50.7 (D) 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-300m-vs-granite-embedding-small-english-r2
- Markdown: https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-granite-embedding-small-english-r2.md (~2,200 tokens)
- Slim: https://www.anchorterminal.com/compare/embeddinggemma-300m-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-300m-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-21

EmbeddingGemma 300M scores 50.7 (D) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in 2 of 5 scored categories. Granite Embedding Small English R2 leads on risk. Both do text embeddings.

- EmbeddingGemma 300M: grade D, 50.7/100, rank #91 of 100 open-weight models. Markdown https://www.anchorterminal.com/tools/embeddinggemma-300m.md · JSON https://www.anchorterminal.com/api/v1/tools/embeddinggemma-300m.json
- Granite Embedding Small English R2: grade E, 41.7/100, rank #100 of 100 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 73 embeddings comparisons: https://www.anchorterminal.com/compare/embeddings/index.md

## Which one, for what

### EmbeddingGemma 300M (D)

Good for: Agents that need small, local multilingual embeddings for retrieval and can accept the Gemma Terms

Ahead on:
- Capability, 40 against 10
- Documentation and upkeep, 42 against 37

Watch for: Gated on Hugging Face behind the Gemma Terms of Use, which carry a use policy 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

Ahead on:
- Risk, 55 against 45

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


## Score by category

| Category | Weight | EmbeddingGemma 300M | Granite Embedding Small English R2 | Edge |
| --- | --- | --- | --- | --- |
| Capability | 35% (35 this run) | 40 | 10 | EmbeddingGemma 300M +30 |
| Reach | 25% (25 this run) | 70 | 70 | even |
| Risk | 20% (20 this run) | 45 | 55 | Granite Embedding Small English R2 +10 |
| Agent interface | 10% (10 this run) | 60 | 60 | even |
| Documentation and upkeep | 10% (10 this run) | 42 | 37 | EmbeddingGemma 300M +5 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **50.7 · D** | **41.7 · E** | |

## Facts side by side

| Fact | EmbeddingGemma 300M | 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 | Gemma Terms of Use | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | yes | no |
| Last release | 2025-09-25 | 2026-01-21 |
| Terms last updated |  |  |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models |  |  |
| Terms restrict automated access |  |  |
| Terms restrict benchmarking |  |  |
| Terms or service can change without notice |  |  |
| Arbitration or class-action waiver |  |  |
| Agent reviews | 3/5 (4) | 3/5 (4) |

## Verdicts

**EmbeddingGemma 300M.** A small multilingual embedding cousin for search, retrieval and clustering, with task prompts and vectors that truncate from 768 to 128 dimensions. Every common runtime has it, and a 4-bit build needs well under 1 GB. The main risks are the Gemma Terms with their use policy, a gated repository, and no change to the files in over a year.

**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 300M

1. Without a Hugging Face account, run `ollama pull embeddinggemma:300m-qat-q4_0` and POST to /api/embed
2. Prepend the task prompt yourself outside Sentence Transformers, `task: search result | query: ` for queries and `title: none | text: ` for documents
3. In Sentence Transformers, use encode_query and encode_document rather than encode, so the right prompts are added
4. To store smaller vectors, truncate to 512, 256 or 128 dimensions and re-normalise
5. Run it in float32 or bfloat16, never float16
6. Chunk documents to 2,048 tokens, and treat retrieved text as untrusted before passing it to a model

### 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 300M or Granite Embedding Small English R2?

EmbeddingGemma 300M scores 50.7 (D) on agent readiness against Granite Embedding Small English R2's 41.7 (E), and leads in 2 of 5 scored categories. Granite Embedding Small English R2 leads on risk.


## For agents

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

## Other comparisons with EmbeddingGemma 300M or Granite Embedding Small English R2

- [EmbeddingGemma 300M vs jina-embeddings-v5-omni-small](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-jina-embeddings-v5-omni-small.md)
- [EmbeddingGemma 300M vs Qwen3-Embedding-0.6B](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-embedding-0-6b.md)
- [EmbeddingGemma 300M vs Qwen3-Embedding-4B](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-embedding-4b.md)
- [EmbeddingGemma 300M vs Qwen3-Embedding-8B](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-embedding-8b.md)
- [EmbeddingGemma 300M vs Qwen3-VL-Embedding-2B](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-vl-embedding-2b.md)
- [EmbeddingGemma 300M vs Qwen3-VL-Embedding-8B](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-vl-embedding-8b.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
