EVERYTHING XIAOMI
Get listed

Splink

Splink is a free Python package for probabilistic record linkage, used to deduplicate and connect records when unique identifiers are unavailable.

Place
#3 of 25
Score
7.3
Splink's website

What Splink is

Splink is a free Python package for probabilistic record linkage, used to deduplicate and connect records when unique identifiers are unavailable. Its core method follows the Fellegi-Sunter model and can be trained without labeled examples through an unsupervised approach. Matching can use term-frequency adjustments and custom fuzzy logic. Splink creates SQL for a selected backend, with documented options including DuckDB, Spark, SQLite and PostgreSQL. The project recommends DuckDB for most situations and Spark for very large linkages or when a Spark cluster is easier to access; the maker says it can handle linkages of 100+ million records on DuckDB or big-data backends such as Spark. The package works best with standardized data across multiple, not highly correlated columns, and is not intended for a single bag-of-words column. Interactive visualizations help inspect and diagnose models, predictions and clusters. Install with pip or conda, with additional backend-specific setup documented for Spark and PostgreSQL. The maker points users with remaining questions to its GitHub discussion forum.

Good

  • Can train without labeled examples.
  • Supports fuzzy logic and term-frequency adjustments.
  • Offers four documented SQL backends.
  • Includes interactive model and cluster diagnostics.
  • Free Python package installable with pip or conda.

Watch out

  • Not designed for a single bag-of-words column.
  • Databricks-specific support may be difficult to provide.

Who it suits

Splink suits analysts and data teams linking or deduplicating records without unique identifiers, provided their data has multiple standardized columns rather than only bag-of-words text.

Verdict

Splink is aimed at record linkage work where identifiers are missing and data has useful structured columns. Backend choice and data preparation matter, and users working with Databricks-specific issues may have limited support.

Plans and prices

From Splink's own pricing page, checked 15 Oct 2026.

All about pricing
PlanPriceWhat it gives you
Free and open sourceFreePython package · self-hosted execution · DuckDB, Spark, SQLite or PostgreSQL backends
SplinkFreeOpen-source Python package · install via pip or conda

The facts

Each one read from Splink's own pages, with the date it was checked.

What it does

Accuracy features
It supports term-frequency adjustments and user-defined fuzzy matching logic.checked 15 Oct 2026
Backend guidance
DuckDB is recommended for most users except the largest linkages, while Spark is recommended for very large linkages or where a Spark cluster is easier to access.checked 29 Sep 2026
Backend limitation
Spark requires more configuration and is often slower than DuckDB; the team says it may struggle with Databricks-specific issues because it lacks a Databricks environment.checked 15 Oct 2026
Backends
The documented SQL backends include DuckDB, Spark, SQLite, and PostgreSQL; the library generates SQL for a user-chosen backend.checked 29 Sep 2026
Custom comparisons
Users can define custom comparison functions and choose built-in comparison and comparison-level libraries.checked 15 Oct 2026
Databricks support
The development team says it lacks access to a Databricks environment and may struggle to help with Databricks-specific issues.checked 29 Sep 2026
Data requirements
Splink works best with standardized data containing multiple columns that are not highly correlated, and is not designed for a single bag-of-words column.checked 29 Sep 2026
Diagnostics
Interactive visualisations help users understand and diagnose linkage models, including dashboards for examining predictions and clusters.checked 29 Sep 2026
Documentation depth
Official documentation includes tutorials, example notebooks with Google Colab links, topic guides, API references, settings references and datasets.checked 15 Oct 2026
Funding origin
The Ministry of Justice says ADR UK funded the Data First programme that created the team and work behind Splink.checked 15 Oct 2026
Government scale result
A UK Ministry of Justice publication reports Splink processing about 15 million records in under an hour and improving the ROC curve over the department's prior rules-based approach.checked 15 Oct 2026
Independent study limitation
A Florida Cancer Registry study found Splink required extra code for deduplication and said large-scale clerical review was uncertain; its waterfall chart was useful for spot checks but not many-record review.checked 15 Oct 2026
Independent study result
In a simulated Florida Cancer Registry comparison using SSN, Splink produced 627,315 true-positive links and 4 false positives in the reported confusion table.checked 15 Oct 2026
Input-data limitation
The project says performance is best with several standardised, not-highly-correlated columns and that a single bag-of-words column is outside its design.checked 15 Oct 2026
Install
Splink can be installed using pip or conda, with optional backend-specific installs documented for Spark and PostgreSQL.checked 29 Sep 2026
Installation
The getting-started guide supports installation with pip or conda and requires Python 3.10 or newer.checked 15 Oct 2026
Interactive diagnostics
Interactive visualisations help users inspect models, predictions and linkage problems.checked 15 Oct 2026
Large-scale processing
Linkage can run with DuckDB in Python or with distributed Spark backends for datasets exceeding 100 million records.checked 15 Oct 2026
Licence
The PyPI package is marked as MIT licensed and publishes a platform-independent Python wheel.checked 15 Oct 2026
Licence complaint
A GitHub issue opened in August 2026 argues that an unconditional GPL-licensed igraph dependency may create redistribution obligations for commercial products despite Splink's MIT licence.checked 15 Oct 2026
Linkage modes
It supports deduplication within one dataset, linking across datasets, and combined linking plus deduplication.checked 15 Oct 2026
Matching
It supports term frequency adjustments and user-defined fuzzy matching logic.checked 29 Sep 2026

The company

Maker founded
LinkedIn lists the UK Ministry of Justice as founded in 2007.checked 15 Oct 2026
Maker headquarters and size
LinkedIn lists the maker context as the UK Ministry of Justice, headquartered in London, with 10,001-plus employees.checked 15 Oct 2026
The full review of Splink

Splink is a free Python package for probabilistic record linkage when records lack unique identifiers. It suits teams with standardized, multi-column data and the skills to choose and run a SQL backend. Its appeal is flexible matching that can scale; it is a poor fit for unstructured text or anyone seeking a managed service.

Overview

Splink applies the Fellegi-Sunter model and can train without labeled examples, a useful advantage when teams cannot assemble verified matches. It generates SQL for a backend selected by the user, including DuckDB, Spark, SQLite, and PostgreSQL. That breadth supports different environments, but leaves backend choice and operation to the team.

Data preparation is central to getting value from the package. Splink works best with standardized records containing several useful columns that are not highly correlated; it is not designed to match records from one bag-of-words field. Teams with inconsistent or largely unstructured data should look elsewhere.

Key features

Probabilistic matching at scale

Term-frequency adjustments help account for how common values are, while user-defined fuzzy matching logic lets teams tailor comparisons to their data. The maker says Splink can handle linkages of 100+ million records on DuckDB or big-data backends such as Spark. DuckDB is the recommended choice for most users; Spark is better suited to very large linkages or teams with easier access to a Spark cluster.

Diagnostics and workflows

Interactive visualisations, including dashboards for examining predictions and clusters, help users understand and diagnose linkage models. Splink supports batch file import and is marked as offering a real-time API and organization matching, though the package's core purpose remains probabilistic linkage and deduplication.

Installation is through pip or conda, with optional backend-specific installs documented for Spark and PostgreSQL. For questions that remain after consulting the documentation, the maker points users to its GitHub discussion forum. The development team says it lacks access to a Databricks environment and may struggle to help with Databricks-specific issues, a meaningful support limitation for teams committed to that setup.

Pricing

Splink — free: The open-source Python package can be installed through pip or conda. There is no paid tier or free trial to weigh; the trade-off is that users must select and operate their own backend rather than buying a managed service.

Platforms

Splink supports Linux, macOS, and Windows, and is self-hosted. Its backend options include DuckDB, Spark, SQLite, and PostgreSQL, with backend-specific installation options documented for Spark and PostgreSQL.

Who it's for

Splink is a strong fit for technical teams in government, academia, and other sectors that need to deduplicate or link structured records without unique identifiers. The maker names the Office for National Statistics, NHS England, and the Australian Bureau of Statistics among its users. It is best for teams that can prepare suitable data and manage their chosen backend; a managed product or a method geared to unstructured text is a better direction for others.

Pros and cons

  • Flexible probabilistic matching: Unsupervised training, term-frequency adjustments, and custom fuzzy logic support linkage work without labeled examples.
  • Several backend choices: SQL generation for DuckDB, Spark, SQLite, and PostgreSQL gives teams options, with DuckDB recommended for most and Spark for very large jobs or accessible clusters.
  • Useful diagnostics: Interactive visualisations and dashboards for predictions and clusters make model examination part of the workflow.
  • Data-dependent fit: It is designed for standardized, multi-column records, not a single bag-of-words field.
  • Operational and support burden: Users manage their backend, and Databricks-specific questions may be difficult for the development team to support.

Alternatives

For a wider comparison, browse Identity Resolution Software. Choose among these alternatives based on deployment, pricing, and workflow needs:

  • InterSystems IRIS has a free Community Edition as well as paid options and a free trial.
  • Hightouch offers a web and API-based freemium option; its Free plan includes 2 active syncs per month, hourly sync frequency, and 100,000,000 operations per month.
  • Zingg is another free, self-hosted option for Linux, with a community open-source plan for batch probabilistic matching across millions of records.
  • Treasure AI Composable CDP is a paid option for Android, iOS, web, and API, with warehouse credits applying to query execution.
  • Open Client Registry (OpenCR) is a free option developed by IntraHealth International with USAID support through the MEASURE Evaluation project.
  • Precisely Data Matching and Entity Resolution is a paid option for Linux, self-hosted, web, and Windows deployments.
  • Senzing Entity Resolution offers free and paid plans, a free trial, and deployment across API, desktop, web, and self-hosted environments.
  • Quantexa Entity Resolution is a paid option for API, self-hosted, and web deployments.

Verdict

Choose Splink if your team needs flexible probabilistic linkage for well-structured records, wants an open-source Python package, and can run its own backend. The combination of unsupervised training, configurable matching, and backend choice is compelling for that job.

Getting started

  1. Open the project documentation at https://moj-analytical-services.github.io/splink/.
  2. Install Splink using pip or conda.
  3. Choose a documented SQL backend; DuckDB is recommended for most users, while Spark is recommended for very large linkages or accessible Spark clusters.
  4. Follow the optional backend-specific installation steps if using Spark or PostgreSQL.
  5. Use the interactive visualizations to examine linkage models, predictions and clusters.
  6. Visit the GitHub discussion forum for questions remaining after reading the documentation.

Questions

How much does Splink cost?

Splink is free. Its plan is listed as free.

Is Splink open source?

Yes. It is an open-source Python package.

Which operating systems does Splink support?

The listed platforms are Linux, macOS, Windows and self-hosted use.

Which SQL backends are documented?

Splink documents DuckDB, Spark, SQLite and PostgreSQL. It generates SQL for the backend selected by the user.

Does Splink need labeled examples?

No. Its Fellegi-Sunter-based algorithm can be trained through an unsupervised approach without labeled data.

What kind of data suits Splink?

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.

Alternatives to Splink

All alternatives
  1. 1Hightouch logo

    Hightouch

    Free planAndroidiOSWebAPI
    8.2From $350 a month
  2. 2Zingg logo

    Zingg

    Free planOpen sourceAPILinuxmacOSSelf-hosted
    7.4Free plan
  3. 3
    6.7From $58,560 a year
  4. 4

    NVECTA

    AndroidiOSWebAPI
    6.2
  5. 5AWS Entity Resolution logo

    AWS Entity Resolution

    Free planWebAPI
    6.1Free plan
  6. 6DinMo logo

    DinMo

    WebAPI
    6.0