Read, write, edit, and validate biometric transactions in compliance with ANSI/NIST-ITL standards and derived specifications

NISTPack™ is an SDK that enables an application with reading, writing, viewing, editing, and validating of biometric data transactions in compliance with ANSI/NIST-ITL 1-2000, -2007, -2011 and 2-2008 standards. Using NISTPack ensures that biometric images are properly compressed, demographic data is included in the correct format, and the resulting object is constructed properly for data interchange between standards-based biometric systems.


NISTPack provides a common C# or Java API to create and validate biometric transactions that comply with either the traditional binary encoding of the standard or the XML encoding of the standard. Raw biometric image and biographic data can be input and the API design facilitates the output of either format. The same API functions are used to create either format.

Additionally, NISTPack supports the two-way conversion between binary encoded data and XML encoded data in compliance with the standard.

Read, write, edit and validate functionality:

Reading information from a transaction file. This entails reading the file into an internal format and providing access to the transaction’s image and textual data. This might be done by users who need to display the information contained in a transaction file.

Creating a transaction file. This entails building up a transaction from image and text information into a valid transaction file. This might be done by users who need to generate submissions of ten-print files or for any other type of transaction.

Editing of transaction files. This entails making changes to existing files or correcting items and assuring that the new file is compliant.

Verification of a transaction file. This entails examination of the transaction file for compliance with the general transaction format given by the ANSI/NIST specification or by a more specific implementation like the FBI’s EFTS specification or a state specific implementation. The user could determine if the transaction is compliant or if it is not, generate a detailed list of errors.

Records supported.

ANSI/NIST-ITL standards are widely used globally and support several different types of biometric and demographic data. NISTPack provides API support to insert and remove any full record, field, subfield, or item from an interchange file. NISTPack provides an easy-to-use library of functions that simplify the process of ANSI/NIST-ITL compliant formatting of the following into a single compact record defined by ANSI/NIST-ITL:

  • biographic data (Type-1 and 2 records)
  • WSQ compressed fingerprint image data (Type-4 record)
  • user defined gray scale images (Type-7 record)
  • digitized signature data (Type-8 record)
  • minutiae data (Type-9 record)
  • expanded Type-9 minutiae record that supports latent image extended feature sets (EFS)
  • facial, scar/mark, and tattoo data (Type-10 Record)
  • latent images (Type-13 records)
  • variable resolution (500 and 1000 ppi) finger images & 4-4-2 (left, right hand and dual thumbs) (Type-14 records)
  • palm images at 500 and 1000 ppi (Type-15 Record)
  • test images (Type-16 Record)
  • iris images (Type-17 Record)
  • DNA record (Type-18)
  • plantar (footprint image) record (Type-19)
  • source representation data image record (Type-20)
  • associated context image record (Type-21)
  • information assurance record (Type-98)
  • Other biometric data not handled by the other records (Type-99 Record)

Agency-specific implementations supported

NISTPack supports both the generic ANSI/NIST standard and agency-specific implementations of the standard. Through a text-based rule file called the NISTPack Validation File, NISTPack supports read/write & validation of most of the global agency-specific implementations (domains) of the standard defined. This includes:

  • FBI EBTS, all versions including the XML version
  • US DoD (all versions)
  • EU BMS
  • Interpol
  • RCMP (all versions)
  • Five Country Consortium (FCC)
  • UK Home Office
  • German Federal Police (BKA)
  • New Zealand Police
  • Western Identification Network (WIN)
  • Most US States
Learn about NISTPack Mobile

Features & Functionality

  • Includes FBI-certified, high-performance WSQ fingerprint image compression
  • Simple image insertion and extraction with automatic compression/decompression as specified by the standard for each record type
  • JPEG 2000 support for 1000 ppi finger and palm images in compliance with the profile required by the standard “Profile for 1000 ppi Fingerprint Data”
  • JPEG and JPEG 2000 support for Type-10 records
  • Lossless JPEG 2000 and PNG support for Type-13 records
  • Lossy/lossless JPEG 2000 and lossless PNG for Type-17 records
  • Predefined verification files for over 20 domain implementations in simplified format that serves as a baseline for additional individual domains
  • Supports all record types of the standard (including fingers, palms, faces, irises, latents, minutiae, scars/marks/tattoos, and CBEFF objects)
  • Two way conversion between the binary (ASCII separated) and XML (NIEM compliant) versions of the standard
  • Enhanced JavaScript-based validation engine used to generate custom error checking and validation

SDK Features

      • APIs to develop applications to read, write, edit and view ANSI/NIST-compliant biometric data
      • Run-time applications and demos with source code
      • Single API to create both types of structured data (binary and XML)
      • C++, .NET, and JNI versions available
      • Pure Java version available as JNISTPack
      • Fully featured C Language API
      • C#/.NET wrappers
      • Example programs with source
      • Support for
        – Java Native Interface
        – Microsoft Windows
        – Linux
        – Sun Solaris
        – HP-UX
        – IBM AIX
        – Apple iOS and Android (NISTPack Mobile)


      • Fingerprint recognition
      • Automated fingerprint identification systems (AFIS)
      • Border management
      • Law enforcement
      • Citizen ID
      • Background checks