
Parses, validates, and generates ICAO Doc 9303 MRZs (TD1/TD2/TD3/MRV-A/MRV-B), exposing raw fields, computed values, and structured validation results for integrator decisions.
Tessera is a free, open-source SDK that reads, validates, and generates the data in the MRZ (machine-readable zone) of passports, ID cards, and visas. It runs on Android, iOS, and the JVM. It reports what it read and checked; your app decides what to do with that.
It is for developers adding document reading to apps or backends. Documentation: Start here.
✓ yes, ◐ partial, ✗ no, n/a not applicable. All rows: Capability matrix.
| Capability | JVM | Android | iOS |
|---|---|---|---|
| Parse and read fields | ✓ | ✓ | ◐ |
| Validate and check digits | ✓ | ✓ | ◐ |
| Generate an MRZ | ✓ | ✓ | ◐ |
| Transliterate names | ✓ | ✓ | ✓ |
| Live camera, no UI | n/a | ✓ | ◐ |
| Saved image | ◐ | ✓ | ✓ |
| Ready-made scanner screen | n/a | ✓ | ✓ |
| Diagnostic events | ✓ | ✓ | ◐ |
Release 0.5.3. Minimums: minSdk 23, iOS 18, Java 21. Modules: Choose your pieces.
build.gradle.kts (the JVM needs only the first two lines):
dependencies {
implementation(platform("io.lightine.tessera:tessera-bom:0.5.3"))
implementation("io.lightine.tessera:tessera-mrz-core")
implementation("io.lightine.tessera:tessera-mrz-camera-android")
implementation("io.lightine.tessera:tessera-mrz-camera-ui-android")
}pom.xml (JVM, Maven):
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.lightine.tessera</groupId>
<artifactId>tessera-bom</artifactId>
<version>0.5.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.lightine.tessera</groupId>
<artifactId>tessera-mrz-core</artifactId>
</dependency>
</dependencies>Package.swift (iOS):
.package(url: "https://github.com/lightine-io/tessera-swift", exact: "0.5.3"),
.product(name: "Tessera", package: "tessera-swift"),
.product(name: "TesseraUI", package: "tessera-swift"),Tutorials · How-to guides · Reference · Explanation. Changes per release: CHANGELOG.md.
Questions and bugs: GitHub issues. Vulnerabilities: report privately, see SECURITY.md. To contribute: CONTRIBUTING.md. Licence: Apache License 2.0 (LICENSE).
Tessera is a free, open-source SDK that reads, validates, and generates the data in the MRZ (machine-readable zone) of passports, ID cards, and visas. It runs on Android, iOS, and the JVM. It reports what it read and checked; your app decides what to do with that.
It is for developers adding document reading to apps or backends. Documentation: Start here.
✓ yes, ◐ partial, ✗ no, n/a not applicable. All rows: Capability matrix.
| Capability | JVM | Android | iOS |
|---|---|---|---|
| Parse and read fields | ✓ | ✓ | ◐ |
| Validate and check digits | ✓ | ✓ | ◐ |
| Generate an MRZ | ✓ | ✓ | ◐ |
| Transliterate names | ✓ | ✓ | ✓ |
| Live camera, no UI | n/a | ✓ | ◐ |
| Saved image | ◐ | ✓ | ✓ |
| Ready-made scanner screen | n/a | ✓ | ✓ |
| Diagnostic events | ✓ | ✓ | ◐ |
Release 0.5.3. Minimums: minSdk 23, iOS 18, Java 21. Modules: Choose your pieces.
build.gradle.kts (the JVM needs only the first two lines):
dependencies {
implementation(platform("io.lightine.tessera:tessera-bom:0.5.3"))
implementation("io.lightine.tessera:tessera-mrz-core")
implementation("io.lightine.tessera:tessera-mrz-camera-android")
implementation("io.lightine.tessera:tessera-mrz-camera-ui-android")
}pom.xml (JVM, Maven):
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.lightine.tessera</groupId>
<artifactId>tessera-bom</artifactId>
<version>0.5.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.lightine.tessera</groupId>
<artifactId>tessera-mrz-core</artifactId>
</dependency>
</dependencies>Package.swift (iOS):
.package(url: "https://github.com/lightine-io/tessera-swift", exact: "0.5.3"),
.product(name: "Tessera", package: "tessera-swift"),
.product(name: "TesseraUI", package: "tessera-swift"),Tutorials · How-to guides · Reference · Explanation. Changes per release: CHANGELOG.md.
Questions and bugs: GitHub issues. Vulnerabilities: report privately, see SECURITY.md. To contribute: CONTRIBUTING.md. Licence: Apache License 2.0 (LICENSE).