Heart Symbol (♥ ❤ ♡): Copy and Paste

Tap any heart to copy it. Plus the difference between the text heart and the emoji, and why yours sometimes turns out black instead of red.

Tap a heart to copy it

The ones on top are text symbols: they take the colour and size of the surrounding letters. The ones below are emoji and bring their own colour.

Text hearts

They behave like any other letter: they inherit the colour, the italics and the size of your text.

Emoji hearts

Every platform draws these its own way; the colour does not follow your text.

What is the heart symbol?

The heart symbol (♥) is a Unicode character from the Miscellaneous Symbols block, at code point U+2665. It is not an image and not an emoji: to a computer it is one more letter.

It has been in Unicode since 1993, long before emoji existed, because it came from the French deck of playing cards: ♠ ♥ ♦ ♣ entered the standard together as typographic symbols. That is why the heart has a hollow twin (♡), just like the spade and the diamond do.

That history explains the quirk that surprises most people who copy it: the “real” heart is black. It takes the colour of the text rather than carrying its own, because it was born as a typographic sign and not as a colour drawing. The red heart on your phone is a different thing, and it deserves its own section.

Why it is red sometimes and black others

Some characters can be drawn two ways: as a text sign or as a colour emoji. Two invisible characters called variation selectors decide which, and they are written immediately after the symbol:

What you write Code points Result
♥ U+2665 Text sign, coloured like your letters
♥︎ U+2665 U+FE0E Forced to text, even where the system prefers emoji
❤️ U+2764 U+FE0F Forced to emoji: the familiar red heart

The one in the last row, U+FE0F, is what turns a symbol into an emoji; its partner U+FE0E does the opposite. Neither is visible or takes up space on screen, but they are there — which is why pasting a red heart into a code editor sometimes leaves an odd gap behind it, or your cursor needs two presses to move past it.

It also explains behaviour that looks like a bug: you copy a red heart from WhatsApp, paste it into a document, and it comes out black. The colour was not lost; the invisible selector was, or the document font has no colour version of that character.

How much a heart costs in a counter

If two tools have ever given you different totals for the same text, hearts are a good illustration of why. These are the three ways to count them, measured on the very characters you can copy above:

Heart Code points UTF-16 units What it is
♥ 1 1 Text heartU+2665
❤️ 2 2 Red emoji heartU+2764 U+FE0F
💙 1 2 Blue heartU+1F499

UTF-16 units are what JavaScript, X (Twitter) and most web forms count. Code points are what a person would call “characters”. For ♥ the two figures agree; for emoji they do not, and that is where the discrepancies come from.

The effect is starkest in an SMS. Any heart other than the plain text one forces the whole message into UCS-2 encoding, which drops the limit from 160 characters to 70, and each coloured emoji then eats two of those seventy. A single 💙 can cost you half a message — check it in our SMS character counter, which applies that rule. The text ♥ is not in the GSM alphabet either, so no heart is truly free in an SMS.

How to type a heart on each system

The shortcuts give you the text heart ♥. For coloured ones you need the emoji panel, or you can copy them here.

Windows

Alt +3

Types the text heart ♥ directly.

For the coloured ones, Windows key + . opens the emoji panel.

macOS

⌃ Control +⌘ Cmd +space

Opens the emoji viewer; search for “heart”.

There is no direct shortcut for ♥ — copy it or find it there.

★ Rarely documented

Linux

Ctrl +⇧ Shift +U +2665

Type the code point, then press space or Enter.

Works in GTK apps; elsewhere use the Compose key.

Android & iOS

Emoji keyboard

Coloured hearts live under the symbols category.

The text ♥ is not there — copy it from this page.

HTML & CSS

♥

Also ♥ or ♥ for the black heart.

In CSS, content: "\2665". The white ♡ is ♡.

Word & Docs

2665 +Alt +X

In Word: type the code, then press Alt + X.

Or Insert → Symbol, “Miscellaneous Symbols” subset.

Windows’ Alt + 3 is a survivor from the MS-DOS era: in the original code page, position 3 held a heart. That is why it works with the numeric keypad and needs no leading zeros, unlike modern Alt codes which take four digits.

What each colour means

Worth saying before the list: Unicode does not define meanings. The standard fixes the drawing and a descriptive name — “blue heart”, nothing more — and everything else is custom that shifts by country, platform and generation. What follows is common English-language usage, not a rule.

  • Red ❤️ — romantic love, the default choice.
  • Yellow 💛 — friendship. Snapchat also uses it to mark your closest contacts, which spread the association.
  • Green 💚 — environmental causes and health; occasionally envy.
  • Blue 💙 — loyalty and trust; common in sports and institutional support.
  • Purple 💜 — strongly tied to K-pop fandom among younger users.
  • Black 🖤 — mourning, dark humour, or simply an aesthetic.
  • White 🤍 — calm affection, purity, condolences.

One practical note: in formal contexts the text heart ♥ is far less conspicuous than a colour emoji, because it blends with the typeface. It is the sensible option for a signature, a heading, or anything destined for print.

Frequently asked questions

How do I type a heart symbol on my keyboard?
On Windows, Alt + 3 on the numeric keypad gives the text heart ♥, and Windows key + period opens the emoji panel for the coloured ones. On Mac it is Control + Cmd + space; on phones they live in the emoji keyboard. If none of that works, tap any heart on this page and it is copied for you.
Why does my heart show up black instead of red?
Because you copied ♥ (U+2665), which is a text symbol and takes the colour of the surrounding letters. The red heart you see on your phone is ❤️: the same drawing followed by an invisible character called a variation selector (U+FE0F) that asks for the colour version. Without that companion, the system draws it as text.
What is the Unicode code for the heart symbol?
The black heart ♥ is U+2665 and the white ♡ is U+2661, both in the Miscellaneous Symbols block that has existed since Unicode 1.1 in 1993. The red emoji heart ❤️ is U+2764 followed by U+FE0F. The coloured hearts are separate code points: 💙 is U+1F499 and 💚 is U+1F49A.
Does a heart count as one character or two?
It depends on the heart and on who is counting. The text ♥ is one character by any measure. The red ❤️ is two code points, because of the variation selector stuck behind it. Coloured hearts such as 💙 are a single code point but take two units in the internal encoding used by X (Twitter), JavaScript and SMS. That is why two counters can report different totals for the same text.
What does each heart colour mean?
The meanings are social conventions, not part of the standard: Unicode only defines the drawing and a descriptive name. In common use red stands for romantic love, yellow for friendship, green for envy or environmental causes, black for dark humour or mourning, and white for calm affection. They shift between countries and platforms, so it is worth not assuming they are universal.
Can I put a heart in my username?
On many networks yes, but not all: Instagram and X handles only accept letters, numbers, full stops and underscores, so hearts will not work there. Display names, bios and posts do accept them. If a form rejects one, it is usually validating for ASCII characters only.