# LiteRT vs TensorFlow Lite: what changed, plus the old-name new-name cheat sheet

> Source: <https://dev.to/john-rocky/litert-vs-tensorflow-lite-what-changed-plus-the-old-name-new-name-cheat-sheet-40nl>
> Published: 2026-09-08 05:34:17+00:00

**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.

LiteRT is TensorFlow Lite, renamed on 2024-09-04. Same `.tflite` file format, same models, same `Interpreter` API. Four things changed since then:

`org.tensorflow:tensorflow-lite` → `com.google.ai.edge.litert:litert`. Python `tflite-runtime` → `ai-edge-litert`. PyTorch converter `ai-edge-torch` → `litert-torch`.` CompiledModel`.` torch.export` straight to `.tflite`. No ONNX step, no TensorFlow graph.
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.

| 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. | 

| 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. | 

| 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. | 

| 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. | 

```
// 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" } }
python
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.

```
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
python
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.

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).

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.

`pip install tflite-runtime`.` litert:2.1.0` next to a table that lists 2.2.0 as latest.`/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").`mediapipe/util/tflite/operations/`) and issues.`.task` and `.litertlm`.
**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`).
