Private AI Chat
On Your Phone.

Run full AI models on your phone, fast. 46 to 57 tok/s on small models with TurboQuant, full chat on 14B+ models, plus on-device vision and image generation. Build AI personas, roleplay with group chat, automate with on-device agents, search your documents, and hear responses with offline TTS, and your AI remembers you across every conversation. Private by default.

100% offline Zero telemetry Free during beta iPhone & Android
TokForge: Mobile LLM Tuning

See It Running Offline

Airplane mode on. No Wi-Fi. No data. Still generating.

Tap to play demo
✈ Fully offline · 10+ tok/s on-device
Galaxy S24 · Snapdragon 8 Gen 3 · Qwen3-8B

AI Personas & Characters NEW

Build reusable personas, bind one per conversation, and import character cards or whole chats from SillyTavern, Layla, and PocketPal. Each character feels different because each one is.

Auto-Optimized for Your Device

Three inference backends and five GPU paths. TokForge detects your hardware and picks the fastest config automatically. No tuning required.

Blazing Small-Model Speed HOT

46 to 57 tok/s on small models with TQ4 TurboQuant. Aggressive GPU quantization that makes lightweight models fly.

Chat With Your Documents

Attach PDFs, DOCX, or EPUB files. TokForge summarizes, indexes, and searches them so your AI can answer grounded in your documents, all on-device.

Hear Your AI Speak

Offline text-to-speech with 11 natural voices and adjustable speed. Powered by Kokoro TTS. No internet, no latency, no data sent anywhere.

Generate Images Offline NEW

Stable Diffusion runs on your phone. No cloud, no API fees. SD1.5-Turbo, LCM, SD3.x, and an optional NPU Fast tier. Lock a face or subject across images with reference-image identity (IP-Adapter), plus LoRA and multi-subject support.

Send Your AI a Picture NEW

Attach a photo and ask about it. Qwen3-VL and Gemma-4 Omni run natively; SmolVLM ships as a sidecar for models without built-in vision. Text, vision, audio, and video, all on-device.

On-Device AI Agents NEW

Build no-code agents that call tools and run multi-step tasks, all on your phone. Ships with built-in agents and a simple builder, with triggers and bounded loops.

Roleplay & Group Chat NEW

A dedicated roleplay mode with lorebooks, multi-character group chat, and rotation modes. Bring your whole cast into one scene.

Cross-Device Benchmark Matrix

Real devices. Real tok/s. Reproducible configs.

Live Phone-Speed Leaderboard showing real benchmarks submitted from the app by the community, updated continuously.
View live leaderboard →
Updated: 2026-05-15 (latest validated fleet snapshot) Methodology →

Vulkan is a lab lane, not a production default

Vulkan is built, tested, and visible in the app, but it stays lab-only unless a route proves correctness and beats CPU/OpenCL on a specific device/model. MNN Vulkan on Mali-G925 has unresolved numeric corruption (release builds route Vulkan→CPU automatically); MNN Vulkan on Adreno is unstable. The only Vulkan path that ships by default is GGUF Vulkan with cooperative matrix on D9400/D9300 Mali.

GGUF Vulkan: CoopMat (ships by default on D9400/D9300) Vulkan

Device SoC Model tok/s vs CPU
OnePlus Ace 5 Ultra D9400 3B Q4_K_M 16.85 3.4x
OnePlus Ace 5 Ultra D9400 8B Q4_K_M 8.07 ~2x

Reaches every D9400/D9300 user with zero configuration via BackendCapabilityResolver. Pixel Tensor G4/G3 (Mali-G715) Vulkan unlock with VkPipelineCache cold-compile is in beta validation.

MNN Vulkan AR: lab ceiling (not shipped) debug-only

Device SoC Model Burst tok/s Reachability
OnePlus Ace 5 Ultra D9400 Qwen3-8B 15.3 (peak 20.66) debug build only
OnePlus Ace 5 Ultra D9400 Qwen3-14B 14.1 debug build only

Custom NHWC4 GEMV shader on Mali-G925, WGS=64 optimal. These numbers require vulkanG925OverrideEnabled=true (debug-only flag, stripped from release builds) because applyVulkanModelStabilityGuards routes Vulkan→CPU on G925 due to unpatched MNN Vulkan AllShader.cpp corruption. Listed for transparency, not a number a user can hit today. Thermal steady state is ~7 tok/s (GPU power-limit, not model-dependent).

Why CPU and OpenCL still win

After the libOpenCL stub fix landed in RC20.14 (April 17), every fleet OpenCL number is now ground-truth. On 4 of 5 tested Snapdragon/Dimensity SoCs at 1.7B to 8B, the current CPU recipe with nThreads=2 still ties or beats OpenCL. That's why production defaults route through CPU/OpenCL per device, not Vulkan.

Cross-Device Fleet Results (2026-05-15 release-gate snapshot)

Device SoC Model Route Warm tok/s
Redmi K70 Ultra MT6989 Qwen3.5-0.8B CPU hot-KV 40.94
RedMagic 11 Pro SM8850 Qwen3-8B OpenCL 14.27
Galaxy S20 SM8250 Qwen3-1.7B CPU hot-KV 14.16
Galaxy S26 Ultra SM8850 Samsung Qwen3-8B OpenCL ~11.8
OnePlus Ace 5 Ultra MT6991 (D9400) Qwen3-8B CPU hot-KV 9.67
Redmi K70 Ultra MT6989 Qwen3-8B CPU hot-KV 8.03
Pixel 10 Pro XL Tensor G5 Qwen3.5-9B CPU hot-KV 6.01
Galaxy S26 Ultra SM8850 Samsung Qwen3-14B OpenCL ~5.4
Pixel 9 Pro XL Tensor G4 Qwen3-8B CPU hot-KV 4.35
Galaxy S26 Ultra SM8850 Samsung Qwen3.6-27B* CPU mmap loads on 15 GB

Sustained warm decode (turn 2+ with delta KV reuse). Routes are device-class production defaults via BackendCapabilityResolver + ModelFamilyDefaults. CPU "hot-KV" uses 2-thread Oryon-optimal lane with delta prefill on multi-turn chat. * Qwen3.6-27B (18.9 GB indexed / 17.7 GB effective weights) loads on a 15 GB-RAM phone via the experimental mmap profile. Slow first turn but it loads.

All numbers are post the RC20.14 libOpenCL stub fix (April 17, 2026). Pre-fix OpenCL numbers were silently shadowed by a stub binary and are not comparable.

MNN vs GGUF: Backend Comparison (RedMagic 11 Pro, SM8850)

Model MNN OpenCL GGUF CPU MNN Advantage
Qwen3-0.6B 34.8 42.7 −18%
Qwen3-1.7B 27.4 16.3 +68%
Qwen3-4B 20.68 9.0 +130%
Qwen3-8B 14.05 5.4 +160%
Qwen3-14B 8.25 2.7 +206%

MNN OpenCL overtakes GGUF CPU at 1.7B+ parameters. At 14B, MNN is 3x faster. GGUF wins only on tiny models (<1B) where CPU overhead is negligible. GGUF uses KleidiAI i8mm + futex barrier threading (2T optimal on Snapdragon 8 Elite).

GGUF Decode Speed by Model Size

Model Quant Threads Decode tok/s Prefill tok/s
Qwen3-0.6B Q4_K_M 2T 42.7 113.0
Qwen3-1.7B Q4_K_M 2T 16.3 43.9
Llama-3.2-3B Q4_K_M 2T 10.1 26.6
Qwen3-4B Q4_K_M 2T 9.0 20.7
Qwen3-8B Q4_K_M 2T 5.4 12.0
Qwen3-14B Q4_K_M 2T 2.7 5.8

GGUF uses llama.cpp with KleidiAI i8mm acceleration and futex barrier threading. 2 threads consistently outperforms 4 threads on Snapdragon 8 Elite.

Key Findings

  • Vision and image generation, also offline: Qwen3-VL and Gemma-4 Omni answer image-attached prompts; SD1.5-Turbo and LCM generate on-device. Both run with airplane mode on.
  • 27B models run on a phone: Qwen3.6-27B (18.9 GB indexed) loads on a 15 GB-RAM Galaxy S26 Ultra via the experimental mmap profile.
  • GGUF Vulkan ships on Mali: D9400/D9300 users get GGUF cooperative-matrix Vulkan automatically: 16.85 tok/s on 3B, 8.07 tok/s on 8B, ~2 to 3.4× over CPU. MNN Vulkan stays a lab lane until correctness is proven.
  • Mid-range catches flagships on small models: Redmi K70 Ultra (MT6989) hits 40.94 tok/s on 0.8B Qwen3.5 hot-KV; Galaxy S20 still does 14.16 tok/s on 1.7B.
  • Conversations stay fast after the first message: Delta prefill cuts follow-up latency by up to 34x (58s down to 1.7s) by reusing KV cache across turns.
  • Your device picks the best path: Three engines (MNN, GGUF, Remote API) and multiple GPU acceleration paths are auto-selected per chipset and per model. No manual config needed.
  • Every result is reproducible: All benchmarks are exportable via the 150+ endpoint API. Compare across devices and share configs.

Everything you need for local AI chat.

Built for privacy-conscious users, roleplay enthusiasts, and developers who want full control.

TurboQuant: 57 tok/s HOT

TQ4 aggressive GPU quantization makes small models absurdly fast: 46 to 57 tok/s on small models, and now coherent on 35B-A3B MoE on Adreno 750/840. Ideal for quick questions, brainstorming, and real-time back-and-forth where latency matters most.

Generate Images Offline NEW

Stable Diffusion runs on your phone. No cloud, no API fees. SD1.5-Turbo on Adreno, SD1.5-LCM on MNN, SD3.x, and an optional NPU Fast tier on rooted devices. Lock a face or subject across images with reference-image identity (IP-Adapter), plus GPU-LoRA, multi-subject masks, and batch generation. Create while in airplane mode.

Send Your AI a Picture NEW

Attach a photo and ask about it. Qwen3-VL and Gemma-4 Omni run natively; SmolVLM ships as a 500 MB sidecar for models without built-in vision. Text, vision, audio, and video, all on-device.

Personas, Roleplay & Group Chat NEW

Create reusable personas and bind one per conversation, then jump into a dedicated roleplay mode with lorebooks, multi-character group chat, and rotation. Import characters and whole chat histories from SillyTavern, Layla, and PocketPal.

On-Device AI Agents NEW

Build no-code agents that call tools and run multi-step jobs entirely on-device: bounded loops, triggers, and a batch image-gen agent. Ships with built-in agents and a simple builder.

Model Hub & Leaderboard NEW

Browse and download models from Hugging Face inside the app, then see how your phone stacks up on a public phone-speed leaderboard. Hugging Face revision pinning supported.

Your Phone, Optimized Automatically

Three inference engines (MNN, GGUF, Remote API) and multiple GPU paths. TokForge profiles your hardware on first launch and picks the fastest config: Snapdragon, Dimensity, Exynos, or Tensor. You can also connect to a remote server for bigger models.

Chat With Your Documents

Attach PDFs, Word docs, EPUBs, or plain text. TokForge indexes and summarizes them, then your AI answers questions grounded in the actual content, all processed on-device, nothing uploaded anywhere.

Hear Your AI Talk Back

11 natural voices with adjustable speed via Kokoro TTS, plus the new ZipVoice decoder. Streams per-sentence as the model generates. First audio in seconds, not minutes. Voice input too.

Read the docs

Engineered for speed and control.

  • Personas + character cards: Build a persona library, bind one per chat, and import cards or whole histories from SillyTavern, Layla & PocketPal
  • Three inference engines: MNN, GGUF, and Remote API. GPU-accelerated and CPU-optimized paths auto-selected per chipset
  • Hardware profiler: Detects your chipset, GPU, and RAM to recommend the best config
  • 150+ API endpoints: Full remote control from any device on your network: run benchmarks, manage models, change settings, generate images (batch + reference), run agents, upload documents
  • Benchmark database: Save results, compare across devices, export and share your configs
1. Pick a persona, character, or agent, or start a blank chat (text, image, or vision)
2. TokForge detects your hardware & picks the fastest config
3. GPU-accelerated inference → real-time token streaming (or image generation)
4. Rich rendering with reasoning blocks, citations & markdown
5. Memory learns from the conversation in the background

Chat + inference pipeline

Local-first by design.
Transparent by default.

Get TokForge for iPhone & Android

TokForge is free on Google Play (Android) open testing and TestFlight (iPhone & iPad) beta. Install directly or join the community to help shape the future of private mobile AI.

v3.6.0 beta: AI personas with roleplay & group chat, on-device no-code agents, an in-app model hub with public leaderboard, image generation with reference-image identity (SD1.5 / LCM / SD3.x / optional NPU), on-device vision (Qwen3-VL + Gemma-4 Omni), TurboQuant (up to 57 tok/s), document search with citations, streaming TTS, persistent memory, optional opt-in web search, 150+ API endpoints, and more, now on iPhone & iPad too. Free on Google Play (Android) and TestFlight (iPhone & iPad).
Get it on Google Play Get it on TestFlight
Join the Community

Join the Beta

No spam. We'll only email you about beta access.

No telemetry. No background reporting. Your data stays on your device unless you explicitly opt in.