Unicode Arrows →
Here is a complete list of arrows of Unicode, grouped by style.
Double Sided Arrows
Diagonal Arrows
Heavy Arrow, Compressed Arrow
Equilateral Triangle Arrowhead
Triangle Arrowhead
Barb Arrow
Circled Arrow
Dart Arrow
Dashed/Dotted Arrows
Harpoon Arrows
Paired Arrows
Double/Triple/Quadruple Lines Arrows
Arrow to/from Bar
Wave/Squiggle Arrow
Stroked Arrows
Sharp Turn Arrows
Arrows with Hook/Loop
Special Tail Arrows
Bent Arrows
Circular Arrows
Ribbon Arrow
Curved Arrow
Shaded/Shadowed
Decorative Arrows
Pointers and Triangles
Arrow Head, Arrow Shaft
Double Head
misc
Math Arrows
[see Unicode Math Symbols ∑ ∫ π² ∞]
Cross Arrows
Pointing Fingers
Unicode Arrows Screenshot
Here is a screenshot showing what they look like in my browser.

About the Arrows
There are about 611 arrows. These are from several different sections of Unicode, including:
- Miscellaneous Symbols
- Dingbats
- Miscellaneous Mathematical Symbols-A
- Supplemental Arrows-A
- Supplemental Arrows-B
- Miscellaneous Mathematical Symbols-B
- Supplemental Mathematical Operators
- Miscellaneous Symbols and Arrows
It took me several days to collect and organize these arrows. They are scattered in different places, and are hard to find. Also, there are a lot symmetry issues, and some mirror image isn't there. Here's some details of my experience.
Scattered All Over
They are scattered in different code blocks. The most common ones are collected in “Symbols, Arrows (2190–21FF)”. In the beginning of Unicode history, there's just a right pointing arrow of a particular style, because left pointing ones are seldomly or never used. But later, it's realized the left pointing ones are important too, for one reason or another, and sometimes there's a need just for completeness because Unicode became more wide spread. So, the left pointing ones get added, in the same block but different neighborhood, or in another block. Thus you have “Supplemental Arrows-A” and “Supplemental Arrows-B”. For similar reasons, other symmetric versions of the same style such as upward and or downward versions are scattered in wildly different blocks.
For example, here's some arrows and their names:
Codepoint | Char | Name | Date Added |
---|---|---|---|
U+2B05 | ⬅ | LEFTWARDS BLACK ARROW | Unicode 4 () |
U+2B06 | ⬆ | UPWARDS BLACK ARROW | Unicode 4 () |
U+2B07 | ⬇ | DOWNWARDS BLACK ARROW | Unicode 4 () |
However, there was no “RIGHTWARDS BLACK ARROW” for about 10 years. The closest is this:
Codepoint | Char | Name | Date Added |
---|---|---|---|
U+27A1 | ➡ | BLACK RIGHTWARDS ARROW (old name: BLACK RIGHT ARROW) | Unicode 1 () |
You can see that, this right pointing arrow was there first. The others are added later. The names are inconsistent.
Finally, in Unicode 7, a new one with consistent name is added.
Codepoint | Char | Name | Date Added |
---|---|---|---|
U+2B95 | ⮕ | RIGHTWARDS BLACK ARROW | Unicode 7 () |
Now we have a ugly situation. There are 2 of them {➡, ⮕}. According to Unicode, they should be rendered in the same style as the other 3 for up/left/down. But, as of 2017-10-11, only the first one is rendered in the same style.
Missing Symmetric Versions
Lots of these arrows are from math, but some are also used elsewhere. The problem is, it's hard to categorize them into one place. So, in Unicode, the arrows gets into one of these blocks: “Miscellaneous Mathematical Symbols-B”, “Supplemental Mathematical Operators”, “Miscellaneous Symbols and Arrows”. Often, the left/right pair and the up/down pair are in different blocks.
Here is a example: ⇺ ⇻ ⇼ ⇞ ⇟. There does not seem to have a vertical version of ⇼. The chars ⇞ ⇟ are in category “Symbol, other”, while ⇺ ⇻ ⇼ are in category “Symbol, Math”.
Another example: ⥂ ⥃ ⥄. Note that there is no right pointing version of ⥄ as of (Unicode 10) .
Many arrows do not have symmetric versions. Symmetry here can be reflection thru vertical or horizontal axes, or n*90° rotation, or combination of them. The following are some set of chars missing symmetric versions: ↴ ↵ ↸ ↹ ⤺ ⤻ ⤼ ⤽ ⤪ ⤨ ⤧ ⤩ ⤭ ⤮ ⤯ ⤰ ⤱ ⤲.
Ordering Problem
Also, when trying to order them, i ran into the problem of devising a ordering scheme. For example, usually i order them by left right up down, like this:. ← → ↑ ↓. But now look at these: ⇆ ⇄ ⇅ ⇵. For the vertical pair, which should come first?
Here is another example of the complexity. There are these chars:
Character | Unicode Name |
---|---|
↶ | ANTICLOCKWISE TOP SEMICIRCLE ARROW |
↷ | CLOCKWISE TOP SEMICIRCLE ARROW |
⤾ | LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW |
⤿ | LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW |
⤸ | RIGHT-SIDE ARC CLOCKWISE ARROW |
⤹ | LEFT-SIDE ARC ANTICLOCKWISE ARROW |
⤺ | TOP ARC ANTICLOCKWISE ARROW |
⤻ | BOTTOM ARC ANTICLOCKWISE ARROW |
If you analyze their names, you can see that a circle can be divided into 8 arcs: {left, right, top, bottom}, and 4 of the diagonal arcs. Each arc can be clockwise or anti-clockwise. 8 arcs, 2 directions, there are a combination of 16 possibilities. First of all, note that not all of them is present. (For example, there is no char named “TOP ARC CLOCKWISE ARROW”) But given these chars, how do you order them?
Font Problems
Note that some left/right pairs looks very different, even in the same font.
For example, here's how they render in your browser:
Character | CodePoint | Unicode Name |
---|---|---|
⬾ | U+2B3E | LEFTWARDS ARROW THROUGH X |
⥇ | U+2947 | RIGHTWARDS ARROW THROUGH X |
⬲ | U+2B32 | LEFT ARROW WITH CIRCLED PLUS |
⟴ | U+27F4 | RIGHT ARROW WITH CIRCLED PLUS |
⬳ | U+2B33 | LONG LEFTWARDS SQUIGGLE ARROW |
⟿ | U+27FF | LONG RIGHTWARDS SQUIGGLE ARROW |
⬱ | U+2B31 | THREE LEFTWARDS ARROWS |
⇶ | U+21F6 | THREE RIGHTWARDS ARROWS |





How the chars shows up on your screen may be very different from another person. It depends on your operating system, web browser, your browser and OS configuration, and availability of font on your system.
Typically, the rightward versions have correctly designed fonts, because it is far more popularly used. The leftward version, or other directions, sometimes get added as afterthought or extensions.