100000 Symbols.

There are a lot of useful symbol that are present in fonts on the Internet. You can find a lot of tables with ASCII symbols and alt codes. For example left [alt]+[numpad 1] gives a smiley face (☺), [alt] and typing 16 gives you ►.

Lets see some basic special characters. They are consecutive characters from the alt codes [alt]+1,2,3 and so on: ☺ ☻ ♥ ♦ ♣ ♠ • ◘ ○ ◙ ♂ ♀ ♪ ♫ ☼ ► ◄ ↕ ‼ ¶ § ▬ ↨ ↑ ↓ → ← ∟ ↔ ▲ ▼

However, I was unable to find a comprehensive list of all the characters you can make. So I made a simple script that iterates and spits out next characters using HTML ampersand symbol notation. Using symbols like these works in most text fields on the Internet. Below are example symbols and at the bottom of this post is a link to all 100000 of symbols.

Symbols that I found:

Math symbols:
√∛∜∝∞∟∠∡∢∣∤⊄⊅⊆⊇⊈⊉∬∭∮∯
Some colorful pictures and emoji:
⌚⌛⏰☔☕⛄⛅⛲⛳⛹⛺
Chess pieces:
♚♛♜♝♞♟
Animals:
𓃭𓃮𓃯𓃰𓃱𓃲𓃳𓃴𓃵𓃶𓃷𓃸

Breaking the Internet

Not every site handles all special symbols like these.

Self-retweeting tweet

Tweeter is a popular social media website on which you can share short tweets with other users. Back in 2014, someone discovered an exploit in the text box where you write your tweet, that a ♥ emoji breaks the text filter. It allowed him and some other people to make joke posts that spread viral. Each person started to retweet that without even knowing they did.

Other guy accidentally broke a bank’s website by entering emojis into his account name.

WordPress doesn’t handle special characters too! By writing this post with all the special characters, I discovered a bug in the post editor. Each html special character is changed when I save and edit the post. I actually removed all these symbols from this page because it was really annoying.

There were many interesting bugs and exploits regarding special characters, enough for a separate blog post.

Dev Note

To combat performance issues connected with concatenating and displaying thousands of different characters I decided to create many divs to create tree-like hierarchy. I also track how long it takes for the script to generate a character and generate them in batches in intervals to prevent browsers from freezing. I made a slider for changing font size, but it was working slow beyond reason. More performance improvements are needed before it will work.

Play with it yourself:

► Website containing 100000 symbols: tymski.github.io/symbols

► Github repository with the source code: github.com/Tymski/symbols

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.