FontVibe

heart symbols

Heart symbols

Thirty-five hearts, from the plain text ♥ to the entire emoji range.

35 symbols · tap any one to copy

Hearts

Drop into Instagram captions and bios, WhatsApp messages, dating profiles and Valentine cards when a plain word feels too flat.

The plain ♥ is much older than the emoji keyboard. It sits at U+2665 in the Miscellaneous Symbols block, where it was encoded in the early 1990s so that computers could print the four card suits, and for most of the internet's life it was the only heart an ordinary person could type. That history is why it behaves like a letter rather than a picture: it inherits the colour of the text around it, it grows and shrinks with the font size, and it drops into a form field without anything special happening.

Its glossier cousin ❤ (U+2764) came in from Dingbats and has an emoji presentation defined for it, which is where most of the confusion about hearts starts. The same code point can be drawn two ways, and Unicode lets you ask for one explicitly with an invisible follower character called a variation selector. U+FE0E requests the flat text drawing, U+FE0F requests the colour emoji drawing. Phones tend to assume emoji, desktop browsers historically assumed text, and neither asks you first. If you have ever pasted a heart and watched it arrive in a different style than the one you copied, that is the mechanism behind it.

The rest of the set has odder origins than you would guess. ღ is not a heart at all, it is the Georgian letter gan, adopted by users because it happens to look like one. ❦ and ❧ are floral hearts, printers' ornaments of the kind compositors used to close a chapter or fill a short final line, and they carry a much more formal feeling than anything on the emoji keyboard. ❥ and ❣ were encoded as bullet characters, meant to start list items in a decorative document.

The multi-part hearts work differently again. ❤️‍🔥 and ❤️‍🩹 are not single characters, they are sequences: a heart, an invisible zero width joiner, then fire or a plaster, which a modern renderer fuses into one picture. A system that does not recognise the recipe shows you the ingredients side by side instead, and every counter that measures characters rather than visible glyphs will bill you for four or five of them.

Two practical notes worth having before you decorate anything. Colour hearts are announced individually by screen readers, so a row of a dozen becomes a dozen spoken words such as "red heart, red heart, red heart", which is tiring to listen to and carries no meaning. And the black-and-white hearts are the safer choice anywhere the surrounding design matters, since they simply pick up whatever colour the text already is instead of importing a fixed red into your palette.

Common questions

Why does the same heart look black on my laptop and red on my phone?

Because that code point has both a text drawing and an emoji drawing, and the platform decides which to use when nothing tells it otherwise. Phones default to the colour version, some desktop fonts default to the flat one. Adding the variation selector U+FE0E after it forces the plain drawing where it is supported.

What is the difference between ♥ and ❤️?

They are different characters with different histories. ♥ was encoded as a card suit and renders as text, taking the colour of the surrounding words. ❤️ is the heart from Dingbats with an emoji variation selector attached, so it renders as a picture in a fixed colour on almost every device.

Do heart symbols count as one character in a bio?

The simple ones usually do. Emoji hearts are stored above the basic plane and some counters, including a few older platforms, charge them as two. The combined ones such as the burning heart are worse again, since they are built from several code points joined together and can eat five slots of a 150 character limit.

Can I put a heart in my username?

It depends entirely on the platform validator. Instagram, TikTok and Discord display names generally accept them, while most game accounts and email addresses reject anything outside plain Latin letters. Test with a single character before you commit to a name change you may not be able to undo.

See also