Pocket LLM for Android
Pocket LLM for Android turns an Android phone into a local LLM server for a home network, or a private on-device chat.
Verified
Core facts
Read by a script from the official API, not rewritten by a model.
- License
- MIT
- Languages
- Kotlin
- Maintainer
- dineshsoudagar
- Verified
What it is
Pocket LLM for Android turns an Android phone into a local LLM server for a home network, or chats privately on-device with text, images, PDFs, audio, and offline speech-to-text. Users can chat in the app, open its Web UI on a computer, or connect a compatible OpenAI client while the model runs on the phone. The small base APK is installed first, then a built-in model is downloaded or a LiteRT model (beta) is imported. Models are not bundled inside the APK.
Main features
The app runs models on the phone with ONNX or LiteRT, offline after installation.
Inference and chat data stay on the phone, with no telemetry.
Built-in models include Qwen2.5, Qwen3, DeepSeek R1 Distill Qwen, and Gemma 4.
Models can be downloaded, switched, and deleted inside the app.
Reasoning can be toggled on supported Qwen3 and Gemma models.
Recordings can be turned into editable text with offline multilingual Whisper, including German.
Getting started
Clone this repository.
Install the latest Android Studio.
Build and install the app on your Android device.
On first launch, choose a model from the built-in model picker.
Download the selected model directly inside the app.
For the LAN server, load a model, open LAN Server in the Android app, enter a password of at least 8 characters, and tap Save password.
pocket_llm_src/Who it is for
The app attaches text files and PDFs, including scanned PDFs read with OCR. UTF-8 or UTF-16 text files can be attached up to 16 MiB, and PDFs up to 64 MiB and 500 pages in the Android app. Android-decodable audio can be attached up to 512 MiB and 2 hours, or audio can be recorded in-app.
When native audio is unavailable, transcription uses multilingual Whisper tiny int8 after a separate download of about 100 MB. Each Android chat keeps one active document or audio source; do not mix it with images in one send. Each LiteRT model's context size can be set to balance history and memory use.
The LAN server serves the phone's selected model to devices on the same private network, and the Web UI is password-protected while inference stays on the phone. The Web UI lets users chat in a PC browser, upload PDFs or images, and save conversations on the phone. In the browser, direct image uploads require a compatible model.
The OpenAI-compatible API connects compatible clients through model and chat-completion endpoints. Custom models do not expose native tool calling through the LAN API. Custom-model compatibility is experimental, and larger models or contexts may fail to load or crash.
Stop the LAN server before changing the model or password. The requirements list a physical Android device for deployment and testing, and at least 4 GB RAM for smaller models. Before a model is loaded, Pocket LLM checks available storage and validates the downloaded files, and the app automatically attempts initialization with the available backend fallbacks.
Saved chat history is kept independently and is not deleted by model-load recovery. The ONNX backend supports Qwen2.5 and Qwen3. The runtime improvements update and pin LiteRT-LM to 0.17.1.
Sources
This page is written from the official sources below. Open them to check the original text.
- GitHub READMEhttps://github.com/dineshsoudagar/local-llms-on-androidFetched
Verified ·
This page is written by AI from the official sources above and checked automatically. This site has not tested it. Found a mistake? Tell us.