Splink
What it is
Splink is a free Python package for probabilistic record linkage, helping deduplicate and connect records that lack unique identifiers. Its core algorithm is based on the Fellegi–Sunter model, and it can train models through an unsupervised approach without training data. Matching supports term-frequency adjustments and user-defined fuzzy logic. Interactive outputs help users inspect models and diagnose linkage issues. Splink documents DuckDB, Spark, PostgreSQL, and SQLite backends; DuckDB is installed by default, while Spark and PostgreSQL have optional installs. The project says it can link a million records on a laptop in around a minute and can run with backends such as Spark on datasets of 100 million or more records. It works best with standardized data containing multiple columns that are not highly correlated. It is not designed for a single bag-of-words column, such as company names without other details. Installation is through pip or conda, and Python 3.10 or later is supported. The project is MIT-licensed and lists use across government, academia, and other sectors.
For and against
For
- Free Python package under the MIT license.
- Can train models without training data.
- Supports four documented database backends.
- Includes interactive outputs for diagnosing linkage problems.
- Installable with pip or conda.
Against
- Requires Python 3.10 or later.
- Not designed for a single bag-of-words column.
- Works best with standardized, multiple-column data.
The verdict
Splink provides configurable probabilistic linkage with several backend options and an unsupervised training approach. Its data requirements matter: it is intended for standardized records with multiple suitable columns, not a lone bag-of-words field.
Who it suits
Splink suits developers and analysts who need to link or deduplicate records without unique identifiers. It is aimed at datasets with multiple standardized, not highly correlated columns rather than a single text column.
Plans and prices
Splink
Free software · Python package · MIT license
Read 7 Oct 2026 · github.com
On the record
- Algorithm
- Splink’s core linkage algorithm is based on the Fellegi-Sunter model of record linkage.moj-analytical-services.github.io · read 7 Oct 2026
- Audience
- The project lists government, academia, and private-sector use, with examples across public services, health, research, and business data.github.com · read 7 Oct 2026
- Backends
- The documentation describes DuckDB, Spark, PostgreSQL, and SQLite backends; DuckDB is installed by default, while Spark and PostgreSQL have optional installs.moj-analytical-services.github.io · read 4 Oct 2026
- Data requirements
- Splink works best with standardised data containing multiple columns that are not highly correlated.moj-analytical-services.github.io · read 7 Oct 2026
- Data suitability
- Splink works best with standardised data containing multiple columns that are not highly correlated, and is not designed for a single bag-of-words column.moj-analytical-services.github.io · read 4 Oct 2026
- Install
- The project documents installation with pip or conda and optional Spark and PostgreSQL backend extras.github.com · read 7 Oct 2026
- Installation
- Splink can be installed with pip or conda and supports Python 3.10 or later.moj-analytical-services.github.io · read 4 Oct 2026
- Interactive outputs
- Splink provides interactive outputs to help users understand models and diagnose linkage problems.moj-analytical-services.github.io · read 4 Oct 2026
- License
- The GitHub repository identifies Splink as MIT licensed.github.com · read 7 Oct 2026
- Limitation
- Splink is not designed to link a single column containing a bag of words, such as company names without other details.moj-analytical-services.github.io · read 7 Oct 2026
- Matching
- It supports term frequency adjustments and user-defined fuzzy matching logic.github.com · read 7 Oct 2026
- Matching features
- It supports term-frequency adjustments and user-defined fuzzy-matching logic.moj-analytical-services.github.io · read 4 Oct 2026
- Matching model
- Its core linkage algorithm is based on the Fellegi–Sunter model.moj-analytical-services.github.io · read 4 Oct 2026
- Outputs
- Interactive visualisations help users understand models and diagnose linkage problems.moj-analytical-services.github.io · read 7 Oct 2026
- Purpose
- Splink is a Python package for probabilistic record linkage that deduplicates and links records without unique identifiers.github.com · read 4 Oct 2026
- Scale
- Linkage jobs can run with DuckDB or big-data backends such as Spark for 100+ million records.github.com · read 7 Oct 2026
- Speed
- The project says Splink can link a million records on a laptop in around a minute.github.com · read 7 Oct 2026
- Support
- The documentation directs users with questions to the project’s GitHub discussion forum.moj-analytical-services.github.io · read 7 Oct 2026