Wingdings Translator

Wingdings is a font, not an encoding, which is why pasted Wingdings turns back into letters. This maps to real Unicode symbols that travel with the text.

Wingdings is a font, not an encoding

The single fact everything else on this page depends on: Wingdings is a TrueType font file, and nothing more. It does not define new characters. It takes the ordinary Latin letters, digits and punctuation you already type and draws a picture in place of each one. Type a capital J in a document set in Wingdings and you see a smiling face; the character sitting in the file is still U+004A LATIN CAPITAL LETTER J. Change the paragraph back to Arial and the smile becomes a J again, because it never stopped being one.

Technically the font uses Microsoft's symbol charset: its cmap maps glyphs into the Private Use Area at U+F020–U+F0FF, a range Unicode deliberately leaves undefined so vendors can do exactly this. You still press J; the lookup adds 0xF000 to reach the font's symbol range, and the stored character never changes. The Private Use Area guarantees no interoperability by definition. Two fonts can assign completely different pictures to the same code point and both are correct.

So there is no such thing as text "in Wingdings" the way there is text in Cyrillic or Greek. There is only text in Latin letters with a formatting instruction attached, and formatting instructions are the first thing that gets stripped.

Why your Wingdings message arrives as letters

Everything that goes wrong with Wingdings in transit is one failure repeated: the picture lives in the font, the font is not attached to the text, and the text is what travels.

Send a Word document to somebody who has no copy of the font and font substitution takes over: the application draws the passage in whatever typeface it can find, so your row of icons resolves to the letters you actually typed. The best-known case is the stray J at the end of Outlook messages. Outlook's autocorrect turned a typed smiley into a capital J set in Wingdings, and any recipient reading in plain text, or on a client that ignored the font, saw a bare J. Nobody had made a mistake; the font simply was not there.

Paste into a browser input, a bio field, a chat box or a database column and the outcome is worse, because those places have no concept of a font run. They store characters.

Copying out of a Wingdings passage behaves the same way. Your clipboard receives the letters. Even in a PDF, where the font is usually embedded and displays perfectly, text extraction commonly hands back Latin characters, because the mapping back to meaning was never recorded.

What Bigelow and Holmes drew for Microsoft

Wingdings was not designed as a novelty. Charles Bigelow and Kris Holmes, the type designers behind the Lucida family, had drawn three companion sets of pictorial characters (Lucida Icons, Lucida Arrows and Lucida Stars) as interface and document symbols. Microsoft licensed them around 1990 and 1991, merged them into one file and named it Wingdings. Bundling with Windows and later with Office gave it an enormous audience, which is why a generation of office documents used it for arrows, ticks, pointing hands and envelopes.

The reasoning was economic. Placing a bitmap in a 1991 document meant a large file, a fixed resolution and printing you could not rely on. A font glyph was vector data the printer already understood, it scaled to any point size, and it cost one byte in the file. Icon fonts on the web rediscovered the same trade-off twenty years later.

One footnote, because you will meet it: in the 1990s a chain email pointed out that typing N, Y and C in Wingdings produces a skull and crossbones, a Star of David and a thumbs-up, and read a message into the sequence. Microsoft said the pairing was coincidental. Every letter in the font had to map to something, and the assignments were made without regard to the words they might spell.

Wingdings 2, 3 and Webdings differ substantially

There is no single Wingdings. Microsoft added Wingdings 2 and Wingdings 3 during the 1990s, distributed with Office and again based on Bigelow and Holmes drawings: the second is largely ornaments, ticks, crosses and hand shapes, the third almost entirely arrows and geometric forms. Webdings arrived in 1997, designed at Microsoft by Vincent Connare, and was aimed at web and media ideas of the moment, screens, speakers, globes, a car, a tornado.

They are separate fonts with separate assignments, and that matters more than it sounds. Capital J is a smiling face in Wingdings; the same letter in Wingdings 2 or Webdings gives you something else entirely. A document is only correct if the exact family name survives, is installed, and is not silently substituted by the application. Ask somebody to use "the Wingdings tick" and you have not specified a symbol.

Availability compounds it. Windows has shipped the family for decades and Office installs it on macOS, but most Android devices and Linux distributions have none of them, and no web font is being downloaded. A CSS rule naming Wingdings is only a request against what is installed locally, and the letters show through when it fails. That is why choosing a real character, rather than a font, is the only version of this that is portable.

Unicode encoded these symbols across several blocks

Most of what Wingdings draws does exist as genuine, encoded characters. The pictures were standardised even though the font's own mapping never was, which is what makes a translation possible at all.

Two older blocks carry the bulk of the familiar ones. The Dingbats block, U+2700–U+27BF, was built from ITC Zapf Dingbats, Hermann Zapf's 1978 set, and holds black scissors at U+2702, an airplane at U+2708, an envelope at U+2709, a pencil at U+270F, the heavy check mark at U+2714 and the heavy black heart at U+2764. Miscellaneous Symbols, U+2600–U+26FF, holds an umbrella at U+2602, a black telephone at U+260E, a black star at U+2605, the skull and crossbones at U+2620 and the white smiling face at U+263A, the character that corresponds to Wingdings' capital J.

The rest waited a long time. Unicode 7.0, published in June 2014, explicitly took on the leftover Wingdings and Webdings symbols and encoded them, mostly in three new blocks: Ornamental Dingbats at U+1F650–U+1F67F, Geometric Shapes Extended at U+1F780–U+1F7FF and Supplemental Arrows-C at U+1F800–U+1F8FF.

That was the end of the encoding problem and the start of a rendering one. A character existing in the standard does not put a glyph on anybody's screen; a font on the reader's device has to cover it. The older blocks are covered almost everywhere. The 2014 additions are not.

What this translator does when nothing matches

Because there is no Wingdings encoding to convert to, a translator has only one honest job: find the character that means what the glyph on that key means, and be explicit when there isn't one.

So the output here is not a font switch. Type a word and you get back real Unicode characters, the skull and crossbones at U+2620 where Wingdings puts one on N, the white smiling face at U+263A where it puts one on J. Those characters are in the text itself, so they survive copy, paste, save, search and a round trip through a database. Nothing has to be installed at the other end for the shape to arrive.

The mapping is deliberately incomplete, and that is the useful part. Some Wingdings and Wingdings 3 glyphs are ornaments and arrow variants with no encoded counterpart, or a counterpart that exists only in the blocks added in 2014, where font coverage is thin enough that most readers would see an empty rectangle. Emitting one of those quietly would hand you a string that looks fine on your machine and broken on everyone else's, so those positions are reported instead of substituted.

If a document arrives full of the font, you do not need a decoder to read it: select the passage, set a normal typeface, and the original letters reappear. They were never encoded away.

Where the Unicode replacements still let you down

Swapping in real characters removes the font dependency; it does not remove every problem, and the honest version of this page has to say where the ceiling is.

Anything in the 2014 blocks sits above U+FFFF, outside the Basic Multilingual Plane, so each one occupies two UTF-16 code units. A field that measures length in code units, which is most of them, because that is what JavaScript's String.length returns, charges you twice for a single picture, and an input limited to 150 characters stops you near 75 if you fill it with them. Characters from the older blocks are single units and do not have this problem.

Presentation is the second gap. Several of these, U+2620 and U+263A among them, have an emoji presentation on phones, so the flat monochrome symbol you chose arrives as a colour cartoon. Appending the text presentation selector U+FE0E requests the flat form, but not every platform honours it, and the selector is itself another character against the cap.

Then the two costs that apply to every symbol on this site. Screen readers announce these characters by name or skip them, so a heading built from dingbats reads badly aloud. And plain-text search does not match them: nobody typing your word finds a post where you replaced its letters with pictures. Use them beside your words, not instead of them.

When the font beats the characters

There is a version of this where the font is the correct choice. If you control the whole path from your machine to the page (a poster, a flyer, a report exported to PDF with fonts embedded) the glyphs render exactly as drawn, at any size, in any colour, and nothing depends on the reader having anything installed. Print is the native habitat of a dingbat font and always was.

Everything else favours the character. A bio, a username, a display name, a message, a filename, a spreadsheet cell, a commit message, a page title, an alt attribute: all of these are stored and transmitted as text with no font attached, so a font-based symbol has no way to survive and an encoded one needs no help.

Two practical notes if you are tempted to force the font onto the web. It is a licensed Microsoft typeface, so self-hosting it with @font-face is a redistribution question, not just a technical one; and a CSS rule naming it is only a request against whatever is installed locally, which on most phones is nothing. If you genuinely need one specific drawn shape, export it once as an SVG and ship the picture, which is honest about being a picture. If you need a symbol inside text, take the encoded character and accept the shape your reader's font gives it.

Frequently asked questions

Can I put Wingdings symbols in an Instagram bio?

Not the font. Instagram stores your bio as characters and gives you no font control, so anything you paste keeps whatever code points it contains. Use the encoded character instead: it pastes and saves normally. The bio field caps at 150 characters, and symbols from the older blocks cost one each.

How do I insert one of these in Word?

Type the hexadecimal code point and press Alt+X: 2620 becomes the skull and crossbones, 2714 the heavy check mark. That inserts a real character in your current typeface rather than switching a run to a symbol font, so it survives copy, paste and export the way the rest of your text does.

Do search engines see Wingdings as symbols?

No. A crawler reads the HTML, which holds the letters; the font is a style instruction it has no reason to apply. A heading set in the font is indexed as the word it literally spells, and an encoded dingbat is indexed as a character nobody types into a search box. Keep your real words in the text.

Why does my symbol show as an empty rectangle?

That box is the .notdef glyph: the character is valid, but no font on that device covers it. It is most common with the symbols encoded in 2014, since coverage arrived late. Test on a phone as well as a desktop, and if the box appears, fall back to a character from the older blocks.

Is Wingdings free to use in my own designs?

It is a licensed Microsoft font that arrives with Windows and Office, not a public-domain one. Printing a poster made on a licensed machine is ordinary use; redistributing the file, or serving it as a web font, is a licensing question you should check against the terms rather than assume. Encoded characters carry no such restriction.

How is the Symbol font different from Wingdings?

It is the same mechanism with different pictures: Symbol maps Latin keys to Greek letters and mathematical signs, so a formula typed that way is really the letters a, b, c. Unicode encoded Greek and maths properly long ago, and styled maths letters live in Mathematical Alphanumeric Symbols, U+1D400 to U+1D7FF.

Can I convert an entire Wingdings document at once?

Only carefully. A document mixes font runs, so a blind find-and-replace would also rewrite letters that were never meant as symbols. In Word, search with formatting set to the family so you match only the affected runs, then replace those positions. Anything without an encoded equivalent still has to be handled by hand.

Does my text get uploaded when I use this page?

No. The mapping runs in your browser with JavaScript, so nothing you type is sent to a server or stored anywhere but your own machine. There is no account, no sign-up and no paid tier on this site; the translation table is part of the page you have already downloaded, which is also why the result appears as you type.