Free Models on OpenRouter
OpenRouter offers 28+ free models as of June 2026 - no credit card required. Free models are rate-limited but genuinely useful for prototyping, low-volume production, and exploring the model landscape without spend.
How the Free Tier Works
Free models are tagged with :free in their model ID. OpenRouter covers the inference cost itself to promote model discovery. There is also a special router - openrouter/free - that automatically picks an available free model that supports the features your request needs (tool calling, vision, structured output, etc.).
Best Free Models (June 2026)
| Model | OpenRouter ID | Context | Best for |
|---|---|---|---|
| Llama 3.3 70B | meta-llama/llama-3.3-70b-instruct:free | 128K | General chat, writing, analysis |
| DeepSeek R1 | deepseek/deepseek-r1:free | 64K | Reasoning, maths, step-by-step problems |
| Qwen3 8B | qwen/qwen3-8b:free | 40K | Fast chat, multilingual (29 languages) |
| Qwen3 Coder 480B | qwen/qwen3-coder-480b:free | 262K | Coding - largest free model available |
| Gemma 3 12B | google/gemma-3-12b-it:free | 96K | Instruction following, structured output |
| Gemini Flash 1.5 | google/gemini-flash-1.5:free | 1M | Long-context tasks, document analysis |
| Mistral Nemo | mistralai/mistral-nemo:free | 128K | European data, function calling |
| Phi-4 | microsoft/phi-4:free | 16K | Efficient reasoning on short tasks |
The openrouter/free Router
Instead of picking a specific free model, you can use openrouter/free as the model name - OpenRouter selects the best available free model based on what your request needs:
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-your_key",
)
# Let OpenRouter pick the best available free model
response = client.chat.completions.create(
model="openrouter/free",
messages=[{"role": "user", "content": "Summarise this document..."}]
)
# For requests needing tool calling, OpenRouter filters to
# free models that support tool use - you don't need to know which ones
response = client.chat.completions.create(
model="openrouter/free",
messages=[{"role": "user", "content": "What's the weather in London?"}],
tools=[{"type": "function", "function": {"name": "get_weather", ...}}]
)Bring Your Own Key (BYOK)
If you already have API keys for Anthropic, OpenAI, or Google, you can use them through OpenRouter at zero markup - OpenRouter passes the request straight through. Every account gets 1,000,000 BYOK requests/month free. This is useful when you want unified routing without paying the 5.5% OpenRouter markup on paid models you already have access to.
Practical Limits and Gotchas
Each free model has its own rate limit (typically 20 req/min, 50โ1000 req/day). If you hit a limit on one model, switch to another - they don't share limits.
Free models are subsidised by OpenRouter - they can be added, removed, or rate-limited more aggressively at any time. Don't build a production dependency on a specific free model ID; use openrouter/free or have a fallback.
Set the X-OpenRouter-Cache header on any request - identical requests return cached responses instantly at zero cost. Useful for repeated queries in dev and for RAG retrieval steps.