The love calculator uses a deterministic hashing algorithm applied to both names combined. Here is what happens under the hood:
- Both names are joined together and converted to lowercase.
- A polynomial hash (multiply by 31 and XOR each character code) produces a large number from the combined string.
- A second value mixes in the letter counts from each name individually, weighted by prime multipliers (7, 13, 17) to add name-length sensitivity.
- The two values are XOR'd together and mapped to a 0-100 range.
The result is deterministic: the same two names always produce the same score. The algorithm is symmetric, so "Alex + Jordan" and "Jordan + Alex" give different scores, just like in real life where perspective matters.
hash = (hash × 31 + charCode) for each character
bonus = (aCount × 7 + bCount × 13) × 17
score = (hash XOR bonus) mod 101
How Most Online Love Calculators Compute a Score
Almost every love percentage calculator on the web does some version of the same trick. Take the two names, mash them together into one lowercase string, feed the result into a hash function, and reduce the big number down to a value between 0 and 100. The specific hash varies. Some sites use a basic character-sum, some use CRC32, others roll a custom polynomial like ours. The outcome is always the same shape: a fixed number that depends only on the letters you typed. Because hashes are deterministic, running the same love test calculator with the same two inputs always returns the same percent. This is why copying a screenshot of a "95% match" has never actually proven anything except that the website liked those letters.
The FLAMES Game (Classic Schoolyard Paper Method)
Before there were websites, kids played FLAMES on graph paper. It is the grandfather of every name compatibility calculator online. Here are the rules:
- Write both names next to each other, usually in lowercase.
- Cancel out matching letters one-for-one between the two names. Each shared letter knocks out one letter on each side.
- Count the letters that remain in both names combined.
- Write the word FLAMES across a page: F (Friends), L (Lovers), A (Affectionate), M (Marriage), E (Enemies), S (Siblings).
- Loop through the letters of FLAMES, counting up to your remaining number. When you land on a letter, cross it out, and continue from the next one. The last letter standing is your "fate."
Walk-through with Alex and Jamie:
alex + jamie
Shared letters: a, e (one a in each, one e in each)
After cancellation:
a[̶]lx + j[̶]mi[̶]e[̶] → lx + jmi
Remaining letters: l, x, j, m, i → count = 5
Loop through F-L-A-M-E-S, count 5 each pass, cross out:
Pass 1 (count 5): F, L, A, M, E → cross out E leftover: F L A M S
Pass 2 (count 5): S, F, L, A, M → cross out M leftover: F L A S
Pass 3 (count 5): S, F, L, A, S → cross out S leftover: F L A
Pass 4 (count 5): F, L, A, F, L → cross out L leftover: F A
Pass 5 (count 5): A, F, A, F, A → cross out A leftover: F
Result: F = Friends
So Alex and Jamie are FLAMES-game Friends. Different inputs can land on any of the six letters. The FLAMES game calculator has no statistical basis and never did. It is a fun piece of playground folklore that survived into the internet era.
Simple Letter-Count Variants
A bunch of crush calculator sites skip hashing entirely and use a basic letter-counting trick. One popular version counts how many times each letter of the word "LOVES" appears across both names, then concatenates the digits and reduces them. Another version counts shared letters, vowels, and consonants, then combines them into a percentage. A common formula looks like this:
Example: Romeo + Juliet
Shared letters (letters that appear in both names): e, o → 2 shared
Total vowels across both names: o, e, o, u, i, e → 6 vowels
Total consonants across both names: r, m, j, l, t → 5 consonants
Score = ((shared × 10) + (vowels × 7) + (consonants × 5)) mod 100
= ((2 × 10) + (6 × 7) + (5 × 5)) mod 100
= (20 + 42 + 25) mod 100
= 87 mod 100
= 87%These letter-count love tests feel more "transparent" because you can do them by hand, but they are just as arbitrary as the hash version. Change the multipliers and you get a different answer. Pick a different rule for what counts as a "shared" letter and the score jumps again.
Quick Reference: Sample Name Pairs
Here are six sample pairings run through the calculator above, so you can see the range of outputs the hash produces on well-known name combinations. Try them yourself in the widget to confirm.
| Pairing | Love Score | Tier |
|---|
| Alice + Bob | 71% | Good Potential |
| Romeo + Juliet | 88% | Great Connection |
| Harry + Hermione | 63% | Good Potential |
| Jack + Rose | 42% | Rocky Road |
| Noah + Allie | 56% | Interesting Pair |
| Lizzie + Darcy | 78% | Great Connection |
The exact numbers are not meaningful. They are the product of a deterministic function dressed up as fate. The same two names will always score identically, which is what makes the calculator shareable.