Splink
Splink is a free Python package for probabilistic record linkage, used to deduplicate and connect records that lack unique identifiers.
What Splink is
Splink is a free Python package for probabilistic record linkage, used to deduplicate and connect records that lack unique identifiers. Its core algorithm is based on the Fellegi–Sunter model, and it can train models without training data through an unsupervised approach. Matching options include term-frequency adjustments and user-defined fuzzy-matching logic. Interactive outputs help users understand models and investigate linkage problems. The documented backends are DuckDB, Spark, PostgreSQL, and SQLite; 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. 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 such as company names alone. Installation is available through pip or conda, and Python 3.10 or later is required. The project lists Linux and self-hosted use and an MIT license.
Good
- Models can be trained without training data.
- DuckDB is installed by default.
- Supports four documented database backends.
- Interactive outputs help diagnose linkage problems.
- The project lists an MIT license.
Watch out
- Requires Python 3.10 or later.
- Not designed for a single bag-of-words column.
- Works best with multiple standardised, weakly correlated columns.
Who it suits
Splink suits Python users who need to link or deduplicate records without unique identifiers, especially where records have several standardised fields. It may fit work in government, academia, or the private sector where the documented backends meet the deployment needs.
Verdict
Splink provides configurable probabilistic linkage for datasets with suitable structured fields, from DuckDB to big-data backends. A single text column is not its intended input shape.
Plans and prices
From Splink's own pricing page, checked 7 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Splink | Free | Free software · Python package · MIT license |
The facts
Each one read from Splink's own pages, with the date it was checked.
What it does
- Algorithm
- Splink’s core linkage algorithm is based on the Fellegi-Sunter model of record linkage.checked 7 Oct 2026
- Audience
- The project lists government, academia, and private-sector use, with examples across public services, health, research, and business data.checked 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.checked 4 Oct 2026
- Data requirements
- Splink works best with standardised data containing multiple columns that are not highly correlated.checked 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.checked 4 Oct 2026
- Install
- The project documents installation with pip or conda and optional Spark and PostgreSQL backend extras.checked 7 Oct 2026
- Installation
- Splink can be installed with pip or conda and supports Python 3.10 or later.checked 4 Oct 2026
- Interactive outputs
- Splink provides interactive outputs to help users understand models and diagnose linkage problems.checked 4 Oct 2026
- License
- The GitHub repository identifies Splink as MIT licensed.checked 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.checked 7 Oct 2026
- Matching
- It supports term frequency adjustments and user-defined fuzzy matching logic.checked 7 Oct 2026
- Matching features
- It supports term-frequency adjustments and user-defined fuzzy-matching logic.checked 4 Oct 2026
- Matching model
- Its core linkage algorithm is based on the Fellegi–Sunter model.checked 4 Oct 2026
- Outputs
- Interactive visualisations help users understand models and diagnose linkage problems.checked 7 Oct 2026
- Purpose
- Splink is a Python package for probabilistic record linkage that deduplicates and links records without unique identifiers.checked 4 Oct 2026
- Scale
- Linkage jobs can run with DuckDB or big-data backends such as Spark for 100+ million records.checked 7 Oct 2026
- Speed
- The project says Splink can link a million records on a laptop in around a minute.checked 7 Oct 2026
- Support
- The documentation directs users with questions to the project’s GitHub discussion forum.checked 7 Oct 2026
- Training
- Models can be trained using an unsupervised approach without training data.checked 7 Oct 2026
- Unsupervised training
- Splink can train models using an unsupervised approach without training data.checked 4 Oct 2026
- What it does
- Splink is a Python package for probabilistic record linkage that deduplicates and links records without unique identifiers.checked 7 Oct 2026
- Who uses it
- The project lists users and use cases across public-sector organisations, academia, and other sectors.checked 4 Oct 2026
Alternatives to Splink
- 1

Zingg
Free planOpen sourceAPILinuxmacOSSelf-hosted7.4Free plan - 2

Tilores
Free planWebAPILinuxmacOS7.2Free plan - 3

Workbooks
AndroidiOSWeb6.9From $47 a month - 4

DataMatch Enterprise
WebAPILinuxSelf-hosted6.8 - 5
Senzing Entity Resolution
WebAPILinuxmacOS6.7From $58,560 a year - 6
DupeCatcher
Free planAndroidiOSWeb6.6Free plan
