An open-source, cross-platform viewer for Electronic Fingerprint Transmission (EFT) files based on the ANSI/NIST-ITL biometric data interchange standard.
Download the latest release from the Releases page.
Self-contained builds are published for Windows, macOS, and Linux — no .NET runtime installation required.
Download EftViewer-vX.X.X-win-x64.zip, extract, and run EftViewer.Desktop.exe.
Download EftViewer-vX.X.X-osx-arm64.zip (Apple Silicon), extract, then:
chmod +x EftViewer.Desktop
./EftViewer.DesktopThe builds are not yet code-signed, so the first launch needs Finder → right-click → Open (or xattr -dr com.apple.quarantine EftViewer.Desktop) to clear Gatekeeper.
Download EftViewer-vX.X.X-linux-x64.zip, extract, then:
chmod +x EftViewer.Desktop
./EftViewer.Desktop| Type-4 Legacy Fingerprints | Type-14 Ten-Print Card |
|---|---|
![]() |
![]() |
EFT files are used by the ATF, FBI, and other agencies for electronic fingerprint submission. This tool allows users to open, parse, and view the contents of EFT files including:
- Transaction information (Type-1 records)
- Descriptive/demographic data (Type-2 records)
- Fingerprint images (Type-4, Type-14 records) with WSQ decompression
- Additional biometric data records
v0.1.0 - Initial release
- Open and parse EFT file structure
- Display record hierarchy and metadata fields
- Decode and display WSQ-compressed fingerprint images
- Support for Type-4 (legacy) and Type-14 fingerprint records
- Windows desktop application
- PNG export for fingerprint images
- macOS and Linux builds (self-contained, build + test in CI)
- Field validation against ANSI/NIST-ITL spec
- Type-10 (face/SMT) and Type-15 (palmprint) support
- Code signing via SignPath.io (eliminate Windows SmartScreen warning)
| Component | Technology | Notes |
|---|---|---|
| Core Parser | C# / .NET Standard 2.0 | Shared library, broad compatibility |
| Desktop UI | Avalonia UI / .NET 10 | Cross-platform (Windows, macOS, Linux) |
| Mobile (future) | .NET MAUI | Android/iOS |
| WSQ Codec | Managed C# (Managed.Wsq-derived) | FBI wavelet compression standard, no native deps |
| Alt CLI | Python | Scripting/automation use cases |
Avalonia UI over MAUI for desktop: More mature cross-platform desktop support today. MAUI excels at mobile but Avalonia provides better Windows/macOS/Linux parity for desktop apps.
.NET Standard 2.0 for core library: Maximum compatibility across runtimes. The parser can be consumed by desktop, mobile, or even older .NET Framework projects if needed.
The ANSI/NIST-ITL standard (NIST Special Publication 500-290) defines a record-based format for biometric data interchange.
| Type | Description |
|---|---|
| 1 | Transaction information (required, exactly one) |
| 2 | User-defined descriptive text |
| 4 | Grayscale fingerprint image (legacy, 8-bit) |
| 10 | Face, SMT (scars/marks/tattoos) image |
| 14 | Variable-resolution fingerprint image (current standard) |
| 15 | Variable-resolution palmprint image |
Records contain tagged fields in the format Type.Field:Value. Fields are separated by control characters:
| Separator | Hex | Purpose |
|---|---|---|
| GS | 0x1D | Group separator (between fields) |
| RS | 0x1E | Record separator (between subfields) |
| US | 0x1F | Unit separator (between information items) |
| FS | 0x1C | File separator (end of record) |
Fingerprint images in Type-4 and Type-14 records are typically WSQ compressed (Wavelet Scalar Quantization), an FBI-developed format optimized for fingerprint ridge detail at ~15:1 compression.
WSQ Resources:
- NIST Biometric Image Software (NBIS): https://www.nist.gov/services-resources/software/nist-biometric-image-software-nbis
- Contains reference
dwsq(decode) andcwsq(encode) implementations in C
The samples/ directory contains NIST-provided test files:
- nist-type-4-14-flats.eft - Legacy Type-4 and modern Type-14 fingerprint records
- nist-type-14-tpcard.eft - Ten-print card with Type-14 records and quality metrics
See samples/README.md for details and links to additional NIST test data.
- .NET 10 SDK or later
- Visual Studio 2022 or VS Code with C# Dev Kit (optional)
# Clone the repository
git clone https://github.com/wct097/eft-viewer.git
cd eft-viewer
# Restore dependencies
dotnet restore
# Build
dotnet build
# Run the desktop application
dotnet run --project src/EftViewer.Desktop
# Run tests
dotnet testEftViewer.sln
├── src/
│ ├── EftViewer.Core/ # Parser library (.NET Standard 2.0)
│ └── EftViewer.Desktop/ # Avalonia UI application (.NET 10)
└── tests/
└── EftViewer.Core.Tests/ # Unit tests (xUnit)
This project is developed with AI assistance. Guidance for AI assistants lives in CLAUDE.md and docs/project_context.md.
Copyright 2026 William Tyler
Licensed under the Apache License, Version 2.0. See LICENSE for details.

