Last verified: 2026-09-05 — LiteRT 2.2.0, LiteRT-LM 0.16.1, litert-torch 0.9.4, ai-edge-litert 2.2.0. Every version and link below was read on that date. On-device tooling moves monthly; check the linked page before you pin anything.
Direct answer
LiteRT is TensorFlow Lite, renamed on 2024-09-04. Same .tflite file format, same models, same Interpreter API. Four things changed since then:
-
Package names. Android
org.tensorflow:tensorflow-lite→com.google.ai.edge.litert:litert. Pythontflite-runtime→ai-edge-litert. PyTorch converterai-edge-torch→litert-torch. -
A new inference API,
CompiledModel. GPU or NPU is an option you pass in, not a delegate you wire yourself. -
A PyTorch converter,
litert-torch, that goes fromtorch.exportstraight to.tflite. No ONNX step, no TensorFlow graph. - A separate LLM runtime, LiteRT-LM, which replaces the MediaPipe LLM Inference API.
TensorFlow Lite packages are in maintenance mode. The tensorflow/lite README says they "only receive critical security and stability updates".
If you start today: com.google.ai.edge.litert:litert:2.2.0 with CompiledModel on Android, ai-edge-litert in Python, litert-torch for PyTorch models, LiteRT-LM for on-device LLMs. An existing TensorFlow Lite app keeps working. You can move one package at a time.
Old name → new name
Android (Gradle)
| You have | Use instead | Notes |
|---|---|---|
org.tensorflow:tensorflow-lite:2.17.0 |
com.google.ai.edge.litert:litert:2.2.0 |
Google Maven only, not Maven Central. Contains both Interpreter and CompiledModel; minSdk 23. The 1.4.x line is Interpreter-only, minSdk 21. |
org.tensorflow:tensorflow-lite-gpu |
nothing extra on 2.x; the GPU accelerator is inside litert
|
litert-gpu stops at 1.4.2 (Interpreter API). |
org.tensorflow:tensorflow-lite-support / -metadata
|
com.google.ai.edge.litert:litert-support / litert-metadata 1.4.2 |
No 2.x release of either. |
-select-tf-ops, -task-*, -hexagon
|
no LiteRT-named artifact | Task Library and Model Maker stay under the TensorFlow Lite name. |
com.google.android.gms:play-services-tflite-* |
unchanged (16.5.0) | The Play services runtime keeps the tflite name. No code change. |
GpuDelegate / NnApiDelegate on Interpreter
|
CompiledModel.Options(Accelerator.GPU) or Accelerator.NPU
|
NNAPI is deprecated from Android 15 (Android docs). |
Qualcomm qnn-litert-delegate + qnn-runtime
|
Accelerator.NPU on CompiledModel, one dependency |
NPU page lists Google Tensor, Qualcomm, MediaTek, Samsung, Intel. |
Python
| You have | Use instead | Notes |
|---|---|---|
pip install tflite-runtime (tflite_runtime.interpreter) |
pip install ai-edge-litert (ai_edge_litert.interpreter.Interpreter, ai_edge_litert.compiled_model.CompiledModel) |
tflite-runtime last shipped 2023-10 with wheels up to Python 3.11 and carries no deprecation note. ai-edge-litert 2.2.0 ships cp310 to cp314; its PyPI classifiers still say 3.8–3.11, ignore them. |
tf.lite.Interpreter for inference |
ai-edge-litert |
— |
tf.lite.TFLiteConverter (TensorFlow / Keras → .tflite) |
unchanged | Still the converter for TensorFlow models. |
pip install ai-edge-torch (ai_edge_torch.convert) |
pip install litert-torch (litert_torch.convert(model, sample_inputs)) |
ai-edge-torch 0.7.2 is a deprecation stub that says so. litert-torch 0.9.4 is a pure-Python wheel; its native part, litert-converter 0.4.0, has cp310–cp314 wheels. Installing pulls torch, jax and transformers (2.0 GB, 93 packages on 2026-09-05), not TensorFlow. |
| — | pip install ai-edge-quantizer |
Post-training quantization for LiteRT. |
| — | pip install litert-lm |
LiteRT-LM CLI (Python ≥ 3.10) to run .litertlm bundles on a desktop. |
iOS, Web, LLM
| Area | State on 2026-09-05 |
|---|---|
| iOS / Swift | The official quickstart still says pod 'TensorFlowLiteSwift' 2.17.0. LiteRTSwift on CocoaPods is nightly-only and stopped in 2025-06. No LiteRT core Swift package. LiteRT-LM has one (import LiteRTLM, early preview). |
| Web |
@tensorflow/tfjs-tflite → @litertjs/core 2.5.3 (WebGPU, Wasm/XNNPack, WebNN). @litertjs/tfjs-interop bridges TF.js tensors. |
| LLMs | The MediaPipe LLM Inference page says it is "in maintenance-only mode. New features and optimizations will be focused on LiteRT-LM". LiteRT-LM: com.google.ai.edge.litertlm:litertlm-android 0.16.1 (litertlm-jvm for desktop), .litertlm bundles, Kotlin / Python / C++ stable, Swift / JS early preview. |
Which API should I use?
| Situation | Pick | Why |
|---|---|---|
| New Android app, GPU or NPU with one line |
CompiledModel in litert 2.x |
Accelerator is an option; no delegate wiring. |
| Existing TensorFlow Lite app, minSdk < 23 |
litert 1.4.x (Interpreter) |
Same API surface, minSdk 21. |
| App already on Play services | keep play-services-tflite-*
|
Officially unchanged. |
| Detection / segmentation / audio with pre- and post-processing done for you | MediaPipe Tasks | Some MediaPipe models (Selfie Segmenter, for one) use MediaPipe-only ops such as Convolution2DTransposeBias; they do not load in plain LiteRT. |
| On-device LLM | LiteRT-LM | MediaPipe LLM Inference is maintenance-only. |
| PyTorch model to Android |
litert-torch → .tflite → CompiledModel
|
Direct torch.export path. |
Quick start (Kotlin, LiteRT 2.x)
// build.gradle.kts — served from Google Maven, not Maven Central
dependencies { implementation("com.google.ai.edge.litert:litert:2.2.0") }
// keep the asset mmappable: android { androidResources { noCompress += "tflite" } }
import com.google.ai.edge.litert.Accelerator
import com.google.ai.edge.litert.CompiledModel
val model = CompiledModel.create(
context.assets, "model.tflite",
CompiledModel.Options(Accelerator.GPU), // NPU with GPU fallback: Options(Accelerator.NPU, Accelerator.GPU)
null) // Environment; null = default
val inputs = model.createInputBuffers()
val outputs = model.createOutputBuffers()
inputs[0].writeFloat(inputArray) // FloatArray in the layout you exported (NCHW from litert-torch)
model.run(inputs, outputs) // enqueues on the GPU
val logits = outputs[0].readFloat() // the readback is what waits
// TensorBuffer and CompiledModel are AutoCloseable; close them or you leak native memory.
Two rules that are easy to miss: with Accelerator.GPU, every op in the graph must be GPU-compatible (there is no CPU fallback inside CompiledModel), and GPU tensors are rank 4 at most.
Quick start (Python)
python3.12 -m venv .venv && . .venv/bin/activate # ran on 3.12.13 and 3.14.6 on 2026-09-05
pip install ai-edge-litert litert-torch # pulls torch, jax, transformers; ~2 GB; no TensorFlow
import numpy as np, torch, litert_torch
from ai_edge_litert.interpreter import Interpreter
x = torch.randn(1, 3, 224, 224)
litert_torch.convert(model.eval(), (x,)).export("model.tflite") # torch.export → .tflite, nothing in between
it = Interpreter(model_path="model.tflite"); it.allocate_tensors()
inp, out = it.get_input_details()[0], it.get_output_details()[0]
it.set_tensor(inp["index"], x.numpy()); it.invoke()
print(it.get_tensor(out["index"]))
# Same file through CompiledModel, the API Android uses (CPU here; GPU on macOS is Metal)
from ai_edge_litert.compiled_model import CompiledModel
from ai_edge_litert.hardware_accelerator import HardwareAccelerator
cm = CompiledModel.from_file("model.tflite", HardwareAccelerator.CPU)
ins, outs = cm.create_input_buffers(0), cm.create_output_buffers(0)
ins[0].write(x.numpy()); cm.run_by_index(0, ins, outs)
print(outs[0].read(10, np.float32))
Run on 2026-09-05 with a conv + nn.MultiheadAttention model: conversion took 1–2 s, outputs were within 7e-7 of PyTorch, identical results on Python 3.12 and 3.14.
When to use LiteRT, and when not
Use it when you deploy .tflite models on Android with GPU or NPU, when you want a torch.export-based converter, or when you need a Google-maintained LLM runtime with NPU backends.
Do not pick it for an iOS-only app today. The iOS path is still the TensorFlow Lite pod, and Core ML, MLX and llama.cpp have more direct iOS routes. For arbitrary Hugging Face LLMs on a Mac, GGUF with llama.cpp or MLX needs no conversion step; LiteRT-LM needs a .litertlm bundle (Hugging Face litert-community has 343 models on 2026-09-05, many ungated, Qwen2.5-1.5B-Instruct among them).
Alternatives
ExecuTorch (PyTorch's own runtime, torch.export → .pte), ONNX Runtime Mobile (Maven AAR, NNAPI / XNNPACK / QNN providers), llama.cpp (GGUF, Metal / Vulkan / CPU), MLX (Apple Silicon). All four are reasonable defaults. This page is about what LiteRT calls things, not a ranking.
Things the docs do not tell you (gaps on 2026-09-05)
-
tflite-runtimeon PyPI has no deprecation note and no pointer toai-edge-litert. The microcontroller Python quickstart still sayspip install tflite-runtime. -
ai-edge-litertPyPI metadata is stale (classifiers 3.8–3.11, homepage tensorflow.org/lite). The wheels go to 3.14. - Android doc snippets pin
litert:2.1.0next to a table that lists 2.2.0 as latest. - "LiteRT Next" survives only in URL paths (
/edge/litert/next/*). Blogs say LiteRT; the version-bearing statement is the GitHub v2.1.0 note ("beta… officially recommending that developers begin their transition"). - The Play services page and the Android index each call a different path "recommended".
- MediaPipe's custom-op requirement is visible only in source (
mediapipe/util/tflite/operations/) and issues. - No documented relationship between
.taskand.litertlm.
FAQ
Is TensorFlow Lite deprecated? Maintenance mode: "only receive critical security and stability updates. All active on-device ML development… transitioned to LiteRT" (tensorflow/lite README).
Do my .tflite files still work? Yes. Format and extension are unchanged.
Does LiteRT run on iOS? Through the TensorFlow Lite pod for now. LiteRT-LM has a Swift package in early preview.
Where are ready-made models? Hugging Face litert-community (343 models, .tflite and .litertlm) and Kaggle Models (the filter is still named tfLite).
Related
- LiteRT migration page: https://developers.google.com/edge/litert/migration
- LiteRT-LM: https://developers.google.com/edge/litert-lm
- litert-torch: https://github.com/google-ai-edge/litert-torch
- A zoo of vision models exported for
CompiledModelGPU with Kotlin sample apps, plus a conversion guide with the GPU op rules: https://github.com/john-rocky/LiteRT-Models
Top comments (0)