CalcOpenly
English

Love calculator (just for fun)

For entertainment only: a love compatibility score from 0 to 100 made from two names. The same pair always gets the same score; it predicts nothing.

Drafted with AI writing toolsUpdated Checked examples: 5

Try
Match score
%
Match score: 54 %
Whole number; Nearest, ties away from zero
Verdict
Worth a date

Romeo and Juliet score 54%: “Worth a date”. The number comes from a hash of the letters in the names, so it is the same every time and means nothing about a real relationship.

Match score

Friends firstSome sparkWorth a dateStrong matchStars54%Worth a date
How it's calculated S
  1. Normalize the names

    Keep only letters, lowercase them and sort the pair so order doesn't matter: “juliet+romeo”.

  2. Hash

    32-bit FNV-1a of the UTF-8 bytes of “juliet+romeo” is 174137891.

  3. Scale to 0–100

    174137891 mod 101=54174137891 \bmod 101 = 54

About the love calculator

The score is a hash, not a measurement. The calculator keeps only the letters of both names, lowercases them, sorts the pair so the order doesn't matter, runs the 32-bit FNV-1a hash over the result and takes the remainder after dividing by 101, which gives a whole number from 0 to 100. The verdicts cover 0–20, 21–40, 41–60, 61–80 and 81–100.

The result is for entertainment only and does not predict anything about a real relationship. The same two names always get the same score, so Romeo and Juliet get 54% ("Worth a date") every time, in either order and any mix of capitals.

Every letter feeds the hash, so a nickname, a middle name or a surname gives an unrelated score.

How does a love calculator work?

A love calculator score is entertainment, not a prediction: it comes only from the spelling of two names. The letters are lowercased and sorted, hashed with 32-bit FNV-1a, and reduced to the remainder after dividing by 101. Romeo and Juliet always score 54%.

From two names to a score, step by step

For Romeo and Juliet:

  1. Keep only the letters and lowercase them: romeo and juliet.
  2. Sort the pair alphabetically and join it with a plus sign: juliet+romeo. Sorting is why the order you type the names in makes no difference.
  3. Hash the UTF-8 bytes with 32-bit FNV-1a. The hash starts at 2,166,136,261 and, for each byte, combines it with XOR and multiplies by 16,777,619, keeping 32 bits. Here it ends at 174,137,891.
  4. Divide by 101 and keep the remainder: 174,137,891 mod 101 = 54.

A remainder after dividing by 101 is always a whole number from 0 to 100, which is why the score looks like a percentage.

FNV-1a is a general-purpose, non-cryptographic hash for turning text into a number (FNV specification). Nothing in it relates to the people named.

What the verdicts mean

  • 0–20: Friends first
  • 21–40: Some spark
  • 41–60: Worth a date
  • 61–80: Strong match
  • 81–100: Match made in the stars

The labels are playful names for number ranges. A 95 is not better news about a couple than a 15, because both come from the spelling alone.

Why the same names always get the same score

A hash is deterministic: the same letters in give the same number out, every time and on any day. Capitals, spaces, punctuation and digits are dropped first, so juliet! with ROMEO, or Romeo123 with Juliet456, scores 54 just like the plain names.

Any change to the letters gives an unrelated score. With surnames, Romeo Montague and Juliet Capulet score 95 instead of 54. A nickname or a middle name changes the result in the same unpredictable way.

Accented and non-Latin names

Letters from any script count, and they are hashed as UTF-8 bytes. Zoë and Zoë score 71, while Zoe and Zoe without the accent score 83. A name with no letters at all, such as only digits or emoji, cannot be scored.

An accent typed as one character or as a letter plus a combining mark is treated the same. Other marks that are not letters are dropped: in Devanagari the vowel signs go, so प्रिया is hashed as परय.

Why different name pairs share a score

There are only 101 possible scores and far more pairs of names, so many unrelated pairs land on the same number. Two pairs scoring 54 have nothing else in common.

Example scores

NamesScore, %Verdict
Default54.000000Worth a date
Ada and Charles95.000000Match made in the stars
Elizabeth and Darcy36.000000Some spark
Accented pair71.000000Strong match
Order and punctuation54.000000Worth a date
  • Default: Romeo and Juliet.
  • Accented pair: Zoë and Zoë.
  • Order and punctuation: juliet! and ROMEO typed with spaces around it, which reduce to the same letters as Romeo and Juliet.

The pairs are fictional or historical names, and their scores reflect only the spelling.

Using it for fun

Use the score as a party game. Decisions about a real relationship depend on the two people, and no formula over the letters of their names can measure that. The zodiac sign calculator and the life path number calculator are in the same spirit, and the probability calculator handles questions that really do have numerical answers.

Worked examples

Romeo and Juliet

First name
Romeo
Second name
Juliet
Match score
54%
Verdict
Worth a date

Checked against: mod 101 = 54

Order, case and punctuation don't matter

First name
juliet!
Second name
ROMEO
Match score
54%

Checked against: Same normalized key 'juliet+romeo' as above

Ada and Charles

First name
Ada
Second name
Charles
Match score
95%
Verdict
Match made in the stars

Checked against: mod 101 = 95

Elizabeth and Darcy

First name
Elizabeth
Second name
Darcy
Match score
36%
Verdict
Some spark

Checked against: mod 101 = 36

Questions

How does this love calculator work?

It turns the letters of two names into a number with a fixed formula. The letters are lowercased, the two names are sorted into a pair, and the pair is hashed with 32-bit FNV-1a and reduced modulo 101 to a score from 0 to 100. Nothing about the people themselves goes in, so the score is entertainment and carries no meaning.

Can a love calculator predict a relationship?

No. The score comes from the spelling of two names and says nothing about compatibility. What does predict relationship quality is how each partner experiences the relationship: in a 2020 PNAS study pooling 43 longitudinal couples datasets from 29 laboratories, perceived partner commitment, appreciation, sexual satisfaction, perceived partner satisfaction and conflict were the top predictors, and relationship-specific measures explained up to 45% of the variance in relationship quality at the start of the studies.

Why do the same names always get the same score?

Because a hash is deterministic: the same input always gives the same output. The names are normalized first, so "Romeo" and "Juliet" or "juliet!" and " ROMEO " both become juliet+romeo and score 54. Adding a surname or using a nickname changes the letters and gives an unrelated score.

Do accented and non-Latin names work?

Yes. Any Unicode letter counts, including accented letters and non-Latin scripts, and the letters are hashed as UTF-8 bytes, so Zoë and Zoë score 71. Digits, spaces and punctuation are ignored, and a name with no letters at all gets an error.

About this calculator

score=FNV-1a⁡32(sorted lowercase letters) mod 101\text{score} = \operatorname{FNV\text{-}1a}_{32}(\text{sorted lowercase letters}) \bmod 101

Sources

  1. IETF draft — The FNV non-cryptographic hash algorithm (Fowler, Noll, Vo)

For fun. This result has no scientific basis.

Checked against references

This calculator includes 5 worked examples with independently sourced answers. They run in the test suite, and you can run them here too.

Put this calculator on your site

Paste this where you want the calculator to appear. It is free to use, it stays in step with corrections made here, and the credit line below it links back so your readers can find the full version.

Height
Preview the embed

Keep the credit line. It is the only condition, and it is what keeps these calculators free.