Skip to content

Open-Source Software Tools


CSAFE researchers are developing open-source software tools, allowing for peer-reviewed, transparent software for forensic scientists and researchers to apply to forensic evidence analysis. These automatic matching algorithms provide objective and reproducible scores as a foundation for a fair judicial process. Our team is continuing to develop new tools for the forensic community to apply their work.


Software and Algorithms Catalog

This catalog is a tool for guiding future research in computational science and applying it across multiple forensic disciplines. The National Institute of Standards and Technology (NIST) has created this database for researchers and practitioners who want to discover what algorithms and software are being developed, and learn how these programs apply to their field of study.


Open Forensic Science in R

This book is for anyone looking to do forensic science analysis in a data-driven and open way. Whether you are a student, teacher, or scientist, this book is for you. We take the latest research, primarily from CSAFE and the National Institute of Standards and Technology (NIST), and show you how to solve forensic science problems in R.


Footwear Tools


This package developed in collaboration with Omni Analytics is a comparison method of 2D shoe prints using a parallelized maximum clique algorithm for speed and efficiency.


Firearms and Toolmark Tools


Analysis functions of this R package are designed to assess the probability that two bullets were fired from the same gun barrel by matching bullet lands in x3p format.


This package is a tool to compared cartridge case images. The software reads, pre-processes and aligns images, computing a similarity measure and a probability of obtaining a higher score by chance. The goal is to provide objective measures that will help in inferring if two cartridge cases were fired from the same gun.


Work with x3p files to read, write and implement basic modifications to 3D surface measurements of bullets using this R package.


Automatically detect groove locations via a Bayesian change point detection method using this method for the data preprocessing step of forensic bullet matching algorithms.


This R packages implements a wide range of methods to identify grooves in a land engraved area.



The cmcR package provides an open-source implementation of the Congruent Matching Cells method for cartridge case identification as proposed by Song (2013) as well as the “High CMC” method proposed by Tong et al. (2015).


The cmpsR package is an open-source implementation of the Congruent Matching Profile Segments (CMPS) method (Chen et al. 2019). In general, it can be used for objective comparison of striated tool marks, and in our examples, we specifically use it for bullet signatures comparisons.


Digital Tools


Match accounts on anonymous marketplaces to determine same sellers using this R package.



Determine if two temporal event streams are from the same source by through this R package that implements a score-based likelihood ratio and coincidental match probability methods.


Mobile App Analysis Tool:

Under Development


Handwriting Tools


This R package utilizes a variety of functions to identify letters and features from handwritten documents.


Latent Print Tools

Quality Metric Algorithms for Fingerprint Images

To assist lab mangers in the assessment part of the latent print analysis process, this webpage provides several available quality metric algorithms.

Contact Us

Please contact us with any questions or concerns that arise when using these resources.