{
  "data": {
    "a": {
      "slug": "embeddinggemma-300m",
      "name": "EmbeddingGemma 300M",
      "vendor": "Google DeepMind",
      "vendorUrl": "https://gemma.ai",
      "kind": "weights",
      "category": "embeddings",
      "summary": "EmbeddingGemma 300M is Google DeepMind's open-weight text embedding model of 308M parameters, returning 768-dimension vectors that truncate to 512, 256 or 128 from up to 2,048 tokens in over 100 languages, gated under the Gemma Terms of Use.",
      "url": "https://www.anchorterminal.com/tools/embeddinggemma-300m",
      "markdownUrl": "https://www.anchorterminal.com/tools/embeddinggemma-300m.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/embeddinggemma-300m.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/embeddinggemma-300m.json",
      "repo": "https://huggingface.co/google/embeddinggemma-300m",
      "license": "Gemma Terms of Use",
      "transports": [],
      "packages": [
        {
          "registry": "huggingface",
          "name": "google/embeddinggemma-300m"
        },
        {
          "registry": "ollama",
          "name": "embeddinggemma"
        }
      ],
      "auth": "none",
      "authNotes": "Gated on Hugging Face. The files open only after you log in and acknowledge the Gemma Terms of Use; the Hub's API reports the gate as manual, while the card says requests are processed immediately. Only the card is public, and this listing was read from it without accepting the terms (checked 2026-10-21). Ollama's library build pulls with no account.",
      "pricing": "free",
      "pricingNotes": "Free to download and use, commercial use included, under the Gemma Terms of Use and its Prohibited Use Policy. Google sells no per-call access to these weights through the Gemini API. Running them costs very little hardware, 1.27 GB of F32 files, or 0.23 GB in the 4-bit QAT GGUF builds in LM Studio's and Ollama's libraries (checked 2026-10-21).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "Weights you download and run yourself, so there is nothing to pay per call and no payment protocol (checked 2026-10-21).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-21"
      },
      "docsUrl": "https://gemma.ai/models/embeddinggemma/model-card-v1.md",
      "llmsTxt": "https://gemma.ai/llms.txt",
      "capabilities": [
        "embed.text",
        "embed.multilingual",
        "embed.code",
        "model.open-weights"
      ],
      "tags": [
        "open-weights",
        "model",
        "embeddings",
        "multilingual",
        "matryoshka",
        "gated",
        "gemma-terms",
        "safetensors",
        "self-hosted"
      ],
      "lastRelease": "2025-09-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.7,
        "grade": "D",
        "agentReady": false,
        "rank": 0,
        "ranked": false,
        "notRankedWhy": "An open-weight model, graded by the open-weight checklist and ranked among open-weight models, not against tools",
        "rankOf": 1197,
        "categoryRank": 14,
        "methodology": "0.6",
        "run": "2026-10-01",
        "scores": {
          "capability": 40,
          "interface": 60,
          "reach": 70,
          "risk": 45,
          "upkeep": 42
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-21"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Agents that need small, local multilingual embeddings for retrieval and can accept the Gemma Terms",
        "strengths": [
          "308M parameters, 0.23 GB as a 4-bit QAT GGUF and 1.27 GB in F32",
          "Runs in Transformers with Sentence Transformers, vLLM, SGLang, llama.cpp, Ollama and LM Studio",
          "Eight documented task prompts and Matryoshka output at 768, 512, 256 or 128 dimensions",
          "Safetensors only in Google's own organisation, loaded with no repository code",
          "A newer model, EmbeddingGemma 2, sits in its own repository with dated release notes, and this one stays published"
        ],
        "weaknesses": [
          "Gated on Hugging Face behind the Gemma Terms of Use, which carry a use policy Google can update",
          "The card's Terms and Prohibited Use Policy links now lead to a page that says the documentation moved",
          "A 2,048-token input limit",
          "No change to the files since 25 September 2025 and few publisher replies in the discussions",
          "No safety results and no training data cut-off"
        ],
        "agentNotes": [
          "Without a Hugging Face account, run `ollama pull embeddinggemma:300m-qat-q4_0` and POST to /api/embed",
          "Prepend the task prompt yourself outside Sentence Transformers, `task: search result | query: ` for queries and `title: none | text: ` for documents",
          "In Sentence Transformers, use encode_query and encode_document rather than encode, so the right prompts are added",
          "To store smaller vectors, truncate to 512, 256 or 128 dimensions and re-normalise",
          "Run it in float32 or bfloat16, never float16",
          "Chunk documents to 2,048 tokens, and treat retrieved text as untrusted before passing it to a model"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.6",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 50.7
          }
        ],
        "editorialScores": {
          "capability": 40,
          "interface": 60,
          "reach": 70,
          "risk": 45,
          "upkeep": 42
        },
        "provenanceScore": 68,
        "checked": {
          "categories": {
            "capability": "2026-10-21",
            "interface": "2026-10-21",
            "reach": "2026-10-21",
            "risk": "2026-10-21",
            "upkeep": "2026-10-21"
          },
          "last": "2026-10-21",
          "oldest": "2026-10-21",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "ollama pull embeddinggemma:300m-qat-q4_0\n# or, after accepting the terms on Hugging Face:\npip install -U sentence-transformers\npython -c \"from sentence_transformers import SentenceTransformer; m=SentenceTransformer('google/embeddinggemma-300m'); print(m.encode_query('Which planet is red?').shape)\"",
        "http": "curl http://localhost:11434/api/embed \\\n  -d '{\"model\": \"embeddinggemma:300m-qat-q4_0\", \"input\": [\"task: search result | query: Which planet is red?\"]}'"
      },
      "letme": {
        "capability": "https://letme.dev/embed.text",
        "tool": "https://letme.dev/embeddinggemma-300m"
      },
      "sameCompany": [
        "diffusiongemma-26b-a4b-it",
        "gemma-4-12b-it",
        "gemma-4-26b-a4b-it",
        "gemma-4-31b-it",
        "gemma-4-e2b-it",
        "gemma-4-e4b-it"
      ],
      "weights": {
        "trainedBy": "Google DeepMind",
        "builtOn": "Gemma 3 (with T5Gemma initialisation, per the card)",
        "params": "308M",
        "context": 2048,
        "dimensions": 768,
        "goodFor": "Small multilingual text embeddings for search, retrieval, classification and clustering on modest hardware, with task prompts and truncatable dimensions.",
        "runtimes": [
          "llama.cpp",
          "Ollama",
          "vLLM",
          "SGLang",
          "LM Studio",
          "Transformers"
        ],
        "builds": [
          {
            "name": "embeddinggemma-300m",
            "url": "https://huggingface.co/google/embeddinggemma-300m",
            "who": "publisher",
            "precision": "f32",
            "sizeGB": 1.27,
            "memoryGB": 8,
            "format": "safetensors",
            "note": "Gated, the Gemma Terms of Use must be acknowledged on Hugging Face"
          },
          {
            "name": "ollama embeddinggemma:300m-qat-q4_0",
            "url": "https://ollama.com/library/embeddinggemma:300m-qat-q4_0",
            "who": "ollama",
            "precision": "q4_0",
            "sizeGB": 0.24,
            "memoryGB": 8,
            "format": "ollama",
            "runsOn": [
              "Ollama"
            ],
            "note": "Google's QAT Q4_0 weights (digest 101341d65c2c), 239 MB as Ollama's tags page shows it. The default tag is BF16 at 622 MB"
          },
          {
            "name": "lmstudio-community embeddinggemma-300m-qat-Q4_0",
            "url": "https://huggingface.co/lmstudio-community/embeddinggemma-300m-qat-GGUF",
            "who": "lmstudio",
            "precision": "q4_0",
            "sizeGB": 0.23,
            "memoryGB": 8,
            "format": "gguf",
            "runsOn": [
              "LM Studio",
              "llama.cpp"
            ],
            "note": "The build LM Studio's catalogue entry google/embedding-gemma-300m points to"
          }
        ],
        "run": "ollama pull embeddinggemma:300m-qat-q4_0",
        "runBuild": "ollama embeddinggemma:300m-qat-q4_0",
        "checked": "2026-10-21",
        "minMemoryGB": 8
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Google LLC (RDAP registrant of gemma.ai; the card names Google DeepMind as author)",
        "domain": "gemma.ai",
        "domainRegistered": "2017-12-16",
        "endpointOnVendorDomain": null,
        "terms": "https://gemma.ai/resources/terms.md",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://gemma.ai/models/releases.md",
        "securityTxt": "none",
        "checked": "2026-10-21",
        "notes": [
          "The registrant and registration date of gemma.ai are carried from the gemma-4-26b-a4b-it facts checked on 21 October 2026.",
          "Nothing is hosted, so the Gemma Terms of Use stand in for terms of service and no privacy policy is scored.",
          "gemma.ai's releases page dates the release (4 September 2025) and EmbeddingGemma 2 (6 October 2026). The repository's commit history is behind the gate; the Hub's metadata gives a last change of 25 September 2025.",
          "gemma.ai/.well-known/security.txt answers 404. Google's company-wide security.txt at google.com points to its vulnerability reward programme."
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/embeddinggemma-300m.json"
    },
    "answer": "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.",
    "b": {
      "slug": "granite-embedding-small-english-r2",
      "name": "Granite Embedding Small English R2",
      "vendor": "IBM",
      "vendorUrl": "https://www.ibm.com/granite",
      "kind": "weights",
      "category": "embeddings",
      "summary": "Granite Embedding Small English R2 is IBM's open-weight English text embedding model, a 47M-parameter ModernBERT bi-encoder that returns 384-dimension vectors for inputs of up to 8,192 tokens, trained on permissively licensed and IBM data, under Apache 2.0.",
      "url": "https://www.anchorterminal.com/tools/granite-embedding-small-english-r2",
      "markdownUrl": "https://www.anchorterminal.com/tools/granite-embedding-small-english-r2.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/granite-embedding-small-english-r2.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/granite-embedding-small-english-r2.json",
      "repo": "https://huggingface.co/ibm-granite/granite-embedding-small-english-r2",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "huggingface",
          "name": "ibm-granite/granite-embedding-small-english-r2"
        }
      ],
      "auth": "none",
      "authNotes": "The weights download from Hugging Face with no account, token or terms to accept. The repository isn't gated (checked 2026-10-21). The examples and paper are in the public GitHub repository ibm-granite/granite-embedding-models.",
      "pricing": "free",
      "pricingNotes": "Free to download and use, commercial use included, under Apache 2.0. IBM sells no per-call access to this model; watsonx.ai's embedding list has only the multilingual Granite embedding models. Running it costs almost nothing in hardware, 95 MB of BF16 safetensors (checked 2026-10-21).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "Weights you download and run yourself, so there is nothing to pay per call and no payment protocol (checked 2026-10-21).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-21"
      },
      "docsUrl": "https://github.com/ibm-granite/granite-embedding-models",
      "capabilities": [
        "embed.text",
        "embed.code",
        "model.open-weights"
      ],
      "tags": [
        "open-weights",
        "model",
        "embeddings",
        "english",
        "modernbert",
        "long-context",
        "apache-2.0",
        "safetensors",
        "self-hosted"
      ],
      "lastRelease": "2026-01-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 41.7,
        "grade": "E",
        "agentReady": false,
        "rank": 0,
        "ranked": false,
        "notRankedWhy": "An open-weight model, graded by the open-weight checklist and ranked among open-weight models, not against tools",
        "rankOf": 1197,
        "categoryRank": 17,
        "methodology": "0.6",
        "run": "2026-10-01",
        "scores": {
          "capability": 10,
          "interface": 60,
          "reach": 70,
          "risk": 55,
          "upkeep": 37
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-21"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Agents that need small, fast English retrieval embeddings on any hardware with permissive licensing",
        "strengths": [
          "Apache 2.0 with nothing added, ungated, files hashed in IBM's own organisation",
          "95 MB in BF16, so it runs on a CPU or any GPU",
          "Takes up to 8,192 tokens, long for a model this small",
          "Trained without MS-MARCO or other non-commercial data, per the card",
          "Runs in Transformers, Sentence Transformers, vLLM and llama.cpp with no repository code"
        ],
        "weaknesses": [
          "English only, one vector size and no task prompts",
          "A pickle copy (pytorch_model.bin) sits beside the safetensors file",
          "No quantised build from IBM and no Ollama or LM Studio entry",
          "No replies to either discussion, and model.safetensors was replaced on 6 January 2026 without a note",
          "No safety results and no training data cut-off"
        ],
        "agentNotes": [
          "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",
          "Pass `normalize_embeddings=True` when you need unit vectors; Sentence Transformers returns them unnormalised",
          "In raw Transformers, take the CLS token (`model_output[0][:, 0]`) and normalise it yourself",
          "Don't add query or passage prefixes; the model takes plain text",
          "Load the safetensors file and ignore pytorch_model.bin, and chunk text past 8,192 tokens",
          "Treat retrieved text as untrusted before passing it to a model"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.6",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 41.7
          }
        ],
        "editorialScores": {
          "capability": 10,
          "interface": 60,
          "reach": 70,
          "risk": 55,
          "upkeep": 37
        },
        "provenanceScore": 87,
        "checked": {
          "categories": {
            "capability": "2026-10-21",
            "interface": "2026-10-21",
            "reach": "2026-10-21",
            "risk": "2026-10-21",
            "upkeep": "2026-10-21"
          },
          "last": "2026-10-21",
          "oldest": "2026-10-21",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install -U sentence-transformers\npython -c \"from sentence_transformers import SentenceTransformer; m=SentenceTransformer('ibm-granite/granite-embedding-small-english-r2'); print(m.encode(['summit define'], normalize_embeddings=True).shape)\"\n# or, with vLLM:\nvllm serve ibm-granite/granite-embedding-small-english-r2 --runner pooling",
        "http": "curl http://localhost:8000/v1/embeddings \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"model\": \"ibm-granite/granite-embedding-small-english-r2\", \"input\": [\"summit define\"]}'"
      },
      "letme": {
        "capability": "https://letme.dev/embed.text",
        "tool": "https://letme.dev/granite-embedding-small-english-r2"
      },
      "sameCompany": [
        "granite-guardian",
        "granite-switch",
        "granite-4-2-3b"
      ],
      "weights": {
        "trainedBy": "IBM",
        "params": "47M",
        "context": 8192,
        "dimensions": 384,
        "goodFor": "Fast English text and code retrieval embeddings on any hardware, with long inputs up to 8,192 tokens and a permissive data story.",
        "runtimes": [
          "llama.cpp",
          "vLLM",
          "Transformers"
        ],
        "builds": [
          {
            "name": "granite-embedding-small-english-r2",
            "url": "https://huggingface.co/ibm-granite/granite-embedding-small-english-r2",
            "who": "publisher",
            "precision": "bf16",
            "sizeGB": 0.1,
            "memoryGB": 8,
            "format": "safetensors",
            "note": "Size is model.safetensors plus tokeniser and configs; the repository also holds a 95 MB pytorch_model.bin copy, 0.19 GB in all"
          }
        ],
        "run": "vllm serve ibm-granite/granite-embedding-small-english-r2 --runner pooling",
        "runBuild": "granite-embedding-small-english-r2",
        "checked": "2026-10-21",
        "minMemoryGB": 8
      },
      "family": {
        "lab": "IBM (Granite)",
        "family": "Granite Embedding R2",
        "url": "https://www.anchorterminal.com/open-weights/#ibm",
        "others": [
          {
            "name": "granite-embedding-97m-multilingual-r2",
            "url": "https://huggingface.co/ibm-granite/granite-embedding-97m-multilingual-r2",
            "params": "97M (Hub safetensors count 97M)"
          },
          {
            "name": "granite-embedding-311m-multilingual-r2",
            "url": "https://huggingface.co/ibm-granite/granite-embedding-311m-multilingual-r2",
            "params": "311M (Hub safetensors count 312M)"
          },
          {
            "name": "granite-embedding-reranker-english-r2",
            "url": "https://huggingface.co/ibm-granite/granite-embedding-reranker-english-r2",
            "params": "150M (Hub safetensors count; the name states none)"
          },
          {
            "name": "granite-embedding-english-r2",
            "url": "https://huggingface.co/ibm-granite/granite-embedding-english-r2",
            "params": "149M (Hub safetensors count; the name states none)"
          }
        ],
        "olderCount": 64
      },
      "area": "models",
      "provenance": {
        "legalEntity": "International Business Machines Corporation",
        "domain": "ibm.com",
        "domainRegistered": "1986-03-19",
        "endpointOnVendorDomain": null,
        "terms": "https://www.apache.org/licenses/LICENSE-2.0",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://huggingface.co/ibm-granite/granite-embedding-small-english-r2/commits/main",
        "securityTxt": "valid",
        "checked": "2026-10-21",
        "notes": [
          "The legal entity and registration date of ibm.com are carried from the granite-guardian listing's provenance, checked on 8 October 2026. www.ibm.com/granite links to huggingface.co/ibm-granite.",
          "Nothing is hosted, so the Apache 2.0 licence stands in for terms of service and no privacy policy is scored.",
          "The Hugging Face commit history has seven commits from 17 July 2025 to 21 January 2026. Most messages don't say what changed.",
          "www.ibm.com/.well-known/security.txt lists IBM PSIRT, HackerOne and an email contact and expires on 21 November 2026. Neither ibm-granite/granite-embedding-models nor the ibm-granite organisation's .github repository has a SECURITY file."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/granite-embedding-small-english-r2.json"
    },
    "facts": [
      {
        "a": "Open-weight model",
        "b": "Open-weight model",
        "name": "Kind"
      },
      {
        "a": "Google DeepMind",
        "b": "IBM",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Gemma Terms of Use",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2025-09-25",
        "b": "2026-01-21",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3/5 (4)",
        "b": "3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "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.",
        "question": "Which is better for AI agents, EmbeddingGemma 300M or Granite Embedding Small English R2?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Capability, 40 against 10",
          "Documentation and upkeep, 42 against 37"
        ],
        "also": null,
        "goodFor": "Agents that need small, local multilingual embeddings for retrieval and can accept the Gemma Terms",
        "slug": "embeddinggemma-300m",
        "watchFor": "Gated on Hugging Face behind the Gemma Terms of Use, which carry a use policy Google can update"
      },
      {
        "aheadOn": [
          "Risk, 55 against 45"
        ],
        "also": null,
        "goodFor": "Agents that need small, fast English retrieval embeddings on any hardware with permissive licensing",
        "slug": "granite-embedding-small-english-r2",
        "watchFor": "English only, one vector size and no task prompts"
      }
    ],
    "job": {
      "capability": "embed.text",
      "name": "Text embeddings"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-jina-embeddings-v5-omni-small.json",
        "title": "EmbeddingGemma 300M vs jina-embeddings-v5-omni-small",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-jina-embeddings-v5-omni-small"
      },
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-embedding-0-6b.json",
        "title": "EmbeddingGemma 300M vs Qwen3-Embedding-0.6B",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-embedding-0-6b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-embedding-4b.json",
        "title": "EmbeddingGemma 300M vs Qwen3-Embedding-4B",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-embedding-4b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-embedding-8b.json",
        "title": "EmbeddingGemma 300M vs Qwen3-Embedding-8B",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-embedding-8b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-vl-embedding-2b.json",
        "title": "EmbeddingGemma 300M vs Qwen3-VL-Embedding-2B",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-vl-embedding-2b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-vl-embedding-8b.json",
        "title": "EmbeddingGemma 300M vs Qwen3-VL-Embedding-8B",
        "url": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-vl-embedding-8b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-jina-embeddings-v5-omni-small.json",
        "title": "Granite Embedding Small English R2 vs jina-embeddings-v5-omni-small",
        "url": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-jina-embeddings-v5-omni-small"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-0-6b.json",
        "title": "Granite Embedding Small English R2 vs Qwen3-Embedding-0.6B",
        "url": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-0-6b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-4b.json",
        "title": "Granite Embedding Small English R2 vs Qwen3-Embedding-4B",
        "url": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-4b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-8b.json",
        "title": "Granite Embedding Small English R2 vs Qwen3-Embedding-8B",
        "url": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-8b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-vl-embedding-2b.json",
        "title": "Granite Embedding Small English R2 vs Qwen3-VL-Embedding-2B",
        "url": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-vl-embedding-2b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-vl-embedding-8b.json",
        "title": "Granite Embedding Small English R2 vs Qwen3-VL-Embedding-8B",
        "url": "https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-vl-embedding-8b"
      }
    ],
    "scores": [
      {
        "by": 30,
        "edge": "embeddinggemma-300m",
        "embeddinggemma-300m": 40,
        "granite-embedding-small-english-r2": 10,
        "key": "capability",
        "name": "Capability",
        "weight": 35
      },
      {
        "by": 0,
        "edge": "",
        "embeddinggemma-300m": 70,
        "granite-embedding-small-english-r2": 70,
        "key": "reach",
        "name": "Reach",
        "weight": 25
      },
      {
        "by": 10,
        "edge": "granite-embedding-small-english-r2",
        "embeddinggemma-300m": 45,
        "granite-embedding-small-english-r2": 55,
        "key": "risk",
        "name": "Risk",
        "weight": 20
      },
      {
        "by": 0,
        "edge": "",
        "embeddinggemma-300m": 60,
        "granite-embedding-small-english-r2": 60,
        "key": "interface",
        "name": "Agent interface",
        "weight": 10
      },
      {
        "by": 5,
        "edge": "embeddinggemma-300m",
        "embeddinggemma-300m": 42,
        "granite-embedding-small-english-r2": 37,
        "key": "upkeep",
        "name": "Documentation and upkeep",
        "weight": 10
      }
    ],
    "summary": "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.",
    "tutorials": [],
    "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-granite-embedding-small-english-r2",
    "json": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-granite-embedding-small-english-r2.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-granite-embedding-small-english-r2.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-granite-embedding-small-english-r2.min.md"
  },
  "markdown": "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.\n\n- 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\n- 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\n- Best embedding and reranking APIs for AI agents: https://www.anchorterminal.com/best/embeddings/index.md\n- All 73 embeddings comparisons: https://www.anchorterminal.com/compare/embeddings/index.md\n\n## Which one, for what\n\n### EmbeddingGemma 300M (D)\n\nGood for: Agents that need small, local multilingual embeddings for retrieval and can accept the Gemma Terms\n\nAhead on:\n- Capability, 40 against 10\n- Documentation and upkeep, 42 against 37\n\nWatch for: Gated on Hugging Face behind the Gemma Terms of Use, which carry a use policy Google can update\n\n### Granite Embedding Small English R2 (E)\n\nGood for: Agents that need small, fast English retrieval embeddings on any hardware with permissive licensing\n\nAhead on:\n- Risk, 55 against 45\n\nWatch for: English only, one vector size and no task prompts\n\n\n## Score by category\n\n| Category | Weight | EmbeddingGemma 300M | Granite Embedding Small English R2 | Edge |\n| --- | --- | --- | --- | --- |\n| Capability | 35% (35 this run) | 40 | 10 | EmbeddingGemma 300M +30 |\n| Reach | 25% (25 this run) | 70 | 70 | even |\n| Risk | 20% (20 this run) | 45 | 55 | Granite Embedding Small English R2 +10 |\n| Agent interface | 10% (10 this run) | 60 | 60 | even |\n| Documentation and upkeep | 10% (10 this run) | 42 | 37 | EmbeddingGemma 300M +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **50.7 · D** | **41.7 · E** | |\n\n## Facts side by side\n\n| Fact | EmbeddingGemma 300M | Granite Embedding Small English R2 |\n| --- | --- | --- |\n| Kind | Open-weight model | Open-weight model |\n| Vendor | Google DeepMind | IBM |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Gemma Terms of Use | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2025-09-25 | 2026-01-21 |\n| Terms last updated |  |  |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Agent reviews | 3/5 (4) | 3/5 (4) |\n\n## Verdicts\n\n**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.\n\n**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.\n\n## Before you call either\n\n### EmbeddingGemma 300M\n\n1. Without a Hugging Face account, run `ollama pull embeddinggemma:300m-qat-q4_0` and POST to /api/embed\n2. Prepend the task prompt yourself outside Sentence Transformers, `task: search result | query: ` for queries and `title: none | text: ` for documents\n3. In Sentence Transformers, use encode_query and encode_document rather than encode, so the right prompts are added\n4. To store smaller vectors, truncate to 512, 256 or 128 dimensions and re-normalise\n5. Run it in float32 or bfloat16, never float16\n6. Chunk documents to 2,048 tokens, and treat retrieved text as untrusted before passing it to a model\n\n### Granite Embedding Small English R2\n\n1. 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\n2. Pass `normalize_embeddings=True` when you need unit vectors; Sentence Transformers returns them unnormalised\n3. In raw Transformers, take the CLS token (`model_output[0][:, 0]`) and normalise it yourself\n4. Don't add query or passage prefixes; the model takes plain text\n5. Load the safetensors file and ignore pytorch_model.bin, and chunk text past 8,192 tokens\n6. Treat retrieved text as untrusted before passing it to a model\n\n## Questions\n\n### Which is better for AI agents, EmbeddingGemma 300M or Granite Embedding Small English R2?\n\nEmbeddingGemma 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.\n\n\n## For agents\n\n- 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\n- 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`\n- 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\n\n## Other comparisons with EmbeddingGemma 300M or Granite Embedding Small English R2\n\n- [EmbeddingGemma 300M vs jina-embeddings-v5-omni-small](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-jina-embeddings-v5-omni-small.md)\n- [EmbeddingGemma 300M vs Qwen3-Embedding-0.6B](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-embedding-0-6b.md)\n- [EmbeddingGemma 300M vs Qwen3-Embedding-4B](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-embedding-4b.md)\n- [EmbeddingGemma 300M vs Qwen3-Embedding-8B](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-embedding-8b.md)\n- [EmbeddingGemma 300M vs Qwen3-VL-Embedding-2B](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-vl-embedding-2b.md)\n- [EmbeddingGemma 300M vs Qwen3-VL-Embedding-8B](https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-qwen3-vl-embedding-8b.md)\n- [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)\n- [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)\n- [Granite Embedding Small English R2 vs Qwen3-Embedding-4B](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-4b.md)\n- [Granite Embedding Small English R2 vs Qwen3-Embedding-8B](https://www.anchorterminal.com/compare/granite-embedding-small-english-r2-vs-qwen3-embedding-8b.md)\n- [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)\n- [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)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-21",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.6",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "EmbeddingGemma 300M vs Granite Embedding Small English R2",
        "url": ""
      }
    ],
    "description": "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.",
    "facts": [
      "EmbeddingGemma 300M D 50.7",
      "Granite Embedding Small English R2 E 41.7",
      "scores"
    ],
    "h1": "EmbeddingGemma 300M vs Granite Embedding Small English R2",
    "image": "https://www.anchorterminal.com/assets/og/compare-embeddinggemma-300m-vs-granite-embedding-small-english-r2.png",
    "path": "/compare/embeddinggemma-300m-vs-granite-embedding-small-english-r2",
    "published": "2026-10-01",
    "section": "tools",
    "title": "EmbeddingGemma 300M vs Granite Embedding Small English R2 (2026)",
    "toc": null,
    "updated": "2026-10-21",
    "url": "https://www.anchorterminal.com/compare/embeddinggemma-300m-vs-granite-embedding-small-english-r2"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 480
  },
  "version": 1
}
