Xah Lee, 2010-06-19, 2011-06-12
This page collects arrow characters in Unicode.
← → ↑ ↓ ↔ ↕ ↖ ↗ ↘ ↙ ↮
⇦ ⇨ ⇧ ⇩ ⬄ ⇳ ⬀ ⬁ ⬂ ⬃
⬅ ➡ ⬆ ⬇ ⬈ ⬉ ⬊ ⬋ ⬌ ⬍
⇐ ⇒ ⇑ ⇓ ⇔ ⇕ ⇖ ⇗ ⇘ ⇙ ⇍ ⇏ ⇎ ⟸ ⟹ ⟺
↤ ↦ ↥ ↧ ⇤ ⇥ ⤒ ⤓ ↨
⇆ ⇄ ⇅ ⇵ ⇈ ⇊ ⇇ ⇉
⇠ ⇢ ⇡ ⇣
⇚ ⇛ ⤊ ⤋ ⭅ ⭆ ⟰ ⟱
↩ ↪ ↫ ↬
↞ ↟ ↠ ↡ ↚ ↛
↜ ↝ ↢ ↣
↰ ↱ ↲ ↳ ⬐ ⬎ ⬑ ⬏ ↴ ↵
↺ ↻ ⥀ ⥁ ⟲⟳
↶ ↷ ⤾ ⤿ ⤸ ⤹ ⤺ ⤻
↼ ⇀ ↿ ↾ ↽ ⇁ ⇂ ⇃ ⇋ ⇌
⇜ ⇝ ⇽ ⇾ ⇿ ⟻ ⟼
⟵ ⟶ ⟷
⬳ ⟿ ⬱ ⇶
⥊ ⥋ ⥌ ⥍ ⥎ ⥏ ⥐ ⥑ ⥒ ⥓ ⥔ ⥕ ⥖ ⥗ ⥘ ⥙
⥚ ⥛ ⥜ ⥝ ⥞ ⥟ ⥠ ⥡ ⥢ ⥣ ⥤ ⥥ ⥦ ⥨ ⥧ ⥩ ⥮⥯ ⥪ ⥫ ⥬ ⥭
⇷ ⇸ ⤉ ⤈ ⇹
⇺ ⇻ ⇞ ⇟ ⇼
⬴ ⤀ ⬵ ⤁
⬹ ⤔
⬺ ⤕ ⤂ ⤃ ⤄ ⬶ ⤅ ⬻ ⤖ ⬼ ⤗ ⬽ ⤘
⤆ ⤇ ⤌ ⤍ ⤎ ⤏ ⤙ ⤚ ⤛ ⤜ ⤝ ⤞ ⤟ ⤠
⤡ ⤢ ⤣ ⤤ ⤥ ⤦ ⤪ ⤨ ⤧ ⤩ ⤭ ⤮ ⤯ ⤰ ⤱ ⤲ ⤫ ⤬
⥼ ⥽ ⥾ ⥿
⤶ ⤷ ⤴ ⤵
⤼ ⤽
⥂ ⥃ ⥄ ⭀⥱ ⥶⥸ ⭂ ⭈ ⭊ ⥵ ⭁ ⭇ ⭉ ⥲ ⭋ ⭌ ⥳ ⥴ ⥆ ⥅
⬷ ⤐ ⬸ ⤑ ⬿ ⤳ ⥹ ⥻
⬰⇴ ⥈ ⬾ ⥇ ⬲ ⟴
⥷ ⭃ ⥺ ⭄
⇱ ⇲
↸ ↹ ↯ ↭ ⥉ ⥰
◄ ► ⇪ ⇫ ⇬ ⇭ ⇮ ⇯ ⇰ ☚ ☛ ☜ ☝ ☞ ☟ ➔ ➘ ➙ ➚ ➛ ➜ ➝ ➞ ➟ ➠ ➡ ➢ ➣ ➤ ➥ ➦ ➧ ➨ ➩ ➪ ➫ ➬ ➭ ➮ ➯ ➱ ➲ ➳ ➴ ➵ ➶ ➷ ➸ ➹ ➺ ➻ ➼ ➽ ➾
There are about 340 arrow chars. These are from several different blocks of Unicode, including:
For detail about these code blocks, see: Mapping of Unicode character planes.
To find out the name or code point for the chars, use emacs. See:
Some notes: it took me something like 20 hours over 3 days to collect and organize these arrows. They are scattered in different unicode blocks, 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.
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 one is seldomly or never used. But later, it's realized the left pointing one is 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 gets 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 version are scattered in wildly different blocks.
For example, here's some arrows and their names
| Unicode decimal | Char | Name |
|---|---|---|
| 11013 | ⬅ | LEFTWARDS BLACK ARROW |
| 11014 | ⬆ | UPWARDS BLACK ARROW |
| 11015 | ⬇ | DOWNWARDS BLACK ARROW |
However, there's no unicode char named “RIGHTWARDS BLACK ARROW”. The closest is this:
| Unicode decimal | Char | Name |
|---|---|---|
| 10145 | ➡ | BLACK RIGHTWARDS ARROW (old name: BLACK RIGHT ARROW) |
Also, lots of these arrows are from math. When mathematicians use a arrow-like glyph in their notation, usually they are not doing it in any formal way in the sense of formalism or formal languages, so their notation use is very sloppy. They are usually not concerned whether a symbol is a operator or just a glyph to convey a concept. 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 are in different blocks, or the up/down version are not even in a math category.
Here's 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: ⥂ ⥃ ⥄. Note that there does not seem to have a right pointing version of ⥄.
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: ↴ ↵ ↸ ↹ ⤺ ⤻ ⤼ ⤽ ⤪ ⤨ ⤧ ⤩ ⤭ ⤮ ⤯ ⤰ ⤱ ⤲.
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 verticle pair, which should come first?
Here's 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 arc parts: left, right, top, bottom, and 4 of the diagonal arcs. Each glyph can be clockwise or anti-clockwise. There are a combination of 16 possibilities. First of all, note that not all of them is present. (e.g. there's no char named “TOP ARC CLOCKWISE ARROW”) But given these chars, how do you order them?
Note that some left/right pairs looks very different, even in the same font. For example:
| Character | Unicode Name |
|---|---|
| ⬾ | LEFTWARDS ARROW THROUGH X |
| ⥇ | RIGHTWARDS ARROW THROUGH X |
| ⬲ | LEFT ARROW WITH CIRCLED PLUS |
| ⟴ | RIGHT ARROW WITH CIRCLED PLUS |
| ⬳ | LONG LEFTWARDS SQUIGGLE ARROW |
| ⟿ | LONG RIGHTWARDS SQUIGGLE ARROW |
| ⬱ | THREE LEFTWARDS ARROWS |
| ⇶ | THREE RIGHTWARDS ARROWS |
As a example, the first char shows up in my computer has a double arrow head. That char's unicode name is “LEFTWARDS ARROW THROUGH X”. It should not be “Two-headed arrow” as in some other chars.
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 version has better font, correctly designed and vector based, because it is far more popularly used. The leftward version, or other directions, sometimes get added as afterthought or extensions.