Data Match Algorithms

Jaro-Winkler Distance: Formula, Examples & Free Calculator

Jaro-Winkler Distance: Formula, Examples & Free Calculator

Definition

Jaro-Winkler distance

Jaro-Winkler compares how similar two strings are and gives extra weight to a shared beginning. Jaro-Winkler distance expresses the result in the opposite direction: 0 means identical strings, and distance is commonly calculated as 1 minus the similarity score.

Key Takeaways

  • Jaro-Winkler rewards strings with a shared beginning.
  • Similarity runs from 0 to 1; distance is 1 minus similarity.
  • It is useful for comparing short names with spelling errors.
  • A high score alone does not confirm a record match.
  • WinPure AdaptiveMatch™ enables no-code Jaro-Winkler matching at individual-column level.
FREE MATCHING TOOL

Jaro-Winkler Similarity Calculator

Compare two text values and instantly see how similar they are using the Jaro-Winkler algorithm.

Try an example
0.961 Similarity score
Very strong similarity

These values are highly similar.

Jaro-Winkler gives additional weight to matching characters at the beginning of a value, making it especially useful for comparing names and short text fields.

Jaro score 0.944
Common prefix 3 chars
Difference Likely typo / transposition
Remember: A similarity score alone should not normally determine whether two real-world records represent the same entity. Production matching often combines multiple fields, algorithms, thresholds and business rules.
From one algorithm to intelligent matching

WinPure AdaptiveMatch™ can apply the most appropriate matching logic across names, addresses and other fields as part of a complete data matching workflow.

What Is Jaro-Winkler Distance?

Jaro-Winkler is a string comparison method used to identify values that are similar despite spelling differences or typing errors. It builds on Jaro similarity, which considers matching characters and their positions, then gives an additional boost when the strings begin with the same characters. This makes Jaro-Winkler useful for comparing names. For example, MARTHA and MARHTA have most of the same letters, including the same beginning, even though two letters appear in a different order. The terms similarity and distance describe the score in opposite directions:

Jaro-Winkler similarity: 1 means the strings are identical; 0 means they have no similarity.
Jaro-Winkler distance: 0 means the strings are identical; larger values indicate greater difference. It is commonly calculated as 1 − similarity.

A high similarity score can help identify a potential match, but it does not prove that two records refer to the same person or organisation. Other fields, such as an address or email address, can provide additional evidence.

Jaro-Winkler Similarity vs Distance

Jaro-Winkler similarity and distance express the same comparison in opposite ways. Similarity measures how alike two strings are, while distance measures how far apart they are.

ScoreIdentical stringsMore different strings
Jaro-Winkler similarity1Closer to 0
Jaro-Winkler distance0Closer to 1

Distance is commonly calculated as: Jaro-Winkler distance = 1 − Jaro-Winkler similarity

For example, a similarity score of 0.92 corresponds to a distance of 0.08. Both scores describe the same result; only the direction of the scale changes. Check which measure a calculator, library or matching tool reports before setting a threshold. A higher threshold demands closer matches when using similarity, while a lower threshold demands closer matches when using distance.

How Does Jaro-Winkler Work?

Jaro-Winkler compares two strings in two stages. First, it calculates their Jaro similarity by looking at which characters match, how close those characters are to their original positions, and whether matched characters appear in a different order. It then checks whether the strings share the same characters at the beginning. A shared prefix increases the Jaro score, typically considering up to the first four characters. The longer that shared prefix, the larger the increase. For example, MARTHA and MARHTA begin with MAR. Their Jaro score reflects the letters they share and the change in letter order; Jaro-Winkler then gives the pair an additional boost for their matching prefix. This emphasis on the beginning of a string can help when comparing names with a typo later in the word. It can also make unrelated values with the same prefix appear more similar, so the score should be assessed alongside other matching evidence.

The Jaro-Winkler Formula

Jaro-Winkler starts with a Jaro similarity score and increases it when the two strings share a prefix: Jaro-Winkler similarity = J + (ℓ × p × (1 − J))

Where:

  • J is the Jaro similarity score.
  • ℓ is the number of matching characters at the start of both strings, usually capped at four.
  • p is the prefix scaling factor, commonly 0.1.

The term (1 − J) limits the size of the increase: a pair that already has a high Jaro score receives a smaller boost. If the strings have no shared prefix, ℓ = 0, so the Jaro-Winkler score equals the Jaro score. If a distance is needed, it is commonly calculated from the final similarity score: Jaro-Winkler distance = 1 − Jaro-Winkler similarity

Some implementations apply the prefix boost only when the Jaro score exceeds a set threshold. Check the settings of the calculator or software you are using before comparing its results with another tool.

A Worked Example: Jaro Score, Prefix Boost and Final Score

Let’s compare MARTHA and MARHTA. The letters T and H appear in a different order, but the strings share the prefix MAR.

1. Calculate the Jaro score

Both strings are six characters long. All six characters can be matched, and the change in order counts as one transposition: Jaro similarity = (6/6 + 6/6 + (6 − 1)/6) ÷ 3 = 0.9444

2. Apply the prefix boost

The first three characters match, so ℓ = 3. Using the common scaling factor p = 0.1: Jaro-Winkler similarity = 0.9444 + (3 × 0.1 × (1 − 0.9444)) = 0.9611

The shared prefix raises the similarity score from approximately 0.9444 to 0.9611.

3. Convert similarity to distance

Jaro-Winkler distance = 1 − 0.9611 = 0.0389

For this pair, the similarity is approximately 0.9611 and the distance is approximately 0.0389. The high similarity score indicates that the strings are very alike; it does not, by itself, establish that two records refer to the same person.

Jaro vs Jaro-Winkler

Jaro compares strings based on matching characters, their positions and transpositions. Jaro-Winkler starts with that Jaro score, then increases it when the strings share characters at the beginning.

FeatureJaroJaro-Winkler
Matching characters and transpositionsYesYes
Extra weight for a shared prefixNoYes
Typical useGeneral comparison of short stringsShort strings where a matching beginning is meaningful

For example, MARTHA and MARHTA have a Jaro similarity of approximately 0.9444. Because both begin with MAR, their Jaro-Winkler similarity rises to approximately 0.9611 when using a prefix scaling factor of 0.1. Neither algorithm is always the better choice. Jaro-Winkler can be useful when the start of a value is generally reliable, but its prefix boost may be less helpful when prefixes vary or are shared by many unrelated values. In record matching, the choice should reflect the data being compared and the results observed on representative examples.

Jaro-Winkler vs Levenshtein Distance

Jaro-Winkler and Levenshtein both compare strings, but they measure differences in different ways. Levenshtein distance counts the minimum number of single-character insertions, deletions and substitutions needed to turn one string into another. Jaro-Winkler considers matching characters, their order and a shared prefix. Its usual output is a similarity score between 0 and 1, which can be converted to a distance by subtracting it from 1.

FeatureJaro-WinklerLevenshtein
What it measuresCharacter agreement, order and shared prefixMinimum number of insertions, deletions and substitutions
Standard outputSimilarity score from 0 to 1Edit count
Shared prefixReceives extra weightReceives no special weight
Transposed lettersConsidered through Jaro’s transposition calculationUsually require two edits

For example, MARTHA and MARHTA have two letters in a different order. Their Jaro-Winkler similarity is approximately 0.9611, while their standard Levenshtein distance is 2. These numbers use different scales and should not be compared directly. Jaro-Winkler can be useful for short names when a matching beginning provides meaningful evidence. Levenshtein is useful when the number of character edits is the measure you need. For record matching, test both against examples from your own data and combine string scores with other fields before deciding that records match.

When Is Jaro-Winkler Useful?

Jaro-Winkler is useful when comparing short text values whose beginnings are usually recorded consistently, but whose later characters may contain spelling differences or typing errors. Common examples include first names, surnames and some organisation names. It can help generate candidate matches in tasks such as customer deduplication, CRM data matching and record linkage across systems. For example, MARTHA and MARHTA share the same beginning and most of the same characters, despite a change in letter order. The prefix boost is most valuable when a shared beginning provides meaningful evidence. It is less useful when many unrelated values start alike, or when the beginning of a value is often missing, abbreviated or entered inconsistently. In practice, a Jaro-Winkler score works best as one part of a matching rule. Agreement on fields such as an email address, postcode or other identifying details can help determine whether two similar names belong to the same person or organisation.

Limitations and False Matches

A high Jaro-Winkler score means two strings look alike. It does not establish that they identify the same person or organisation. Because the algorithm rewards a shared prefix, different names that begin similarly can receive a higher score than their overall differences might suggest. Jaro-Winkler can also miss useful matches. Differences at the beginning of a name can shorten or remove the shared prefix, reducing the Jaro-Winkler boost. Word order, abbreviations and differences in how full names are split across fields can make a direct comparison less useful. The score also depends on how values are prepared. Differences in punctuation, spacing or capitalisation may affect the result unless the data is standardised before comparison. To reduce false matches, test thresholds against examples from your own data and use other fields as supporting evidence. For instance, similar surnames might create a candidate match, while agreement on an address or other identifying detail provides a stronger reason to link the records.

Choosing a Threshold

A threshold sets the score at which a pair of strings is considered similar enough to review or use in a matching rule. For Jaro-Winkler similarity, a higher threshold is stricter: 0.95 accepts fewer pairs than 0.85. If your tool reports distance, the direction reverses: smaller distances indicate closer strings. There is no universal threshold that works for every dataset. A lower similarity threshold may find more genuine variations, but it can also produce more false matches. A higher threshold can reduce false matches while missing records that contain larger spelling differences. Start with a sample of known matching and non-matching records. Compare their scores, then measure how changing the threshold affects both missed matches and false matches. Pay particular attention to common names and values that share a prefix, as these can expose cases where Jaro-Winkler gives a misleadingly high score. For person or organisation matching, the threshold should also reflect the other evidence available. A moderately similar name paired with an exact email address may be more convincing than a highly similar name with conflicting contact details.

Using Jaro-Winkler in AdaptiveMatch™

AdaptiveMatch™ is designed to let you choose matching algorithms for individual columns in WinPure Clean & Match Enterprise. Jaro-Winkler can be applied to a name column where a shared beginning is useful evidence, while other columns use methods better suited to their values. For example, a matching rule could compare a first name with Jaro-Winkler, a surname with WinPureFuzzy™, and an email address using exact matching. The name scores help identify possible matches; agreement across other fields gives the result more context. Jaro-Winkler will not be the best choice for every column or dataset. AdaptiveMatch™ is intended to support testing and adjusting the algorithm and threshold for each field, so matching rules reflect the variations present in your data. Preparing inconsistent values in CLEAN before matching can also improve the quality of those comparisons.

Find the right matches in your data

See how WinPure combines Jaro-Winkler with other matching methods to identify potential duplicates. Try it free for 30 days—no credit card required.

Start Free Trial

Frequently Asked Questions

Written by

Team WinPure

The WinPure Team brings together over 100 years of combined expertise in data quality, data management, data matching, entity resolution and software innovation. Our growing team of experienced specialists combines deep industry knowledge with a passion for advancing data quality technology, helping organisations worldwide improve data accuracy, identify and resolve duplicate records, streamline operations and unlock the full potential of their data.

Have a Data Quality Problem to Solve?

Talk to our team about your data, your requirements, and how WinPure could support your project.

Talk to Our Team

Get practical data quality guidance in your inbox

Receive our latest articles on data cleansing, matching, deduplication, entity resolution, and golden records.

Keep Reading

Start Your 30-Day Trial!

Secure desktop tool. No credit card required.

  • Full-feature access for 30 days
  • Runs on your own machine, data stays local
  • No credit card required
  • Onboarding support from our data team