{"id":5855,"date":"2026-07-16T14:59:02","date_gmt":"2026-07-16T12:59:02","guid":{"rendered":"https:\/\/cyber-fi.net\/?p=5855"},"modified":"2026-07-16T17:29:12","modified_gmt":"2026-07-16T15:29:12","slug":"can-we-use-emojis-in-ssids","status":"publish","type":"post","link":"https:\/\/cyber-fi.net\/index.php\/2026\/07\/16\/can-we-use-emojis-in-ssids\/","title":{"rendered":"Can we use Emojis in SSIDs?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This is perhaps a question that you already asked yourself. Let&#8217;s look at the IEEE 802.11-1999 standard what the initial intent was:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>7.3.2.1 Service Set Identity (SSID) element<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8230;<br>The length of the SSID information \ufb01eld is between 0 and 32 octets. A 0 length information \ufb01eld indicates the broadcast SSID.<br>&#8230;<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Nothing there about Emojis, but back then, they were quite uncommon, and it took until 2010 to include Emojis into the Unicode 6.0 specification to make them vendor-agnostic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, what is defined in IEEE 802.11-2012, the next published standard after 2010?<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>8.4.2.2 SSID element<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8230;<br>The length of the SSID field is between 0 and 32 octets.<br>&#8230;<br>When the UTF-8 SSID subfield of the Extended Capabilities element is equal to 1 in the frame that includes the SSID element, the SSID is interpreted using UTF-8 encoding.<br>&#8230;<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Here, the magic starts as Unicode is typically encoded in UTF-8. How does a Unicode SSID appear in a packet capture for my Meraki-SSID?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wireshark knows that this SSID uses Emojis and displays them properly:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"585\" height=\"113\" src=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/FWW-SSID.jpg\" alt=\"\" class=\"wp-image-5856\" srcset=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/FWW-SSID.jpg 585w, https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/FWW-SSID-300x58.jpg 300w\" sizes=\"auto, (max-width: 585px) 100vw, 585px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">This is the Hex-Block:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"746\" height=\"74\" src=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/FWW-Hex.jpg\" alt=\"\" class=\"wp-image-5857\" srcset=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/FWW-Hex.jpg 746w, https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/FWW-Hex-300x30.jpg 300w\" sizes=\"auto, (max-width: 746px) 100vw, 746px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">And this can be looked up in the Unicode reference:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>e29895<\/td><td>Emoji &#8220;Hot Beverage&#8221;<\/td><\/tr><tr><td>efb88f<\/td><td>Variation Selector-16 (VS16)<\/td><\/tr><tr><td>f09f9b9c<\/td><td>Emoji &#8220;Wireless&#8221;<\/td><\/tr><tr><td>20<\/td><td>Space<\/td><\/tr><tr><td>2d<\/td><td>Hyphen<\/td><\/tr><tr><td>20<\/td><td>Space<\/td><\/tr><tr><td>466c6174<\/td><td>Text &#8220;Flat&#8221;<\/td><\/tr><tr><td>20<\/td><td>Space<\/td><\/tr><tr><td>5768697465<\/td><td>Text &#8220;White&#8221;<\/td><\/tr><tr><td>20<\/td><td>Space<\/td><\/tr><tr><td>576972656c657373<\/td><td>Text&#8221;Wireless&#8221;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Based on Wikipedia, the Variation Selector 16 defines that the previous symbol has to be displayed in color. That makes sense for symbols that are both known in colored and black &amp; white.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">How does Wireshark, or a wireless client know that the SSID-name is based on Unicolde and the previous is not the String &#8220;e29895efb88f202d20&#8230;&#8221;?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For this, the standard defines a field (Bit 48) in the Extended Capabilities Element:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"853\" height=\"46\" src=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/ExtCap.jpg\" alt=\"\" class=\"wp-image-5859\" srcset=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/ExtCap.jpg 853w, https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/ExtCap-300x16.jpg 300w, https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/ExtCap-768x41.jpg 768w\" sizes=\"auto, (max-width: 853px) 100vw, 853px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">For my Emoji-SSID this Bit is set:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"406\" height=\"46\" src=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/ExtCap-Capture.jpg\" alt=\"\" class=\"wp-image-5860\" srcset=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/ExtCap-Capture.jpg 406w, https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/ExtCap-Capture-300x34.jpg 300w\" sizes=\"auto, (max-width: 406px) 100vw, 406px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">I think that Wireshark uses a bad wording here, as it&#8217;s not only that it&#8217;s supported, but it&#8217;s actually used. Wi-Fi Explorer Pro has a better wording, similar to the IEEE definition:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"672\" height=\"48\" src=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/ExtCap-Capture3.jpg\" alt=\"\" class=\"wp-image-5864\" srcset=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/ExtCap-Capture3.jpg 672w, https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/ExtCap-Capture3-300x21.jpg 300w\" sizes=\"auto, (max-width: 672px) 100vw, 672px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">For an SSID where the SSID is sent as ASCII, this Bit is not set (or this byte of the element is not even available):<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"413\" height=\"43\" src=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/ExtCap-Capture2.jpg\" alt=\"\" class=\"wp-image-5861\" srcset=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/ExtCap-Capture2.jpg 413w, https:\/\/cyber-fi.net\/wp-content\/uploads\/2026\/07\/ExtCap-Capture2-300x31.jpg 300w\" sizes=\"auto, (max-width: 413px) 100vw, 413px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">And while I write this, I realize that <strong>all<\/strong> my SSIDs are encoded in UTF-8, and not only the one that actually needs it. And for most of my neighbors (also a Meraki based SSID), it&#8217;s plain ASCII. Only a ClickShare and a Teltonika device also use UTF-8.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This needs some more investigation for the Meraki behavior, and also which platforms allow us to configure Emojis and which don&#8217;t.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What about the length of the SSID?<br>In the example above, the visible string contained 24 elements (emojis and characters) in total. But the SSID Element was 32 octets because we need more than one octet for these special elements. If I add just one more character, the SSID is not accepted anymore, as the SSID Element is still restricted to 32 octets.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Have fun with Emoji-based SSIDs, but please, no, not <strong>that<\/strong> Emoji!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is perhaps a question that you already asked yourself. Let&#8217;s look at the IEEE 802.11-1999 standard what the initial intent was: 7.3.2.1 Service Set Identity (SSID) element &#8230;The length of the SSID information \ufb01eld is between 0 and 32 octets. A 0 length information \ufb01eld indicates the broadcast SSID.&#8230; Nothing there about Emojis, but <\/p>\n<div class=\"read-more-text\"><a href=\"https:\/\/cyber-fi.net\/index.php\/2026\/07\/16\/can-we-use-emojis-in-ssids\/\" class=\"read-more\">continue reading<\/a><\/div>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"twitterCardType":"","cardImageID":0,"cardImage":"","cardTitle":"","cardDesc":"","cardImageAlt":"","cardPlayer":"","cardPlayerWidth":0,"cardPlayerHeight":0,"cardPlayerStream":"","cardPlayerCodec":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-5855","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts\/5855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/comments?post=5855"}],"version-history":[{"count":8,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts\/5855\/revisions"}],"predecessor-version":[{"id":5872,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts\/5855\/revisions\/5872"}],"wp:attachment":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/media?parent=5855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/categories?post=5855"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/tags?post=5855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}