Valentine's Day 2027 is coming: heart picks, love notes & combos →

look a little closer ♡

Heart Symbol vs Emoji Same idea. Different text.

A black heart suit, a red heart and a black-heart emoji can all mean “heart” to a reader. Their underlying text can still be different. Compare the exact sequences, then inspect your own pasted heart.

Heart Symbol reference · Updated · Sources & references

Same idea, different characters

A heart is more than its picture

A code point identifies a character. A selector can request a presentation. The font or emoji renderer supplies the drawing. Copy a row, then inspect it below to see what is actually in the text.

CopyVersionComplete sequenceWhat to expect
Base heart suitU+2665Filled playing-card symbol; default text presentation.
Heart suit + text selectorU+2665 U+FE0ERequests text presentation.
Heart suit + emoji selectorU+2665 U+FE0FRequests emoji presentation.
Base heavy black heartU+2764Same base character used in the red-heart sequence.
Heavy heart + text selectorU+2764 U+FE0ERequests text presentation.
Heavy heart + emoji selectorU+2764 U+FE0FThe red-heart sequence copied on this site.
Outline heart suitU+2661A separate text symbol, not a white-colored emoji.
Black-heart emojiU+1F5A4A separate emoji, not U+2665.
White-heart emojiU+1F90DA separate emoji, not U+2661.

Two rows can look alike on your device while still containing different text. Conversely, the same copied sequence can look different on another device.

The invisible part

Selectors request a presentation

FE0E asks for text

U+FE0E is VARIATION SELECTOR-15. For supported presentation pairs such as ♥ and ❤, it requests text style. It does not choose a particular font, size or text color.

FE0F asks for emoji

U+FE0F is VARIATION SELECTOR-16. It requests emoji style for supported pairs. Copying ❤️ includes both U+2764 and U+FE0F, even though you usually see one heart.

A joiner has a different job

U+200D is ZERO WIDTH JOINER. In a recognized sequence such as ❤️‍🩹 it joins components for emoji rendering. It is not a separator that should be removed from every copied string.

No selector is a universal switch

Unicode defines specific presentation sequences. Adding FE0E or FE0F to every character does not create an officially supported variant. ♡ and 🤍 are separate characters, so choose the one you want directly.

Read the exact text

What is inside this heart?

U+2665 U+FE0E

The example keeps its complete text presentation sequence.

Choose by the destination

Text field, document or message?

For a name or simple separator

Start with ♡ or a text-style heart. Paste it into the actual field and check the font and acceptance rules. A text heart can follow text color where the editor supports coloring.

Browse text heart symbols →

For colored emoji artwork

Choose the exact colored heart rather than trying to recolor a different emoji. The destination can still draw its own shade and proportions.

Browse heart emojis →

If a heart becomes a box, the font or app may lack the glyph or sequence. If it splits into several pictures, support for the joined sequence may be missing. Try a simpler heart or another supported font; the picture alone does not prove that copying lost a code point.

Questions, answered

Heart Symbol vs Emoji FAQ

Are ♥ and 🖤 the same black heart?

No. ♥ is U+2665 BLACK HEART SUIT; 🖤 is U+1F5A4 BLACK HEART. Their names, code points and usual rendering differ. “Black” in the suit name describes its filled shape, not a required ink color.

Does FE0E remove the color from every heart?

No. FE0E requests text presentation only where a standardized sequence is defined and the receiving renderer supports it. It is not a general switch for turning any emoji monochrome.

Does a joiner make every heart combination one emoji?

No. Recognized emoji ZWJ sequences have defined components. Putting a zero-width joiner between arbitrary hearts does not guarantee one picture; ordinary combinations should keep their original text.

Should I delete invisible characters before pasting?

Not automatically. A presentation selector or joiner can be part of the intended sequence. Choose the exact version you want and check it in the destination rather than stripping every invisible character.

A little further

Keep exploring

Sources & method

Text, sequences & original examples

Character references follow Unicode data. Decorations and generator templates are original examples; appearance and acceptance depend on the receiving app. This site does not define a new font or new Unicode characters.

  1. Unicode: emoji list and names
  2. Unicode Emoji specification: sequences and presentation
  3. Unicode emoji test data: sequence and Emoji version
  4. Unicode text and emoji presentation pairs

Edit your saved text

A complete combination or text entry counts as one item. Maximum 4,000 UTF-16 units.

Copy this text manually

Automatic copying was blocked. Use your device’s Copy command on the selected text. This attempt was not saved.