LLM in the Browser
Run open-source language models in your browser without sending data off-device. Smaller models download faster; larger models generally offer stronger results.
Pick a model to run in your browser
Downloads once, then caches in your browser. Nothing leaves this device.
Detecting device capabilities...SmolLM2 135M
Hugging Face2024118 MBDecoder2K ctx
Tuned with DPO for on-device chat, text rewriting, and function calls
LFM2.5 350M
Liquid AI2026255 MBHybrid33K ctx
Designed for tool calling and structured extraction; covers 9 languages
SmolLM2 360M
Hugging Face2024273 MBDecoder2K ctx
Stronger at reasoning and instructions while staying fully on-device
Gemma 3 270M
Google2025273 MBDecoder33K ctx
Smallest Gemma 3 instruct model; 140+ languages in a 32k context window
Florence 2 Base
230MMicrosoft2024332 MBVision
Single model for captioning, object detection, OCR, and phrase grounding
Qwen 3.5 0.8B
Alibaba2025470 MBDecoder33K ctx
Toggles thinking mode on or off; covers 100+ languages and agent tasks
Qwen 3 0.6B
Alibaba2025570 MBDecoder41K ctx
Official Qwen3 0.6B instruct export; togglable thinking, 40k context
LaMini Flan-T5 248M
MBZUAI2023589 MBSeq2Seq1K ctx
Fine-tuned on 2.58M LaMini instructions for general instruction following
Qwen 3.5 0.8B Uncensored
Goekdeniz-Guelmez2026647 MBDecoder33K ctx
Josiefied gabliteration of Qwen 3.5 0.8B. Transformers.js 4.2 loads the text graph only (embed + decoder)
Qwen 3 0.6B Abliterated
DavidAU2025648 MBDecoder41K ctx
Heretic abliteration of Qwen3 0.6B: refusals dropped, KL divergence left at zero so the tiny model stays intact
BART Large CNN
406MMeta2022950 MBSeq2Seq1K ctx
Dedicated news summariser fine-tuned on CNN/DailyMail text-summary pairs
Llama 3.2 1B
1.24BMeta20241.1 GBDecoder4K ctx
Distilled from larger models for fast on-device chat and tool use
Qwen 2.5 1.5B
Alibaba20241.2 GBDecoder33K ctx
Tuned for coding, math, and reliable structured output like JSON
Qwen 2.5 Coder 1.5B
Alibaba20241.3 GBDecoder33K ctx
Handles code generation, fixing, and reasoning across 40+ programming languages
Granite 4.0 1B Speech
IBM20261.5 GBASR
Speech recognition and translation across 6 languages, ranked #1 on OpenASR
SmolLM3 3B
Hugging Face20252.1 GBDecoder128K ctx
Supports togglable thinking mode and tool calling; fully open weights
Phi 3.5 Mini
3.8BMicrosoft20242.3 GBDecoder131K ctx
Trained on textbook-quality data for strong reasoning and coding
Janus Pro 1B
DeepSeek20253.0 GBMultimodal
Generates images from text and answers questions about image content
Gemma 4 E2B
2.3BGoogle20263.4 GBMultimodal128K ctx
Accepts text, images, and audio; reasons and generates text in 140+ languages
Model types
- Decoder
- The most common architecture for chat. Generates text left-to-right, one token at a time. Used by GPT, Llama, Qwen, Gemma, Phi, and SmolLM. Good for conversation, creative writing, and general instruction-following.
- Seq2Seq
- Encoder-decoder models that read the full input before generating output. Better for structured tasks like translation, summarisation, and Q&A. FLAN-T5 uses this architecture.
- Hybrid
- Combines convolution and attention layers for efficient on-device inference. LFM2.5 from Liquid AI uses this novel architecture, achieving strong performance at very small sizes.
- Vision
- Processes images as input and produces text descriptions. Florence 2 can caption images, read text via OCR, and detect objects.
- Multimodal
- Handles multiple input or output types. Janus Pro generates and understands images. Gemma 4 E2B accepts text, images, and audio.
- TTS (Text-to-Speech)
- Converts written text into natural-sounding audio. Kokoro produces speech across 54 voices and 8 languages.
- ASR (Speech Recognition)
- Converts spoken audio into text. Granite 4.0 is the top-ranked open model on the OpenASR leaderboard.
How does in-browser AI work?
Everything on this page runs locally in your browser. These panels explain the technology behind it.
How does this work?
Step 1: Choose a model. The model files (ONNX format) are downloaded from Hugging Face directly to your browser cache. This is a one-time download per model.
Step 2: The model loads into memory. Transformers.js creates an inference pipeline using either WebGPU (GPU-accelerated) or WASM (CPU fallback), depending on your hardware.
Step 3: When you send a message, the model generates a response token-by-token inside a Web Worker. The worker runs off the main thread so the UI stays responsive. No data ever leaves your browser.
What are small language models?
Large language models like GPT-4 have hundreds of billions of parameters and require data-centre-grade hardware. Small language models (SLMs) have from tens of millions up to a few billion parameters -small enough to run entirely in your browser.
The models here range from 82M parameters (Kokoro, ~92MB) to 3.8B parameters (Phi 3.5 Mini, ~2.3GB). For comparison, GPT-3 had 175 billion parameters -roughly 46 times larger than the biggest model on this page.
SLMs are surprisingly capable for their size. They can answer questions, follow instructions, and generate coherent text. They struggle with complex reasoning, factual accuracy, and long outputs -but they demonstrate the core mechanics of how language models work.
Causal vs Seq2Seq architecture
Causal (decoder-only) models generate text left-to-right, predicting one token at a time. Each token can only "see" the tokens before it. GPT, LLaMA, and SmolLM all use this architecture. They are good at open-ended generation and conversation.
Seq2Seq (encoder-decoder) models like T5 and FLAN-T5 first encode the entire input into a representation, then decode an output from it. This makes them better at tasks with clear input-output mappings like translation, summarisation, and question-answering.
On this page, SmolLM2 and Qwen are causal models that support multi-turn chat. FLAN-T5 is a seq2seq model -it processes each message independently without conversation history, which makes it better suited for single-turn Q&A.
Quantization explained
Neural network weights are normally stored as 32-bit floating point numbers (FP32). A 360M-parameter model at FP32 would need about 1.4GB. Quantization reduces precision to shrink the model and speed up inference.
INT8 quantization uses 8-bit integers, cutting size by ~4x with minimal quality loss. Q4F16 (4-bit weights, 16-bit activations) cuts size by ~8x -the SmolLM2 360M model drops from ~1.4GB to ~273MB. The trade-off is a small reduction in output quality.
Most models on this page use Q4F16 quantization via Transformers.js (a few, like Kokoro and BART, use INT8). This is why a "360 million parameter" model only needs a ~273MB download instead of the ~1.4GB you might expect. The quality loss from quantization is barely noticeable at this scale.
WebGPU vs WASM
WebGPU is a modern browser API that gives JavaScript direct access to GPU compute shaders. When available, Transformers.js runs matrix multiplications on the GPU, which can be 5-20x faster than CPU execution for model inference.
WASM (WebAssembly) is the fallback. The ONNX Runtime compiles to WASM and runs model inference on the CPU. It works in every modern browser but is significantly slower, especially for larger models.
This page automatically detects whether your browser supports WebGPU. Chrome 113+ and Edge 113+ have WebGPU enabled by default. Safari and Firefox have partial or experimental support. If WebGPU is unavailable, the models will still work -just more slowly.
Risks of abliterated models
This page includes two tiny abliterated chat models: Qwen 3.5 0.8B Uncensored (the Josiefied Qwen 3.5 export) and Qwen 3 0.6B Abliterated (Heretic), next to the official Qwen 3 0.6B chat row. Abliterated or gabliterated weights are modified to reduce refusal behaviour, often by editing internal refusal directions so the model is more likely to comply with prompts that aligned models would reject.
This can increase unsafe-compliance risk: the model may provide harmful, deceptive, explicit, or policy-violating instructions with less resistance. Treat outputs as untrusted text and verify everything independently.
Quality can also shift. Public evaluations report mixed capability trade-offs after refusal-direction edits, including potential regressions or behaviour drift depending on the model and method used.
Use these models only for controlled testing, research, and red-team style experimentation. Don't use them for medical, legal, financial, security-critical, or other high-stakes decisions.
When less-restricted models are useful
Authorised security testing: less-restricted models can help defenders run realistic attack simulations against their own systems (prompt-injection tests, phishing simulations, exploit-chain reasoning, and weak-control discovery) before adversaries do.
Guardrail stress-testing: security teams can use these models to find where policy filters break, then harden downstream controls (sandboxing, tool permissions, network egress rules, approval steps, and output validation) using standards like OWASP LLM guidance.
Incident-response training: they are useful for tabletop exercises, SOC runbooks, and replaying historical attack scenarios with more adversarial dialogue than heavily restricted hosted assistants allow.
Local availability: when cloud-hosted APIs are unavailable due to network, cost, or data-residency constraints, local models can support lawful product exploration and engineering brainstorming. This doesn't mean safety guardrails are unnecessary. Always apply your own controls.
Research flexibility: teams can evaluate model behaviour under difficult prompts, compare alignment trade-offs, and build safer production wrappers around a transparent local baseline. Always keep use authorised, legal, and contained.
Why run AI locally?
Privacy: Your messages never leave your device. There's no server, no API, and no logging. Everything runs in your browser tab.
No cost: Cloud-based LLM APIs charge per token. Running locally is completely free after the one-time model download.
No rate limits: There are no API quotas or throttling. Generate as much text as you want.
Offline capable: Once a model is cached in your browser, you can use it without an internet connection.
Educational value: You can see exactly how a language model behaves -its strengths, weaknesses, and failure modes -without any filtering or post-processing.
The trade-off is quality: these small models can't match the capabilities of cloud-hosted models with hundreds of billions of parameters. But for learning, experimentation, and privacy-sensitive tasks, local inference is a genuine alternative.
Thank you to the open-source ecosystem powering this page.
We gratefully acknowledge Hugging Face Hub, Transformers.js, ONNX Runtime Web, the ONNX Community, and model authors/publishers including Hexgrad, Hugging Face, Liquid AI, Google, Microsoft, Alibaba, MBZUAI, Goekdeniz-Guelmez. Please review each model card and licence before use.