How name-based love matching works
On this page
- Six ways two names are compared
- How it differs from the main love calculator
- Why people compare names
- How to use it
- What each input means
- The six measurements
- How six measurements become six areas
- Reading the name match analysis
- Worked example: counting it by hand
- Worked example: comparing two spellings
- Why spelling changes everything
- Where name matching comes from
- Where these measurements are actually used
- What each measurement misses
- Accented and non-Latin names
- What it cannot tell you
- Playing it as a group game
- Common misunderstandings
- Limitations
- Frequently asked questions
Six ways two names are compared
It takes two names apart letter by letter and measures six things about how they compare. Those measurements produce six relationship-flavoured scores, and their average is the headline percentage.
What makes it worth using rather than any of the hundreds of similar pages is that nothing is concealed. The result lists the letters the two names share, the letters they do not, the vowel proportion of each, the alphabet distance between the initials, and the exact score each measurement produced. Every one of those is a fact you can verify with a pencil.
That transparency is also the honest limit of the tool. These are real measurements of text. They are not measurements of people, and no amount of arithmetic on letters can become information about a relationship.
How it differs from the main love calculator
The two tools share a design system and nothing else.
The main love calculator derives seven areas from a hash of the name pair and then weights them according to whether you describe the relationship as a crush, dating, a couple or a marriage. The relationship type is the interesting variable; the names are essentially a seed.
This calculator has no hash and no relationship type. The names are not a seed — they are the measurement. Change one letter and you change six computable quantities, and you can watch each of them move. That is a genuinely different thing to build, and it produces genuinely different numbers.
If you want the two compared: run the same pair through both. The scores will differ, often substantially, and neither is more correct, because neither is measuring anything real about the couple.
Why people compare names
People who grew up with name-matching games and want the modern version. Writing two names on paper and striking out the shared letters is a playground ritual in a dozen countries, and this is the same instinct with the counting done for you.
People testing spellings, which turns out to be the most engaging use. Running "Catherine and Michael" against "Cathy and Mike" and watching a fifteen-point swing is a fast, memorable demonstration of what the number actually depends on.
And people who are simply curious about the mechanics. The measurements here — set overlap, multiset overlap, longest common subsequence — are standard string-similarity techniques used in search engines, spell checkers and record matching. Seeing them applied to something frivolous is a reasonable way to understand what they do.
How to use it
- Enter both names. Capitals and extra spaces are normalised away, so type them however you like.
- Decide on first names or full names and use the same style for both. Mixing a first name with a full name skews the length balance.
- Tick "compare a second version" if you want to test nicknames or an alternative spelling against the original.
- Press Analyse, then read the Name Match Analysis rather than only the percentage — it is the more interesting half.
What each input means
The two names
Required, at least two letters each. Everything else on the page is derived from these two strings.
Normalisation is limited to case and whitespace. Accents are preserved, because "é" and "e" are different letters and treating them as identical would be a silent judgement about how someone's name ought to be spelled. This does mean "José" and "Jose" produce slightly different results, which is correct — they are different text.
The alternative spelling
Optional. Fill in one or both fields and the alternative pair is scored alongside the original, with both shown in a comparison table and the difference stated.
Leaving one alternative blank reuses the original for that side, so you can test a change to just one name.
The six measurements
Each one is a standard similarity measure. Together they capture different aspects of how two strings relate.
Shared letters
The Sørensen–Dice coefficient over letter multisets: twice the number of letters that appear in both names, divided by the total letter count of both.
Because it works on multisets, repeats count. "Anna" and "Ana" share three letters rather than two, since Anna's second "n" has a partner. This is the measurement closest to what people do intuitively when they strike out matching letters.
Letter set overlap
The Jaccard index over distinct letters: how many letters appear in both names, divided by how many distinct letters the two names use between them.
It ignores repeats entirely, which makes it a good counterweight to the previous measure. A long name repeating the same few letters scores well on shared letters and poorly here, and the gap between the two figures tells you something about the shape of the names.
Name length balance
One minus the difference in letter count divided by the longer name's length. Two names of identical length score 1; a four-letter name against a twelve-letter name scores 0.33.
This is the measurement most affected by whether you use surnames, which is why the page nudges you to be consistent.
Vowel pattern match
Each name's vowel proportion is computed — vowels divided by total letters — and the measurement is one minus the difference between them.
It captures something real about how names sound. "Aoife" is 80% vowels and "Krzysztof" is around 11%, and that difference is audible long before you count anything. Two names with similar vowel density tend to have a similar rhythm.
Initial affinity
How close the two first letters are in the alphabet, scaled so that the same initial scores 1 and A against Z scores 0.
This is the most arbitrary of the six and the page does not pretend otherwise — alphabet position has no meaning beyond convention. It is included because shared and nearby initials are a thing people notice and enjoy, and it is weighted lightly.
For names whose first letter is not in the Latin alphabet, this returns a neutral 0.5 rather than a fabricated number.
Letter order match
The longest common subsequence of the two names, divided by the length of the shorter one. A subsequence keeps order but allows gaps, so "mark" and "monarch" share "m", "a", "r" in sequence.
This is the only measurement that notices order. "Mark" and "Kram" share every letter and would score identically on the first two measurements, but their order match is poor. Including it stops anagram-like pairs from scoring artificially high across the board.
How six measurements become six areas
Each relationship area is a different weighted blend, so the areas move independently rather than all tracking the same underlying number.
| Area | Blend |
|---|---|
| Attraction | Initial affinity 40%, vowel pattern 35%, length balance 25% |
| Chemistry | Shared letters 45%, order match 35%, vowel pattern 20% |
| Communication | Order match 40%, set overlap 35%, length balance 25% |
| Emotional match | Set overlap 40%, shared letters 35%, vowel pattern 25% |
| Understanding | Length balance 35%, set overlap 35%, initial affinity 30% |
| Relationship potential | Shared letters 30%, order match 25%, set overlap 25%, initial affinity 20% |
The pairings are chosen to be loosely evocative rather than meaningful: the surface qualities of a name — its initial, its vowel rhythm, its length — feed attraction, while the deeper structural overlap feeds emotional match and potential. That is a metaphor, not a theory, and it is stated as one.
The blended value is then mapped onto a display range of 34 to 99. Raw similarity between two unrelated names is naturally low — a Jaccard index of 0.3 is quite normal — and showing that as "30%" would make almost every pair look terrible. The mapping is disclosed here rather than buried, so you know a displayed 62 is not a raw 62.
Reading the name match analysis
The analysis block is the part worth your attention.
Common letters lists every letter appearing in both names, with a count. Unique letters lists those in only one. Between them they account for every distinct letter in play, and you can check that by hand in a few seconds.
Name similarity is the Jaccard figure as a percentage. Name length gives both letter counts and the resulting balance. Initials shows the two first letters and their affinity. Vowel pattern gives each name's vowel proportion and the match between them.
The line underneath summarises the letter compatibility in words, based on how much of the shorter name is present in the longer one.
Worked example: counting it by hand
maria is m, a, r, i, a — five letters.
adrian is a, d, r, i, a, n — six letters.
Shared letters (Dice).
Maria has a×2, and Adrian has a×2, so two "a"s match. Both have one "r" and one "i". That is four matching letters. Dice is (2 × 4) ÷ (5 + 6) = 8 ÷ 11 = 0.727.
Letter set overlap (Jaccard).
Distinct letters in Maria: m, a, r, i. In Adrian: a, d, r, i, n. Shared: a, r, i — three. All distinct letters between them: m, a, r, i, d, n — six. Jaccard is 3 ÷ 6 = 0.500.
Length balance.
1 − (|5 − 6| ÷ 6) = 1 − 0.167 = 0.833.
Vowel pattern.
Maria has a, i, a — three vowels of five, so 0.600. Adrian has a, i, a — three of six, so 0.500. Match is 1 − 0.100 = 0.900.
Initial affinity.
"m" is position 12, "a" is position 0. 1 − (12 ÷ 25) = 0.520.
Order match.
The longest sequence appearing in order in both is "a", "r", "i", "a" — four letters. Divided by the shorter name's five letters: 0.800.
Attraction, as an example area.
Blend: initial 40%, vowel 35%, length 25%.
(0.520 × 0.40) + (0.900 × 0.35) + (0.833 × 0.25) = 0.208 + 0.315 +
0.208 = 0.731.
Mapped onto 34–99: 34 + (0.731 × 65) = 81.5, so 82.
The same procedure runs for the other five areas, and the headline is their average. Every figure above appears somewhere on the result, so you can check this example against the calculator directly.
Worked example: comparing two spellings
Original: Catherine and Michael.
Alternative: Cathy and Mike.
Catherine is nine letters and Michael is seven, so the length balance is 1 − (2 ÷ 9) = 0.778. Cathy is five and Mike is four, giving 1 − (1 ÷ 5) = 0.800 — barely different.
The letter sets change more. Catherine and Michael share a, e, h, c, i. Cathy and Mike share only the "c"... no: Cathy is c, a, t, h, y and Mike is m, i, k, e, so they share nothing at all. Jaccard drops from 0.5 to 0.
Vowel proportions shift too. Catherine is 4 of 9, or 0.444; Cathy is 1 of 5, or 0.200. Michael is 3 of 7, or 0.429; Mike is 2 of 4, or 0.500.
The result is a substantial drop for the nickname pair, driven almost entirely by the collapse in shared letters. The comparison table states the difference in points. Two identical people, two very different numbers — which is the clearest possible demonstration that what is being measured is the spelling.
Why spelling changes everything
This deserves emphasis because it is the single most important thing to understand about any name-based calculator.
The input is text. Not a person, not a relationship — a sequence of characters. Every measurement operates on that sequence. Change the sequence and every measurement changes, sometimes dramatically.
A person might be Elizabeth, Liz, Beth, Eliza, Libby or Betsy, and each of those produces a different score against the same partner. None is more valid than the others, because none of them is measuring the person.
Some calculators quietly obscure this by normalising nicknames to formal names or stripping accents. That produces a more stable-looking number at the cost of pretending the input is something it is not. This one shows you the swing directly, which is more useful and considerably more honest.
Where name matching comes from
Matching names for romantic compatibility is old and widespread, and the modern web version inherits directly from paper games.
The best known is FLAMES, played across South Asia and beyond. Write both names, strike out every letter they share, count what is left, then count around the word FLAMES — Friends, Lovers, Affection, Marriage, Enemies, Siblings — and the letter you land on is the verdict. The mechanic at its heart is exactly the shared-letter count this calculator measures, only formalised.
Numerological name matching is older still, assigning numbers to letters and reducing the total to a single digit. Different traditions use different letter-to-number tables, which is a good hint about how much weight the results can bear.
These games persist because they are fun, they take seconds, and they give two people a reason to write their names next to each other. That is a perfectly good reason for something to exist. What they have never had is any evidence behind them, and this calculator is a tidier version of the same pastime rather than an improvement on its foundations.
Where these measurements are actually used
The six techniques here are not invented for this page. They are standard string-similarity measures, and they do serious work elsewhere. Knowing what they are really for makes it easier to see what they can and cannot say about a pair of names.
Sørensen–Dice and the Jaccard index are workhorses of record linkage — the problem of deciding whether "Jonathan R Smith" in one database and "Jon Smith" in another are the same person. Hospitals, electoral registers and customer systems all face this, and getting it wrong merges two people or splits one in half. Both measures reduce a messy comparison to a number between zero and one that a threshold can be set against.
Longest common subsequence is what powers the diff view in every version-control system. When a code review shows which lines changed between two versions of a file, it is running exactly the algorithm this page runs on letters, only over lines. It is also the basis of several plagiarism detectors.
Length and character-distribution comparisons appear in spell checkers and search engines as cheap first-pass filters. Before doing expensive work, it is worth ruling out candidates that cannot possibly match, and comparing lengths costs almost nothing.
What all of these have in common is that they answer one question: how similar are these two strings? That is a real question with a real answer. The leap this page makes — from string similarity to romantic compatibility — is the entertaining part, and it is not one any of these techniques supports.
What each measurement misses
No single measure captures everything, which is why six are used together. Each has a characteristic blind spot.
Shared letters is fooled by anagrams. "Mark" and "Kram" score perfectly, despite reading nothing alike. Order match exists to catch precisely this.
Set overlap ignores repetition, so "Anna" and "Ana" look identical to it even though one is longer. Shared letters is the counterweight.
Length balance knows nothing about content. "Bob" and "Ivy" are both three letters and score a perfect balance while sharing no letters at all.
Vowel pattern compares proportions, not positions. "Alice" and "Ceila" have the same vowel ratio arranged completely differently.
Initial affinity is the weakest of the six by some distance, since alphabet position carries no information about anything. It is included because people enjoy it, and weighted so it cannot dominate.
Order match can be generous with long names, because a longer name offers more chances for a subsequence to thread through it. Dividing by the shorter name's length limits this but does not remove it.
Accented and non-Latin names
Names in any script are accepted. Letters are identified by their Unicode letter property rather than a Latin-only range, so Cyrillic, Devanagari, Greek, Arabic and Han characters are all counted as letters and none of them is silently dropped.
Two limits are worth knowing. Initial affinity depends on alphabet position, which only exists for Latin letters; for anything else the measurement returns a neutral 0.5 and contributes nothing distinctive. And the vowel measurement uses the five Latin vowels, so it is not meaningful for scripts that do not work that way.
Comparing the same name across scripts — the Latin and Cyrillic spellings of the same person — gives different results, because they are different character sequences. There is no way around that short of transliterating, which would introduce a different set of distortions.
What it cannot tell you
Whether two people are compatible. The calculator has no information about them: not their values, their behaviour, their circumstances or their feelings. It has two strings.
Whether a relationship will last. Names are fixed at birth and relationships are not, so even in principle there is nothing here that could track an outcome.
Anything about compatibility as a concept. The six measurements are genuine string-similarity techniques, but string similarity is a tool for comparing text — matching records, correcting spellings, ranking search results. Applying it to names and calling the output romance is a joke the tool is in on.
Playing it as a group game
The tool works better with several people than with two, and the spelling comparison is what makes that work.
The straightforward version is a round-robin: everyone in a group runs their name against everyone else's and the highest pair wins. It takes moments, produces a leaderboard, and the arbitrariness is the point.
A better version uses the analysis rather than the score. Pick a pair, look at their shared letters, and try to find a spelling of either name that pushes the score higher — a nickname, a middle name, a formal version. Whoever gains the most points wins. It turns the game into a small puzzle about which letters matter, and by the end everyone understands exactly what the calculator is doing, which is a more durable outcome than a percentage.
A third variation runs one person's name against a list of fictional characters, historical figures or celebrities. The results are meaningless in an obvious way, which tends to be funnier than results that are meaningless in a way people might mistake for insight.
Common misunderstandings
Assuming a low score means incompatibility
It means the two names are built from different letters. Change one nickname and it may jump twenty points.
Comparing a first-name result with a full-name result
Adding surnames changes length balance and usually raises the shared letter count. The two are not comparable.
Expecting agreement with the main love calculator
Different model, different numbers. Neither is the correct one.
Thinking the displayed percentage is the raw similarity
It is mapped onto a 34–99 display range, which is stated above. A shown 62 is not a raw 0.62.
Reading the six areas as separate findings
They are six blends of the same six numbers. They move independently, but they are not independent evidence.
Trying to game it
You can, easily, and doing so is instructive. Pick a nickname that shares more letters and the score rises. That is the whole trick.
Running it once and taking the number seriously
A single result looks authoritative in a way a range of results does not. Run three or four spellings of the same pair and the spread makes the situation clear immediately: there is no single score for two people, only a score for each way of writing their names down.
Limitations
Everything here is derived from two strings, and no presentation changes what can be extracted from that.
Initial affinity is Latin-only and arbitrary even there. Vowel matching uses the five Latin vowels and does not generalise to other writing systems. Both are weighted lightly for that reason, but neither is meaningful in every case.
The display mapping compresses the natural range. Two pairs shown as 61 and 64 differ by less in raw terms than the two-point gap suggests.
The weightings that turn six measurements into six areas are chosen for flavour. Someone else could assign them differently and the result would be no less valid, which tells you how much the labels are worth.
The result card is generated in your browser. Very old browsers without canvas support will not produce one, and the button reports that rather than failing silently.
Frequently asked questions
How does a love calculator by name actually work?
This one measures six real properties of the two names: shared letters counting repeats, distinct letter overlap, length balance, vowel pattern similarity, how close the initials sit in the alphabet, and how much letter order matches. Those six feed six relationship areas through different weightings, and the headline is the average.
Is anything random or hidden in the calculation?
No. There is no hashing and no random element anywhere. Every figure on the result comes from counting letters, and the Name Match Analysis shows the actual shared and unshared letters so you can check the counts by hand.
Why does changing the spelling change the score?
Because the spelling is the input. "Catherine" and "Kathryn" contain different letters, so every measurement changes. The Test Another Spelling feature exists to make this obvious rather than to hide it.
Should I use full names or first names?
Either, but be consistent. Adding surnames usually raises the shared-letter count simply because there are more letters to share, so a full-name comparison is not directly comparable with a first-name one.
Can I compare nicknames?
Yes — that is exactly what the alternative spelling comparison is for. Enter the formal names first, then the nicknames as the alternative, and both results appear side by side.
Does the order of the names matter?
No. Every measurement used here is symmetric, so swapping the two names gives an identical result.
Why is my score not the same as the main love calculator?
They use completely different models. The main love calculator derives its seven areas from a hash of the name pair and weights them by relationship type. This one measures letters directly. Two different methods on the same names have no reason to agree.
Do accented and non-Latin names work?
Yes. Any script is accepted and letters are counted properly. The one exception is initial affinity, which needs a Latin alphabet position to be meaningful — for other scripts it returns a neutral value rather than a misleading one.
What does a good score look like?
Most unrelated name pairs land somewhere between 50 and 75. Names sharing many letters in a similar order can reach the high 80s or 90s. Since the number describes letters rather than people, "good" is not really the right frame.
Does this predict whether a relationship will work?
No. It counts letters. Two names sharing every vowel tells you nothing about whether two people are kind to each other, want the same things, or can resolve an argument.
About this calculator's results
This is a word game, not a measurement of people. Every figure on the result is a genuine property of the two strings you typed — shared letters, set overlap, length balance, vowel proportion, alphabet distance, subsequence length. Those measurements are correct. The step from "these two names share four letters" to "these two people are 74% compatible" is entertainment, and nothing more.
The score depends entirely on spelling. The same two people scored under their formal names, their nicknames, or their names in a different script will produce different numbers, all equally valid and all equally uninformative about the relationship. The spelling comparison feature exists to make that obvious.
Name-based love matching is a folk tradition with no evidential basis. This page implements it carefully and shows its working, which makes it a better version of the game — not a version that has become true.
Nothing here is relationship, psychological or counselling advice, and no result from this page should influence a decision about a real relationship or about how you treat another person.