Skip to content
SPECIFICTION
Get listed

Splink

github.com

Free plan LinuxSelf-hosted
Visit github.com
Spec score 7.8 #20 of 27 in Data Deduplication Software

What it is

Splink is a free Python package for probabilistic record linkage: it deduplicates and connects records without unique identifiers. Its core algorithm is based on the Fellegi–Sunter model, and it can train models without training data using an unsupervised approach. Matching supports term-frequency adjustments and user-defined fuzzy logic. Interactive outputs help users inspect models and diagnose linkage problems. 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 run with big-data backends such as Spark on datasets of 100 million or more records, and can link a million records on a laptop in around a minute. It works best with standardised data containing multiple columns that are not highly correlated. Installation is through pip or conda and requires Python 3.10 or later. The project lists Linux and self-hosted use and an MIT license.

Spec sheet

What it does
Splink is a Python package for probabilistic record linkage that deduplicates and links records without unique identifiers.Read 7 Oct 2026 · github.com
Purpose
Splink is a Python package for probabilistic record linkage that deduplicates and links records without unique identifiers.Read 4 Oct 2026 · github.com
Audience
The project lists government, academia, and private-sector use, with examples across public services, health, research, and business data.Read 7 Oct 2026 · github.com
Support
The documentation directs users with questions to the project’s GitHub discussion forum.Read 7 Oct 2026 · moj-analytical-services.github.io
License
The GitHub repository identifies Splink as MIT licensed.Read 7 Oct 2026 · github.com
Algorithm
Splink’s core linkage algorithm is based on the Fellegi-Sunter model of record linkage.Read 7 Oct 2026 · moj-analytical-services.github.io
Backends
The documentation describes DuckDB, Spark, PostgreSQL, and SQLite backends; DuckDB is installed by default, while Spark and PostgreSQL have optional installs.Read 4 Oct 2026 · moj-analytical-services.github.io
Data requirements
Splink works best with standardised data containing multiple columns that are not highly correlated.Read 7 Oct 2026 · moj-analytical-services.github.io
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.Read 4 Oct 2026 · moj-analytical-services.github.io
Install
The project documents installation with pip or conda and optional Spark and PostgreSQL backend extras.Read 7 Oct 2026 · github.com
Installation
Splink can be installed with pip or conda and supports Python 3.10 or later.Read 4 Oct 2026 · moj-analytical-services.github.io
Interactive outputs
Splink provides interactive outputs to help users understand models and diagnose linkage problems.Read 4 Oct 2026 · moj-analytical-services.github.io
Limitation
Splink is not designed to link a single column containing a bag of words, such as company names without other details.Read 7 Oct 2026 · moj-analytical-services.github.io
Matching
It supports term frequency adjustments and user-defined fuzzy matching logic.Read 7 Oct 2026 · github.com
Matching features
It supports term-frequency adjustments and user-defined fuzzy-matching logic.Read 4 Oct 2026 · moj-analytical-services.github.io
Matching model
Its core linkage algorithm is based on the Fellegi–Sunter model.Read 4 Oct 2026 · moj-analytical-services.github.io
Outputs
Interactive visualisations help users understand models and diagnose linkage problems.Read 7 Oct 2026 · moj-analytical-services.github.io
Scale
Linkage jobs can run with DuckDB or big-data backends such as Spark for 100+ million records.Read 7 Oct 2026 · github.com
Speed
The project says Splink can link a million records on a laptop in around a minute.Read 7 Oct 2026 · github.com
Training
Models can be trained using an unsupervised approach without training data.Read 7 Oct 2026 · moj-analytical-services.github.io
Unsupervised training
Splink can train models using an unsupervised approach without training data.Read 4 Oct 2026 · moj-analytical-services.github.io
Who uses it
The project lists users and use cases across public-sector organisations, academia, and other sectors.Read 4 Oct 2026 · moj-analytical-services.github.io

Plans and prices

Splink Free Free software · Python package · MIT license Read 7 Oct 2026 · github.com

Every Splink plan and price →

Strong points and limits

Strong points

  • Models can be trained without training data.
  • Supports DuckDB, Spark, PostgreSQL, and SQLite.
  • Includes interactive outputs for examining linkage models.
  • Available under the MIT license.

Limits

  • Requires Python 3.10 or later.
  • Not designed for a single bag-of-words column.
  • Spark and PostgreSQL require optional installs.

Who it suits

Splink suits developers and data teams linking or deduplicating structured records across government, academia, and private-sector work. It is best suited to standardised data with multiple, not highly correlated columns.

Verdict

Splink offers configurable record linkage across several database backends, with unsupervised training and model diagnostics. Its data-shape guidance matters: it is not intended for linkage based on a lone bag-of-words column.

Where Specifiction places it

Alternatives to SplinkAll alternatives →