By Igor R. · Updated September 2026 Tested on Windows 11, macOS, iOS, Android, ChromeOS, Word and Google Docs. Symbol code points follow the Unicode Standard.
Short answer: On Windows, hold Alt and type 3 on the numeric keypad for ♥, or 9733 for ★. On a Mac or phone there’s no single key — copy the heart or star you need from the tool below. For colored hearts like 🤍 🖤 🩷, use the emoji panel (Win + . on Windows) or copy them here.
Want more decorated text? Try the fancy text generator — it wraps any phrase in hearts and stars automatically.
Hearts and stars are the workhorses of decorative text — ratings (★★★★☆), bios, dividers, captions and card suits. This page collects every version you can copy and paste: the plain text symbols, the full colored heart emoji set, small and aesthetic hearts, heart kaomoji, and text art. And because this is part of the Stars & Hearts hub, you also get the part copy-paste sites skip: how to type each one yourself, and how to keep it the colour you actually want.
Quick reference
| Symbol | Name | Windows (keypad) | HTML | Unicode |
|---|---|---|---|---|
| ♥ | Black heart | Alt + 3 | ♥ | U+2665 |
| ♡ | White heart (outline) | Alt + 9825 | ♡ | U+2661 |
| ❤ | Heavy heart | Alt + 10084 | ❤ | U+2764 |
| ❣ | Heart exclamation | — | ❣ | U+2763 |
| ❥ | Rotated heart bullet | — | ❥ | U+2765 |
| ★ | Black star | Alt + 9733 | ★ | U+2605 |
| ☆ | White star | Alt + 9734 | ☆ | U+2606 |
The heart’s short code (Alt + 3) is a legacy one that works almost everywhere; the longer codes are Unicode values that work in modern apps.
Every colored heart — white, black, pink and the rest
The colored hearts are emoji, not text symbols — you can’t type them with an Alt code, but you can copy them from the tool above or pick them from any emoji panel. Three get searched for by name more than all the others:
- White heart 🤍 (U+1F90D). Don’t confuse it with ♡ — the outline heart above. 🤍 is a solid white emoji heart (added in Unicode 12.0); ♡ is a plain text outline that matches your font. For bios and minimalist text, ♡ is usually what people actually want.
- Black heart 🖤 (U+1F5A4). The emoji version of ♥. Use 🖤 when you want the rendered emoji look; use ♥ when you want a text character that stays crisp at any size and works in file names and spreadsheets.
- Pink heart 🩷 (U+1FA77). The newest of the set — added in Unicode 15.0 (2022) after years of requests. On older devices it shows as a box ▯ or a plain outline, because the system fonts predate it. The same applies to 🩵 light blue and 🩶 grey. If your audience is on older phones, 💗 (growing heart) is the safe pink fallback.
The full set: ❤️ red · 🧡 orange · 💛 yellow · 💚 green · 💙 blue · 💜 purple · 🤎 brown · 🖤 black · 🤍 white · 🩷 pink · 🩵 light blue · 🩶 grey — plus the decorated ones: 💕 two hearts · 💖 sparkling · 💗 growing · 💘 with arrow · 💝 with ribbon · 💞 revolving · 💓 beating · 💟 heart decoration.
One quirk worth knowing: the red heart ❤️ is actually the text character ❤ (U+2764, “heavy black heart”) plus an invisible variation selector (VS16) that forces the colored emoji look. That’s why ❤ sometimes shows black in one app and red in another — same character, different presentation.
Small hearts and aesthetic hearts
For bios, usernames and aesthetic text, the small text hearts work better than emoji — they stay subtle and match your font:
♡ · ❥ · ❣ · ❦ · ❧ — plus combinations like ♡︎ ˖ ° ⋆ and ⋆˚☆˖°. All of these are in the copy tool above (Aesthetic tab). The floral hearts ❦ (U+2766) and ❧ (U+2767) are genuine typographic ornaments from print tradition — they make elegant newsletter dividers.
Heart kaomoji
Kaomoji pair a face with a heart for the full expression — copy these, or see the complete kaomoji collection for hundreds more:
The copy tool above carries a Kaomoji tab with the most-used heart faces: (´,,•ω•,,)♡ · ♡(˃͈ દ ˂͈ ༶ ) · (づ ̄ ³ ̄)づ♡ · ♡( ◡‿◡ ) · (♡˙︶˙♡)
One warning if you paste these into Slack, Discord or anywhere that speaks Markdown: characters like backslashes and asterisks inside kaomoji get eaten as formatting. The kaomoji guide covers the escape fix.

Heart text art
For a bigger statement, build a heart out of hearts. Tap to copy in the tool above (Text art tab), or select and copy this block:
♥♥♥♥ ♥♥♥♥
♥♥♥♥♥♥ ♥♥♥♥♥♥
♥♥♥♥♥♥♥♥ ♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥ ♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥
♥♥♥
♥
Text art depends on a monospace font to line up — it holds its shape in code blocks, plain-text editors and most chat apps, but falls apart in proportional fonts like a Word document body.
Windows
Turn on Num Lock, hold Alt, and type the code on the numeric keypad (not the number row): Alt + 3 gives ♥, Alt + 9733 gives ★, Alt + 9734 gives ☆. For any colored heart emoji, press Win + . to open the emoji panel and search “heart”.
No numeric keypad? Use Win + ., or turn on the embedded numpad with Fn + Num Lock. If an Alt code gives the wrong character, you’re on the number row — see why Alt codes don’t work.
Mac
macOS has no Alt codes and no dedicated Option shortcut for hearts or stars. Two routes:
- Character Viewer. Press Control + Command + Space, type heart or star, and double-click the one you want. This reaches every variant, including all the colored emoji hearts.
- Copy + text replacement. Copy the symbol once, then go to System Settings → Keyboard → Text Replacements and map a trigger (like
blackstar) to ★ so it’s always a couple of keystrokes away.
iPhone and Android
The default phone keyboards don’t include the plain text hearts and stars (♥ ★). Your options:
- Copy them from the tool above — the quickest route for one-off use.
- Emoji keyboard carries every colored heart (❤️ 🤍 🖤 🩷) and the star emoji ⭐. These render in colour and differ by device.
- Text replacement for repeat use: iPhone → Settings → General → Keyboard → Text Replacement; Android (Gboard) → Settings → Dictionary → Personal dictionary. Map something like
hhto ♥.
Word, Google Docs and Sheets
Microsoft Word: type the Unicode hex then Alt + X — 2665 → ♥, 2605 → ★. The Alt + 3 keypad code also works. Or go Insert → Symbol → More Symbols.
Google Docs: Insert → Special characters, then search heart or star.
Google Sheets: stars are great for ratings. Use =CHAR(9733) for ★ and =CHAR(9734) for ☆, and combine them — =REPT(CHAR(9733),4)&CHAR(9734) renders ★★★★☆. (More: symbols in Google Sheets.)
Chromebook / Linux: press Ctrl + Shift + U, type the hex (2665 for ♥, 2605 for ★), then Enter.
HTML / web: the heart has a named entity ♥ (♥); stars use numeric entities ★ (★) and ☆ (☆). The colored heart emoji use their code points, e.g. 🥷 for 🩷.
Text symbol vs emoji — the colour problem
This is where hearts and stars catch people out:
- ♥ (U+2665) is the classic text heart from the card suits. On a desktop it shows black — but on many phones it renders as a red emoji, because the system applies emoji styling to it.
- ❤ (U+2764) is the heavy heart, and it shows as a red emoji almost everywhere.
- ★ (U+2605) is a text star — always black, consistent across devices. ⭐ (U+2B50) is the star emoji — yellow, sometimes 3D, and it changes look by platform. (Its official Unicode name is actually WHITE MEDIUM STAR — a relic of the era before emoji, when “white” meant outline.)
Rule of thumb: use ★ ♥ ♡ when you want a clean, consistent symbol that matches your text (bios, spreadsheets, file names, older apps); use the emoji versions when you want colour and don’t mind the look varying.
Troubleshooting
| Problem | Fix |
|---|---|
| ♥ shows up red on my phone | The phone is giving it emoji styling. On desktop it’s black; if you must have black on mobile, use it in a plain-text field or accept the red — it’s the same character. |
| 🩷 🩵 🩶 show as a box ▯ | These are Unicode 15.0 (2022) — older phones and OS versions can’t render them. Use 💗 💙 🤍 as fallbacks, or the text hearts. |
| Alt + 3 does nothing | Num Lock off, or you used the top-row numbers. Use the numeric keypad. |
| Laptop has no numpad | Use Win + ., or Fn + Num Lock to switch on the embedded keypad, or copy from above. |
| Star looks yellow, not black | You used the emoji ⭐ (U+2B50). For a plain black star use ★ (U+2605). |
| Kaomoji loses characters in Slack/Discord | Markdown is eating backslashes and asterisks as formatting. See the kaomoji guide for the escape fix. |
| Heart text art collapses into a blob | The font isn’t monospace. Paste it into a code block or plain-text field. |
| Symbol shows as a box ▯ | The font lacks the glyph. Switch to a common font (Arial, Segoe UI). More: symbol showing as a box. |
Recap
- Copy and paste → the tool at the top has every heart, star, kaomoji and text art block.
- Heart on Windows → Alt + 3. Star → Alt + 9733 (★) / 9734 (☆).
- Colored hearts (🤍 🖤 🩷) → emoji panel (Win + . / Character Viewer / emoji keyboard).
- Want it black and consistent → text symbols ♥ ★, not emoji ❤️ ⭐.
- 🩷 🩵 🩶 need Unicode 15.0 — expect boxes on older devices.
Frequently asked questions
How do you type a heart symbol on Windows?
Turn on Num Lock, hold Alt, and type 3 on the numeric keypad for ♥, then release Alt. For the white outline heart ♡, use Alt + 9825. The number row above the letters won’t work — you must use the keypad. Colored heart emoji like 🤍 and 🩷 have no Alt code; press Win + . and pick them from the emoji panel.
Why does my heart ♥ show up red instead of black?
♥ (U+2665) is a text symbol that shows black on desktops, but many phones apply emoji styling and render it red. It’s still the same character. ❤ (U+2764) is the heavy heart and shows red almost everywhere; use ♥ if you want the plain black version.
What is the difference between the white heart ♡ and 🤍?
♡ (U+2661) is a plain text outline heart that matches your font and stays consistent everywhere. 🤍 (U+1F90D) is the solid white heart emoji, added in Unicode 12.0, and its look varies by device. For bios and minimalist text, ♡ is usually the better choice.
Why does the pink heart 🩷 show as a box on my device?
🩷 (U+1FA77) was added in Unicode 15.0 in 2022, along with 🩵 light blue and 🩶 grey. Devices and operating systems older than that don’t have the glyph, so they show a box ▯ or a plain outline instead. Use 💗 as a pink fallback for older devices.
What is the difference between ★ and ⭐?
★ (U+2605) is a text star — always black and consistent across every device. ⭐ (U+2B50) is the star emoji — yellow and often 3D, and its look changes by platform. Use ★ for clean text and ⭐ for colourful emoji contexts.
What are the Unicode code points and HTML entities for hearts and stars?
♥ is U+2665 (HTML ♥), ♡ is U+2661, ❤ is U+2764, 🤍 is U+1F90D, 🖤 is U+1F5A4, 🩷 is U+1FA77, ★ is U+2605 (HTML ★) and ☆ is U+2606 (HTML ☆).
Written by Igor R.. Tested on Windows 11, macOS, iOS, Android, ChromeOS, Word and Google Docs. Last updated September 2026. Symbol code points follow the Unicode Standard.