ML Kit

If you subscribe to a service from a link on this page, we may earn a commission.

Quick answer: ML Kit is Google’s software development kit for adding machine learning features, like text recognition, face detection, barcode scanning, and translation, to Android and iOS apps without training or hosting a model yourself. Its default APIs run entirely on the device rather than calling a server, so results come back fast and keep working offline. Developers can also plug in their own custom model when Google’s built-in ones do not cover the task.

So what does ML Kit actually hand a developer? It sits between a trained model and a working app feature, handling the camera input, image preprocessing, and output parsing that a raw model file does not do on its own. This entry covers how ML Kit works, where real apps use it, how it differs from TensorFlow Lite, and where its coverage runs out.

What Is ML Kit?

Google originally shipped this technology as ML Kit for Firebase, then split it into two separate products: a standalone ML Kit covering the on-device APIs, and Firebase Machine Learning covering the cloud-based ones. Firebase ML is now deprecated and shuts down on June 15, 2027, which leaves the on-device SDK as the version Google is steering developers toward for the long term.

The on-device side covers a fairly wide spread of tasks. Its vision APIs handle barcode scanning, face detection, text recognition, image labeling, and object detection, while its language APIs handle translation, language identification, smart reply suggestions, and entity extraction.

More recently, ML Kit has added generative features built on Google’s on-device Gemini Nano model, including summarization, proofreading, and rewriting.

Google’s original pitch for ML Kit was aimed squarely at developers without a machine learning background: pick the feature you need, call the API, and skip the work of sourcing, training, or optimizing a model. Both Android and iOS get native SDKs, so a team building the same app on both platforms can call the same feature set from either codebase rather than maintaining two separate ML integrations.

How Does ML Kit Work?

Each API wraps a trained model behind a purpose-built interface. A developer feeds it a camera frame or an image and gets back a structured result, recognized text, a bounding box, a translated string, without writing any model-loading or pre-processing code themselves.

On Android, ML Kit’s models can ship two ways. Bundled models are compiled directly into the app, which guarantees they are always present but adds to download size. Unbundled models are downloaded dynamically through Google Play services, which keeps the app smaller and lets the model update without the app itself being updated.

Two of the vision APIs, image labeling and object detection, also accept a custom model in place of Google’s default one. That model has to be in TensorFlow Lite format, sometimes called LiteRT now, with a single RGB input tensor and at least one output tensor describing the classes it predicts. ML Kit still does the camera handling and pre- and post-processing around it, so a developer gets the convenience of the high-level API while running their own model underneath.

That combination is what makes ML Kit useful beyond Google’s own feature set. A retailer that has trained a model to recognize its own products, for instance, does not have to write interpreter code or manage image buffers by hand; it drops the trained file into the object detection API and gets the rest of the pipeline for free.

Where Is ML Kit Used?

Zyl, an app that resurfaces old photos from a user’s library, uses the face detection and image labeling APIs to sort that library on the phone. It had been shipping its own image models inside the app and reports cutting the app’s download size by half after moving to ML Kit instead.

adidas uses the object detection and tracking API to power visual search in its retail app, letting a shopper point a camera at a product to find it in the catalog. WPS Office, the document-editing app, uses ML Kit’s translation API, which supports dozens of languages, to translate documents on the device rather than paying for a cloud translation call every time.

These three cases share a pattern: each app already had a camera-driven or text-heavy feature it wanted, and each got there by calling an existing API instead of building a vision or language model from scratch. That is the trade ML Kit is built around, less flexibility than a custom model trained for the exact task, in exchange for a working feature in far less development time.

ML Kit vs TensorFlow Lite: What’s the Difference?

TensorFlow Lite is the low-level runtime that loads a .tflite model file and runs it on a phone’s CPU, GPU, or NPU. It does the math; it does not know or care whether the numbers coming out represent a face, a barcode, or a translated sentence.

ML Kit sits a layer above that. Several of its APIs are themselves built on TensorFlow Lite models, but ML Kit wraps each one in a task-specific interface that also handles the camera capture and the pre- and post-processing a raw model needs around it.

A developer who just wants “read the text in this photo” reaches for ML Kit. A developer who has their own model and needs direct control over the interpreter, delegates, or quantization settings works with TensorFlow Lite directly, and even ML Kit’s own custom-model support is really a convenience layer over that same runtime.

What Are the Limits of ML Kit?

ML Kit only covers the tasks Google has built an API for. A team whose problem is not text recognition, face detection, barcode scanning, translation, or one of the other supported categories either has to bring a compatible custom TensorFlow Lite model or look outside ML Kit entirely; the kit does not include general-purpose model training.

The Firebase ML retirement is also a live migration issue. Apps still calling its cloud-based features, larger models or capabilities the on-device SDK does not match, need somewhere else to send that work before the shutdown date.

Because most of ML Kit runs on the device, results also depend on the phone running them. An older or lower-end handset gets the same API but not necessarily the same speed as a recent flagship.

ML Kit and federated learning both keep computation on the user’s phone, but for different reasons. ML Kit runs a fixed, pre-trained model locally for speed and offline use; federated learning trains a model across many phones without centralizing anyone’s raw data.

As Google folds more of its own on-device AI work, including Gemini Nano, into ML Kit, the kit keeps drifting from a narrow set of vision and text utilities toward a general on-device AI toolkit. That is a wider job than the one it started with in the earlier push into edge AI.