{"id":27401410,"date":"2026-10-25T16:15:11","date_gmt":"2026-10-25T15:15:11","guid":{"rendered":"https:\/\/www.digiaccion.com\/?page_id=27401410"},"modified":"2026-10-25T16:19:37","modified_gmt":"2026-10-25T15:19:37","slug":"star-symbols","status":"publish","type":"page","link":"https:\/\/www.digiaccion.com\/en\/star-symbols\/","title":{"rendered":"Star copy and paste: star emoji \u2b50, star symbols \u2605 \u2606 and sparkles \u2728"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_flex_section preset--module--divi-section--default\">\n<div class=\"et_pb_row_0 et_pb_row et_flex_row preset--module--divi-row--default\">\n<div class=\"et_pb_column_0 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone preset--module--divi-column--default\">\n<div class=\"et_pb_code_0 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><!-- DigiAcci\u00f3n | Herramienta: Star emojis and star symbols | English | entrega v13 | 2026-10-20\n     Pegar tal cual en el m\u00f3dulo C\u00f3digo de la \u00fanica secci\u00f3n de la p\u00e1gina. Sin secci\u00f3n de contacto debajo: el c\u00f3digo\n     termina con su propio CTA (contacto y WhatsApp) y los servicios.\n     Los estilos se cargan desde verticales.css del hosting (v12). Dentro: HTML (ra\u00edz .dgv.dgt), JSON-LD\n     (WebApplication creada por DigiAcci\u00f3n + FAQPage) y JS. Sin caracteres de 4 bytes: los emojis van como entidades. -->\n<link rel=\"stylesheet\" id=\"dgv-css\" href=\"https:\/\/www.digiaccion.com\/wp-content\/uploads\/digiaccion-verticales\/verticales.css?v=12\">\n<div class=\"dgv dgt ui-no-swap\" lang=\"en\" data-dgv=\"herramienta-estrellas\" data-dgt=\"estrellas\">\n<svg class=\"dgv-sprite\" aria-hidden=\"true\" focusable=\"false\"><symbol id=\"dgv-i-arrow\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/symbol><symbol id=\"dgv-i-bed\" viewBox=\"0 0 24 24\"><path d=\"M3 18.5V6M3 14h18v4.5M21 14v-2.5a3 3 0 0 0-3-3h-7v5.5\"\/><circle cx=\"7\" cy=\"11\" r=\"2\"\/><\/symbol><symbol id=\"dgv-i-bolt\" viewBox=\"0 0 24 24\"><path d=\"M13 2.5 4.5 13.5H11l-1 8 8.5-11H12l1-8z\"\/><\/symbol><symbol id=\"dgv-i-briefcase\" viewBox=\"0 0 24 24\"><rect x=\"3.5\" y=\"7\" width=\"17\" height=\"12.5\" rx=\"2.5\"\/><path d=\"M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7M3.5 12.5h17\"\/><\/symbol><symbol id=\"dgv-i-chart\" viewBox=\"0 0 24 24\"><path d=\"M4 19.5h16M7 16v-4M12 16V8M17 16V5\"\/><\/symbol><symbol id=\"dgv-i-check\" viewBox=\"0 0 24 24\"><path d=\"m5 12.5 4.5 4.5L19 7.5\"\/><\/symbol><symbol id=\"dgv-i-chev\" viewBox=\"0 0 24 24\"><path d=\"m6 9 6 6 6-6\"\/><\/symbol><symbol id=\"dgv-i-compass\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"4.5\" r=\"1.5\"\/><path d=\"M11.2 5.8 5.5 20M12.8 5.8 18.5 20M8 14h8\"\/><\/symbol><symbol id=\"dgv-i-copy\" viewBox=\"0 0 24 24\"><rect x=\"8.5\" y=\"8.5\" width=\"11\" height=\"11\" rx=\"2.2\"\/><path d=\"M15.5 8.5V6.7a2.2 2.2 0 0 0-2.2-2.2H6.7a2.2 2.2 0 0 0-2.2 2.2v6.6a2.2 2.2 0 0 0 2.2 2.2h1.8\"\/><\/symbol><symbol id=\"dgv-i-cpu\" viewBox=\"0 0 24 24\"><rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"2\"\/><rect x=\"9.5\" y=\"9.5\" width=\"5\" height=\"5\" rx=\"1\"\/><path d=\"M9.5 3v3M14.5 3v3M9.5 18v3M14.5 18v3M3 9.5h3M3 14.5h3M18 9.5h3M18 14.5h3\"\/><\/symbol><symbol id=\"dgv-i-crane\" viewBox=\"0 0 24 24\"><path d=\"M5 21V4l13 3H5M9 4l9 3M18 7v5M16.5 12h3v2.5h-3zM3 21h8\"\/><\/symbol><symbol id=\"dgv-i-dumbbell\" viewBox=\"0 0 24 24\"><path d=\"M6.5 6.5v11M17.5 6.5v11M3.5 9v6M20.5 9v6M6.5 12h11\"\/><\/symbol><symbol id=\"dgv-i-food\" viewBox=\"0 0 24 24\"><path d=\"M7 3v8M5 3v5a2 2 0 0 0 4 0V3M7 11v10M16.5 21V3c-2 1.5-3 4-3 7 0 1.5.8 2.5 3 2.5\"\/><\/symbol><symbol id=\"dgv-i-hanger\" viewBox=\"0 0 24 24\"><path d=\"M12 8.5a2 2 0 1 1 2-2c0 1-.8 1.4-1.4 1.8-.4.3-.6.6-.6 1.2v.5L3.5 15.5a1.5 1.5 0 0 0 .9 2.7h15.2a1.5 1.5 0 0 0 .9-2.7L12 10\"\/><\/symbol><symbol id=\"dgv-i-health\" viewBox=\"0 0 24 24\"><path d=\"M12 20s-7.5-4.6-7.5-10A4.3 4.3 0 0 1 12 7.5 4.3 4.3 0 0 1 19.5 10c0 5.4-7.5 10-7.5 10z\"\/><path d=\"M9.5 12h5M12 9.5v5\"\/><\/symbol><symbol id=\"dgv-i-home\" viewBox=\"0 0 24 24\"><path d=\"M3.5 11 12 4l8.5 7\"\/><path d=\"M5.5 9.5V20h13V9.5M10 20v-5.5h4V20\"\/><\/symbol><symbol id=\"dgv-i-kana\" viewBox=\"0 0 24 24\"><path d=\"M5 8h9M9.5 5c-.5 6-2 10-4.5 13M8 12c3 0 7 1 9 5M16 5.5l2.5 2.5\"\/><\/symbol><symbol id=\"dgv-i-layout\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2.5\"\/><path d=\"M3 9h18M9 9v11\"\/><\/symbol><symbol id=\"dgv-i-megaphone\" viewBox=\"0 0 24 24\"><path d=\"M4 10v4a1 1 0 0 0 1 1h2l6 4.5v-15L7 9H5a1 1 0 0 0-1 1z\"\/><path d=\"M16.5 9a4 4 0 0 1 0 6M19 6.5a7.5 7.5 0 0 1 0 11\"\/><\/symbol><symbol id=\"dgv-i-mountain\" viewBox=\"0 0 24 24\"><path d=\"M2.5 20 9 9.5l3.5 5.5 2.5-3.5 6.5 8.5z\"\/><circle cx=\"17\" cy=\"6\" r=\"2\"\/><\/symbol><symbol id=\"dgv-i-palette\" viewBox=\"0 0 24 24\"><path d=\"M12 3a9 9 0 1 0 0 18c1.1 0 1.8-.9 1.8-1.9 0-.5-.2-.9-.5-1.3-.3-.3-.5-.8-.5-1.3 0-1 .8-1.8 1.8-1.8H17a4 4 0 0 0 4-4C21 6.6 17 3 12 3z\"\/><circle cx=\"7.5\" cy=\"11\" r=\"1.1\"\/><circle cx=\"10.5\" cy=\"7.4\" r=\"1.1\"\/><circle cx=\"15\" cy=\"7.8\" r=\"1.1\"\/><\/symbol><symbol id=\"dgv-i-paw\" viewBox=\"0 0 24 24\"><circle cx=\"7\" cy=\"10\" r=\"1.8\"\/><circle cx=\"10.5\" cy=\"6.5\" r=\"1.8\"\/><circle cx=\"14.5\" cy=\"6.5\" r=\"1.8\"\/><circle cx=\"18\" cy=\"10\" r=\"1.8\"\/><path d=\"M12.5 11.5c-2.5 0-5 3.5-5 5.5 0 1.5 1 2.5 2.5 2.5 1 0 1.6-.5 2.5-.5s1.5.5 2.5.5c1.5 0 2.5-1 2.5-2.5 0-2-2.5-5.5-5-5.5z\"\/><\/symbol><symbol id=\"dgv-i-pen\" viewBox=\"0 0 24 24\"><path d=\"M12.5 19.5 19 13l-2.5-2.5L10 17v2.5zM15 9l-2-5-8 3 3 8 5-2M5 7l4 4\"\/><\/symbol><symbol id=\"dgv-i-quote\" viewBox=\"0 0 24 24\"><path d=\"M10 7.5C6.8 8.6 5 10.9 5 14.3V18h5.2v-5.2H7.6c.1-1.7 1.1-2.9 3-3.6zM19 7.5c-3.2 1.1-5 3.4-5 6.8V18h5.2v-5.2h-2.6c.1-1.7 1.1-2.9 3-3.6z\"\/><\/symbol><symbol id=\"dgv-i-ruler\" viewBox=\"0 0 24 24\"><rect x=\"2.5\" y=\"8\" width=\"19\" height=\"8\" rx=\"1.5\"\/><path d=\"M6.5 8v3M10 8v4.5M13.5 8v3M17 8v4.5\"\/><\/symbol><symbol id=\"dgv-i-scale\" viewBox=\"0 0 24 24\"><path d=\"M12 4v16M8 20h8M5 7h14M5 7l-2.5 6a2.5 2.5 0 0 0 5 0zM19 7l-2.5 6a2.5 2.5 0 0 0 5 0z\"\/><\/symbol><symbol id=\"dgv-i-search\" viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"7\"\/><path d=\"m20 20-3.5-3.5\"\/><\/symbol><symbol id=\"dgv-i-shop\" viewBox=\"0 0 24 24\"><path d=\"M4 9h16l-1.4-4.5H5.4zM5 9v11h14V9M9.5 20v-5.5h5V20\"\/><\/symbol><symbol id=\"dgv-i-smile\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"8.5\"\/><path d=\"M8.5 14.2c.9 1.3 2.1 2 3.5 2s2.6-.7 3.5-2\"\/><circle cx=\"9.2\" cy=\"10\" r=\".9\"\/><circle cx=\"14.8\" cy=\"10\" r=\".9\"\/><\/symbol><symbol id=\"dgv-i-sparkles\" viewBox=\"0 0 24 24\"><path d=\"M11 3.5l1.7 4.6 4.6 1.7-4.6 1.7L11 16.1l-1.7-4.6L4.7 9.8l4.6-1.7z\"\/><path d=\"M18 14.5l.8 2.1 2.1.8-2.1.8-.8 2.1-.8-2.1-2.1-.8 2.1-.8z\"\/><\/symbol><symbol id=\"dgv-i-star\" viewBox=\"0 0 24 24\"><path d=\"M12 2.8l2.8 5.8 6.3.9-4.6 4.4 1.1 6.3L12 17.3l-5.6 2.9 1.1-6.3L2.9 9.5l6.3-.9z\"\/><\/symbol><symbol id=\"dgv-i-target\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"8.5\"\/><circle cx=\"12\" cy=\"12\" r=\"4.5\"\/><circle cx=\"12\" cy=\"12\" r=\".6\"\/><\/symbol><symbol id=\"dgv-i-trash\" viewBox=\"0 0 24 24\"><path d=\"M5 7h14M10 7V5h4v2M7 7l1 12h8l1-12\"\/><\/symbol><symbol id=\"dgv-i-video\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"6\" width=\"13\" height=\"12\" rx=\"2.5\"\/><path d=\"m16 10 5-3v10l-5-3\"\/><\/symbol><symbol id=\"dgv-i-whatsapp\" viewBox=\"0 0 24 24\"><path d=\"M20 11.6A8.4 8.4 0 0 1 7.6 19L4 20l1-3.5A8.4 8.4 0 1 1 20 11.6z\"\/><path d=\"M9.3 8.4c.3-.4.7-.4 1-.4l.6 1.6c.1.2 0 .5-.1.6l-.5.6c.6 1.1 1.5 2 2.6 2.6l.6-.5c.2-.1.4-.2.6-.1l1.6.6c0 .4-.1.8-.4 1.1-.5.4-1.1.6-1.7.5-2.6-.5-4.6-2.5-5.1-5.1-.1-.6.1-1.1.5-1.5z\"\/><\/symbol><symbol id=\"dgv-i-wrench\" viewBox=\"0 0 24 24\"><path d=\"M14.5 5.5a4.5 4.5 0 0 0 5.6 5.6L12 19.2a2 2 0 0 1-2.8 0l-.4-.4a2 2 0 0 1 0-2.8l8.1-8.1\"\/><path d=\"M14.5 5.5 17 3l4 4-2.5 2.5\"\/><\/symbol><symbol id=\"dgv-i-x\" viewBox=\"0 0 24 24\"><path d=\"M6.5 6.5l11 11M17.5 6.5l-11 11\"\/><\/symbol><\/svg>\n<section class=\"dgv-sec dgt-hero\" aria-labelledby=\"dgt-h1\">\n<div class=\"dgv-fx\" aria-hidden=\"true\"><div class=\"dgv-beams dgv-beams--soft\"><\/div><\/div>\n<div class=\"dgv-wrap dgt-hero-in\" data-dgv-r>\n<p class=\"dgt-kicker\"><span class=\"dgv-live\" aria-hidden=\"true\"><\/span>Free tool by DigiAcci\u00f3n<\/p>\n<h1 class=\"dgt-h1\" id=\"dgt-h1\"><span class=\"dgv-grad\">Star Symbols and Star Emojis to Copy and Paste<\/span><\/h1>\n<p class=\"dgv-intro dgt-intro\">A free tool by DigiAcci\u00f3n, a digital marketing agency in Andorra. Copy star emojis, star symbols \u2605 \u2606 \u2726, the half star \u2bea, asterisks and sparkles in one click, and build star ratings with half stars, like \u2605\u2605\u2605\u2605\u2bea (4.5 out of 5).<\/p>\n<ul class=\"dgt-badges\" role=\"list\"><li><svg class=\"dgv-i\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-check\"><\/use><\/svg>Free<\/li><li><svg class=\"dgv-i\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-check\"><\/use><\/svg>No sign-up<\/li><li><svg class=\"dgv-i\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-check\"><\/use><\/svg>One-click copy<\/li><\/ul>\n<\/div>\n<\/section>\n<section class=\"dgv-sec dgt-app-sec\" id=\"dgt-app\" aria-label=\"Tool\">\n<div class=\"dgv-wrap\">\n<div class=\"dgt-tool dgt-card\" data-dgt-grid data-detalle=\"simbolo\" data-ui=\"{&#34;copiado&#34;: &#34;Copied&#34;, &#34;f_simbolo&#34;: &#34;Symbol&#34;, &#34;calibrada&#34;: &#34;Ruler calibrated in this browser.&#34;, &#34;equiv&#34;: &#34;1 {u} = {px} px.&#34;, &#34;sin_calibrar&#34;: &#34;Not calibrated: the length is approximate. Press \\&#34;Calibrate\\&#34; to make it exact on your screen.&#34;, &#34;guardada&#34;: &#34;Calibration saved&#34;, &#34;aa_grande&#34;: &#34;AA large text&#34;, &#34;no_pasa&#34;: &#34;Fails&#34;, &#34;no_cabe&#34;: &#34;Up to {n} fits on your screen. Turn your phone sideways or use full screen.&#34;, &#34;pasa&#34;: &#34;Pass&#34;, &#34;jn_aprox&#34;: &#34;Spelled by sound: double-check it if it is for a tattoo or anything important.&#34;, &#34;jn_dic&#34;: &#34;Usual spelling in Japan.&#34;, &#34;regla_fija&#34;: &#34;Actual size {n} ruler&#34;}\">\n<div class=\"dgt-bar\">\n<label class=\"dgt-search\"><svg class=\"dgv-i\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-search\"><\/use><\/svg><span class=\"dgv-sr\">Search<\/span><input type=\"search\" placeholder=\"Search symbols by name\" autocomplete=\"off\" spellcheck=\"false\" data-dgt-q><\/label>\n<\/div>\n<div class=\"dgt-chips\" role=\"toolbar\" aria-label=\"Filter by group\"><button type=\"button\" class=\"is-on\" data-g=\"*\">All<\/button><button type=\"button\" data-g=\"emojis-estrellas\">Emojis<\/button><button type=\"button\" data-g=\"estrellas-cinco-puntas\">5-point<\/button><button type=\"button\" data-g=\"estrellas-cuatro-seis-ocho\">4 to 16-point<\/button><button type=\"button\" data-g=\"asteriscos-destellos\">Sparkles<\/button><button type=\"button\" data-g=\"combinaciones-estrellas\">Combos<\/button><\/div>\n<div class=\"dgt-tray\" data-dgt-tray><span class=\"dgt-tray-l\">Your selection<\/span><output class=\"dgt-tray-t\" aria-live=\"polite\"><\/output><span class=\"dgt-tray-b\"><button type=\"button\" class=\"dgt-btn dgt-btn--pri\" data-act=\"copy-tray\"><svg class=\"dgv-i\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-copy\"><\/use><\/svg>Copy selection<\/button><button type=\"button\" class=\"dgt-btn\" data-act=\"clear-tray\" aria-label=\"Clear selection\"><svg class=\"dgv-i\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-trash\"><\/use><\/svg><\/button><\/span><\/div>\n<div class=\"dgt-rate dgt-panel\" data-dgt-rate><p class=\"dgt-panel-t\"><svg class=\"dgv-i dgv-i--f\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-star\"><\/use><\/svg>Star rating generator<\/p><div class=\"dgt-rate-row\"><label class=\"dgt-field dgt-field--s\"><span>Rating <b class=\"dgt-rate-v\" data-dgt-rv><\/b><\/span><input type=\"range\" min=\"0\" max=\"10\" step=\"0.5\" value=\"4.5\" data-dgt-rn data-half=\"2BEA\"><\/label><label class=\"dgt-field dgt-field--s\"><span>Out of<\/span><select data-dgt-rmax><option value=\"5\" selected>5<\/option><option value=\"10\">10<\/option><\/select><\/label><label class=\"dgt-field dgt-field--s\"><span>Style<\/span><select data-dgt-rst><option value=\"2605,2606\">\u2605\u2606<\/option><option value=\"2B50,2606\">&#x2B50;\u2606<\/option><option value=\"2726,2727\">\u2726\u2727<\/option><option value=\"272A,2729\">\u272a\u2729<\/option><\/select><\/label><\/div><div class=\"dgt-conv-out\"><div><small>Result<\/small><output data-dgt-rout><\/output><button type=\"button\" class=\"dgt-btn dgt-btn--pri\" data-act=\"copy-out\" data-src=\"rout\"><svg class=\"dgv-i\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-copy\"><\/use><\/svg>Copy<\/button><\/div><\/div><p class=\"dgt-note\">The half star is a 2018 character: older phones and computers may show it as a box.<\/p><\/div>\n<p class=\"dgt-empty\" data-dgt-empty hidden>No results for that search.<\/p>\n<section class=\"dgt-grp\" id=\"dgt-g-emojis-estrellas\" data-g=\"emojis-estrellas\" aria-labelledby=\"dgt-gh-emojis-estrellas\">\n<div class=\"dgt-grp-h\"><h2 class=\"dgt-gh dgv-grad\" id=\"dgt-gh-emojis-estrellas\">Star Emojis to Copy<\/h2><p class=\"dgt-gd\">They show up in color and their design changes by platform: the \u2b50 on an iPhone doesn\u2019t look like the one on Android or Windows.<\/p><\/div>\n<div class=\"dgt-grid\"><button type=\"button\" class=\"dgt-i\" data-c=\"2B50\" aria-label=\"Star\" data-k=\"star yellow favorite\"><span class=\"dgt-g\">\u2b50<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"1F31F\" aria-label=\"Glowing star\" data-k=\"glow shine\"><span class=\"dgt-g\">&#x1F31F;<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2728\" aria-label=\"Sparkles\" data-k=\"sparkles magic glitter\"><span class=\"dgt-g\">\u2728<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"1F4AB\" aria-label=\"Dizzy\" data-k=\"dizzy\"><span class=\"dgt-g\">&#x1F4AB;<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"1F320\" aria-label=\"Shooting star\" data-k=\"wish falling\"><span class=\"dgt-g\">&#x1F320;<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"1F929\" aria-label=\"Star-struck\" data-k=\"star eyes excited\"><span class=\"dgt-g\">&#x1F929;<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"1F52F\" aria-label=\"Dotted six-pointed star\" data-k=\"six pointed\"><span class=\"dgt-g\">&#x1F52F;<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2721-FE0F\" aria-label=\"Star of David\" data-k=\"jewish hexagram\"><span class=\"dgt-g\">\u2721\ufe0f<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"262A-FE0F\" aria-label=\"Star and crescent\" data-k=\"islam moon\"><span class=\"dgt-g\">\u262a\ufe0f<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2734-FE0F\" aria-label=\"Eight-pointed star\" data-k=\"eight pointed\"><span class=\"dgt-g\">\u2734\ufe0f<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2733-FE0F\" aria-label=\"Eight-spoked asterisk\" data-k=\"asterisk\"><span class=\"dgt-g\">\u2733\ufe0f<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2747-FE0F\" aria-label=\"Sparkle\" data-k=\"sparkle\"><span class=\"dgt-g\">\u2747\ufe0f<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"1F303\" aria-label=\"Night with stars\" data-k=\"night sky\"><span class=\"dgt-g\">&#x1F303;<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"1F30C\" aria-label=\"Milky Way\" data-k=\"galaxy\"><span class=\"dgt-g\">&#x1F30C;<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"1F387\" aria-label=\"Sparkler\" data-k=\"fireworks\"><span class=\"dgt-g\">&#x1F387;<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"1F31F-2728\" aria-label=\"Glowing star and sparkles combo\" data-k=\"combo\"><span class=\"dgt-g\">&#x1F31F;\u2728<\/span><\/button><\/div>\n<\/section>\n<section class=\"dgt-grp\" id=\"dgt-g-estrellas-cinco-puntas\" data-g=\"estrellas-cinco-puntas\" aria-labelledby=\"dgt-gh-estrellas-cinco-puntas\">\n<div class=\"dgt-grp-h\"><h2 class=\"dgt-gh dgv-grad\" id=\"dgt-gh-estrellas-cinco-puntas\">Five-Pointed Star Symbols \u2605 \u2606 and Half Stars \u2bea<\/h2><p class=\"dgt-gd\">These are text characters: they take the color and size of the surrounding text, just like a letter. They include the half star \u2bea for ratings like 4.5 out of 5, plus \u2beb \u2be8 \u2be9, added in Unicode 11 (2018): older phones and computers may show them as a box.<\/p><\/div>\n<div class=\"dgt-grid\"><button type=\"button\" class=\"dgt-i\" data-c=\"2605\" aria-label=\"Black star\" data-k=\"solid filled\"><span class=\"dgt-g\">\u2605<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2606\" aria-label=\"White star\" data-k=\"outline empty\"><span class=\"dgt-g\">\u2606<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2BEA\" aria-label=\"Star with left half black (half star)\" data-k=\"half star rating\"><span class=\"dgt-g\">\u2bea<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2BEB\" aria-label=\"Star with right half black\" data-k=\"half star\"><span class=\"dgt-g\">\u2beb<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2BE8\" aria-label=\"Left half black star\" data-k=\"half star left\"><span class=\"dgt-g\">\u2be8<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2BE9\" aria-label=\"Right half black star\" data-k=\"half star right\"><span class=\"dgt-g\">\u2be9<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2729\" aria-label=\"Stress outlined white star\" data-k=\"outline\"><span class=\"dgt-g\">\u2729<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"272A\" aria-label=\"Circled white star\" data-k=\"circled\"><span class=\"dgt-g\">\u272a<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"272B\" aria-label=\"Open centre black star\" data-k=\"open centre\"><span class=\"dgt-g\">\u272b<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"272C\" aria-label=\"Black centre white star\" data-k=\"black centre\"><span class=\"dgt-g\">\u272c<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"272D\" aria-label=\"Outlined black star\" data-k=\"outlined\"><span class=\"dgt-g\">\u272d<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"272E\" aria-label=\"Heavy outlined black star\" data-k=\"heavy\"><span class=\"dgt-g\">\u272e<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"272F\" aria-label=\"Pinwheel star\" data-k=\"pinwheel\"><span class=\"dgt-g\">\u272f<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2730\" aria-label=\"Shadowed white star\" data-k=\"shadow\"><span class=\"dgt-g\">\u2730<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2B51\" aria-label=\"Black small star\" data-k=\"small\"><span class=\"dgt-g\">\u2b51<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2B52\" aria-label=\"White small star\" data-k=\"small\"><span class=\"dgt-g\">\u2b52<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"22C6\" aria-label=\"Star operator\" data-k=\"small operator\"><span class=\"dgt-g\">\u22c6<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"269D\" aria-label=\"Outlined white star\" data-k=\"outlined\"><span class=\"dgt-g\">\u269d<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"235F\" aria-label=\"APL functional symbol circle star\" data-k=\"circle\"><span class=\"dgt-g\">\u235f<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"26E4\" aria-label=\"Pentagram\" data-k=\"pentacle\"><span class=\"dgt-g\">\u26e4<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"26E5\" aria-label=\"Right-handed interlaced pentagram\" data-k=\"pentagram\"><span class=\"dgt-g\">\u26e5<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"26E6\" aria-label=\"Left-handed interlaced pentagram\" data-k=\"pentagram\"><span class=\"dgt-g\">\u26e6<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"26E7\" aria-label=\"Inverted pentagram\" data-k=\"inverted\"><span class=\"dgt-g\">\u26e7<\/span><\/button><\/div>\n<\/section>\n<section class=\"dgt-grp\" id=\"dgt-g-estrellas-cuatro-seis-ocho\" data-g=\"estrellas-cuatro-seis-ocho\" aria-labelledby=\"dgt-gh-estrellas-cuatro-seis-ocho\">\n<div class=\"dgt-grp-h\"><h2 class=\"dgt-gh dgv-grad\" id=\"dgt-gh-estrellas-cuatro-seis-ocho\">4, 6, 8, 12 and 16-Pointed Stars<\/h2><p class=\"dgt-gd\">From the four-pointed sparkle \u2726 to the twelve-pointed star \u2739, all from Unicode\u2019s Dingbats block.<\/p><\/div>\n<div class=\"dgt-grid\"><button type=\"button\" class=\"dgt-i\" data-c=\"2726\" aria-label=\"Black four pointed star\" data-k=\"four pointed sparkle\"><span class=\"dgt-g\">\u2726<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2727\" aria-label=\"White four pointed star\" data-k=\"four pointed outline\"><span class=\"dgt-g\">\u2727<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2721\" aria-label=\"Star of David (text)\" data-k=\"hexagram\"><span class=\"dgt-g\">\u2721<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2736\" aria-label=\"Six pointed black star\" data-k=\"six pointed\"><span class=\"dgt-g\">\u2736<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2734\" aria-label=\"Eight pointed black star\" data-k=\"eight pointed\"><span class=\"dgt-g\">\u2734<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2735\" aria-label=\"Eight pointed pinwheel star\" data-k=\"pinwheel\"><span class=\"dgt-g\">\u2735<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2737\" aria-label=\"Eight pointed rectilinear black star\" data-k=\"rectilinear\"><span class=\"dgt-g\">\u2737<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2738\" aria-label=\"Heavy eight pointed rectilinear black star\" data-k=\"heavy\"><span class=\"dgt-g\">\u2738<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2739\" aria-label=\"Twelve pointed black star\" data-k=\"twelve pointed sun\"><span class=\"dgt-g\">\u2739<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"273A\" aria-label=\"Sixteen pointed asterisk\" data-k=\"sixteen\"><span class=\"dgt-g\">\u273a<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2742\" aria-label=\"Circled open centre eight pointed star\" data-k=\"circled sun\"><span class=\"dgt-g\">\u2742<\/span><\/button><\/div>\n<\/section>\n<section class=\"dgt-grp\" id=\"dgt-g-asteriscos-destellos\" data-g=\"asteriscos-destellos\" aria-labelledby=\"dgt-gh-asteriscos-destellos\">\n<div class=\"dgt-grp-h\"><h2 class=\"dgt-gh dgv-grad\" id=\"dgt-gh-asteriscos-destellos\">Asterisk and Sparkle Symbols<\/h2><p class=\"dgt-gd\">From the keyboard asterisk * to the sparkle \u2747: great for footnotes, dividers and adding some shine to text.<\/p><\/div>\n<div class=\"dgt-grid\"><button type=\"button\" class=\"dgt-i\" data-c=\"2A\" aria-label=\"Asterisk\" data-k=\"keyboard asterisk\" data-a=\"42\"><span class=\"dgt-g\">*<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2217\" aria-label=\"Asterisk operator\" data-k=\"operator\" data-e=\"lowast\"><span class=\"dgt-g\">\u2217<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"204E\" aria-label=\"Low asterisk\" data-k=\"low\"><span class=\"dgt-g\">\u204e<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2051\" aria-label=\"Two asterisks aligned vertically\" data-k=\"two\"><span class=\"dgt-g\">\u2051<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2042\" aria-label=\"Asterism\" data-k=\"three asterisks\"><span class=\"dgt-g\">\u2042<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"229B\" aria-label=\"Circled asterisk operator\" data-k=\"circled\"><span class=\"dgt-g\">\u229b<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2731\" aria-label=\"Heavy asterisk\" data-k=\"heavy\"><span class=\"dgt-g\">\u2731<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2732\" aria-label=\"Open centre asterisk\" data-k=\"open centre\"><span class=\"dgt-g\">\u2732<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2733\" aria-label=\"Eight spoked asterisk\" data-k=\"eight\"><span class=\"dgt-g\">\u2733<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"273B\" aria-label=\"Teardrop-spoked asterisk\" data-k=\"teardrop\"><span class=\"dgt-g\">\u273b<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"273C\" aria-label=\"Open centre teardrop-spoked asterisk\" data-k=\"teardrop\"><span class=\"dgt-g\">\u273c<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"273D\" aria-label=\"Heavy teardrop-spoked asterisk\" data-k=\"teardrop\"><span class=\"dgt-g\">\u273d<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2722\" aria-label=\"Four teardrop-spoked asterisk\" data-k=\"four\"><span class=\"dgt-g\">\u2722<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2723\" aria-label=\"Four balloon-spoked asterisk\" data-k=\"balloon\"><span class=\"dgt-g\">\u2723<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2724\" aria-label=\"Heavy four balloon-spoked asterisk\" data-k=\"balloon\"><span class=\"dgt-g\">\u2724<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2725\" aria-label=\"Four club-spoked asterisk\" data-k=\"club\"><span class=\"dgt-g\">\u2725<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2747\" aria-label=\"Sparkle (text)\" data-k=\"sparkle\"><span class=\"dgt-g\">\u2747<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2748\" aria-label=\"Heavy sparkle\" data-k=\"sparkle\"><span class=\"dgt-g\">\u2748<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2749\" aria-label=\"Balloon-spoked asterisk\" data-k=\"balloon\"><span class=\"dgt-g\">\u2749<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"274A\" aria-label=\"Eight teardrop-spoked propeller asterisk\" data-k=\"propeller\"><span class=\"dgt-g\">\u274a<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"274B\" aria-label=\"Heavy eight teardrop-spoked propeller asterisk\" data-k=\"propeller\"><span class=\"dgt-g\">\u274b<\/span><\/button><\/div>\n<\/section>\n<section class=\"dgt-grp\" id=\"dgt-g-combinaciones-estrellas\" data-g=\"combinaciones-estrellas\" aria-labelledby=\"dgt-gh-combinaciones-estrellas\">\n<div class=\"dgt-grp-h\"><h2 class=\"dgt-gh dgv-grad\" id=\"dgt-gh-combinaciones-estrellas\">Aesthetic Star Combos to Copy<\/h2><p class=\"dgt-gd\">Ready for your Instagram, TikTok or Discord bio: one click copies the whole combo.<\/p><\/div>\n<div class=\"dgt-grid dgt-grid--w\"><button type=\"button\" class=\"dgt-i\" data-c=\"2606-5F61\" aria-label=\"Japanese shooting star\" data-k=\"shooting kaomoji\"><span class=\"dgt-g\">\u2606\u5f61<\/span><\/button><button type=\"button\" class=\"dgt-i\" data-c=\"2605-5F61\" aria-label=\"Filled shooting star\" data-k=\"shooting\"><span class=\"dgt-g\">\u2605\u5f61<\/span><\/button><button type=\"button\" class=\"dgt-i dgt-i--w\" data-c=\"2727-FF65-FF9F-3A-20-2A-2727-FF65-FF9F-3A-2A\" aria-label=\"Decorative sparkles\" data-k=\"sparkle divider\"><span class=\"dgt-g\">\u2727\uff65\uff9f: *\u2727\uff65\uff9f:*<\/span><\/button><button type=\"button\" class=\"dgt-i dgt-i--w\" data-c=\"22C6-FF61-2DA-20-2601-FE0E-20-2DA-FF61-22C6\" aria-label=\"Starry sky\" data-k=\"sky cloud\"><span class=\"dgt-g\">\u22c6\uff61\u02da \u2601\ufe0e \u02da\uff61\u22c6<\/span><\/button><button type=\"button\" class=\"dgt-i dgt-i--w\" data-c=\"2726-20-2727-20-2726\" aria-label=\"Star divider\" data-k=\"divider\"><span class=\"dgt-g\">\u2726 \u2727 \u2726<\/span><\/button><button type=\"button\" class=\"dgt-i dgt-i--w\" data-c=\"2605-2605-2605-2605-2605\" aria-label=\"Five stars\" data-k=\"rating\"><span class=\"dgt-g\">\u2605\u2605\u2605\u2605\u2605<\/span><\/button><button type=\"button\" class=\"dgt-i dgt-i--w\" data-c=\"2B50-2B50-2B50-2B50-2B50\" aria-label=\"Five star emojis\" data-k=\"rating\"><span class=\"dgt-g\">\u2b50\u2b50\u2b50\u2b50\u2b50<\/span><\/button><button type=\"button\" class=\"dgt-i dgt-i--w\" data-c=\"FF61-FF65-3A-2A-3A-FF65-FF9F-2605-2C-FF61-FF65-3A-2A-3A-FF65-FF9F-2606\" aria-label=\"Star shower\" data-k=\"decorative\"><span class=\"dgt-g\">\uff61\uff65:*:\uff65\uff9f\u2605,\uff61\uff65:*:\uff65\uff9f\u2606<\/span><\/button><\/div>\n<\/section>\n<div class=\"dgt-detail\" data-dgt-detail hidden role=\"dialog\" aria-label=\"Details of the copied item\"><button type=\"button\" class=\"dgt-x\" data-act=\"close-detail\" aria-label=\"Close\"><svg class=\"dgv-i\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-x\"><\/use><\/svg><\/button><span class=\"dgt-detail-g\" data-f=\"g\"><\/span><div class=\"dgt-detail-b\"><p class=\"dgt-detail-n\" data-f=\"n\"><\/p><p class=\"dgt-detail-s\" data-f=\"s\">Copied<\/p><div class=\"dgt-fmts\" data-f=\"fmts\"><\/div><\/div><\/div>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"dgv-sec dgt-guide\">\n<div class=\"dgv-wrap\">\n<div class=\"dgv-head dgv-head--c\" data-dgv-r><h2 class=\"dgv-h2 dgv-grad\">How to Type a Star Symbol on Your Keyboard<\/h2><p class=\"dgv-intro\">The stars \u2605 \u2606 don\u2019t have their own key. These are the fastest ways to type them on each system, besides copying them here in one click.<\/p><\/div><div class=\"dgt-cards dgt-cards--6\"><article class=\"dgv-card dgt-gcard\" data-dgv-r style=\"--dgv-d:0.00s\"><span class=\"dgt-num\" aria-hidden=\"true\">01<\/span><h3 class=\"dgv-h3\">On Windows<\/h3><p class=\"dgv-txt\">Press Windows + period (.) to open the emoji panel and search for \u201cstar\u201d to insert \u2b50. The text star \u2605 has no classic Alt code, so copy it here.<\/p><\/article><article class=\"dgv-card dgt-gcard\" data-dgv-r style=\"--dgv-d:0.08s\"><span class=\"dgt-num\" aria-hidden=\"true\">02<\/span><h3 class=\"dgv-h3\">On Mac<\/h3><p class=\"dgv-txt\">Press Control + Command + Space to open the Character Viewer (or go to Edit, Emoji &amp; Symbols) and type \u201cstar\u201d in the search box to find \u2b50, \u2605, \u2606 and many more.<\/p><\/article><article class=\"dgv-card dgt-gcard\" data-dgv-r style=\"--dgv-d:0.16s\"><span class=\"dgt-num\" aria-hidden=\"true\">03<\/span><h3 class=\"dgv-h3\">In Microsoft Word<\/h3><p class=\"dgv-txt\">In Word for Windows, type 2605 and press Alt + X to turn it into \u2605 (2606 gives you \u2606 and 2BEA the half star \u2bea). It\u2019s also under Insert, Symbol, More Symbols, with character code 2605.<\/p><\/article><article class=\"dgv-card dgt-gcard\" data-dgv-r style=\"--dgv-d:0.00s\"><span class=\"dgt-num\" aria-hidden=\"true\">04<\/span><h3 class=\"dgv-h3\">On Android<\/h3><p class=\"dgv-txt\">In the emoji keyboard, tap the search icon and type \u201cstar\u201d for \u2b50. For \u2605 or \u2606, copy them here and save them as a shortcut in your keyboard\u2019s personal dictionary or text shortcuts.<\/p><\/article><article class=\"dgv-card dgt-gcard\" data-dgv-r style=\"--dgv-d:0.08s\"><span class=\"dgt-num\" aria-hidden=\"true\">05<\/span><h3 class=\"dgv-h3\">On iPhone<\/h3><p class=\"dgv-txt\">Open the emoji keyboard, use the search field and type \u201cstar\u201d. For \u2605, create a text replacement in Settings, General, Keyboard, Text Replacement: for example, \u201cstr\u201d turns into \u2605.<\/p><\/article><article class=\"dgv-card dgt-gcard\" data-dgv-r style=\"--dgv-d:0.16s\"><span class=\"dgt-num\" aria-hidden=\"true\">06<\/span><h3 class=\"dgv-h3\">In HTML and CSS<\/h3><p class=\"dgv-txt\">In HTML, type <code>&amp;#9733;<\/code> or <code>&amp;starf;<\/code> for \u2605, <code>&amp;#9734;<\/code> or <code>&amp;star;<\/code> for \u2606 and <code>&amp;#11242;<\/code> for the half star \u2bea. In CSS, use <code>content: \"\\2605\";<\/code> in a pseudo-element.<\/p><\/article><\/div>\n<\/div>\n<\/section>\n<section class=\"dgv-sec dgt-guide\">\n<div class=\"dgv-wrap\">\n<div class=\"dgv-head dgv-head--c\" data-dgv-r><h2 class=\"dgv-h2 dgv-grad\">Star Symbol Unicode and HTML Codes<\/h2><p class=\"dgv-intro\">For websites, code or spreadsheets. Half stars have no named HTML entity, so use their numeric code. The tool also shows these codes every time you copy a symbol.<\/p><\/div><div class=\"dgt-table-w\" data-dgv-r><table class=\"dgt-table\"><thead><tr><th scope=\"col\">Symbol<\/th><th scope=\"col\">Name<\/th><th scope=\"col\">Unicode<\/th><th scope=\"col\">HTML<\/th><\/tr><\/thead><tbody><tr><th scope=\"row\">\u2605<\/th><td>Black star<\/td><td>U+2605<\/td><td><code>&amp;#9733;<\/code> or <code>&amp;starf;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2606<\/th><td>White star<\/td><td>U+2606<\/td><td><code>&amp;#9734;<\/code> or <code>&amp;star;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2bea<\/th><td>Star with left half black (half star)<\/td><td>U+2BEA<\/td><td><code>&amp;#11242;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2beb<\/th><td>Star with right half black<\/td><td>U+2BEB<\/td><td><code>&amp;#11243;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2be8<\/th><td>Left half black star<\/td><td>U+2BE8<\/td><td><code>&amp;#11240;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2be9<\/th><td>Right half black star<\/td><td>U+2BE9<\/td><td><code>&amp;#11241;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2b50<\/th><td>Star emoji<\/td><td>U+2B50<\/td><td><code>&amp;#11088;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2726<\/th><td>Black four-pointed star<\/td><td>U+2726<\/td><td><code>&amp;#10022;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2727<\/th><td>White four-pointed star<\/td><td>U+2727<\/td><td><code>&amp;#10023;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2736<\/th><td>Six-pointed black star<\/td><td>U+2736<\/td><td><code>&amp;#10038;<\/code> or <code>&amp;sext;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2721<\/th><td>Star of David<\/td><td>U+2721<\/td><td><code>&amp;#10017;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2734<\/th><td>Eight-pointed black star<\/td><td>U+2734<\/td><td><code>&amp;#10036;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2739<\/th><td>Twelve-pointed black star<\/td><td>U+2739<\/td><td><code>&amp;#10041;<\/code><\/td><\/tr><tr><th scope=\"row\">\u22c6<\/th><td>Star operator<\/td><td>U+22C6<\/td><td><code>&amp;#8902;<\/code> or <code>&amp;sstarf;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2728<\/th><td>Sparkles (emoji)<\/td><td>U+2728<\/td><td><code>&amp;#10024;<\/code><\/td><\/tr><tr><th scope=\"row\">\u2042<\/th><td>Asterism<\/td><td>U+2042<\/td><td><code>&amp;#8258;<\/code><\/td><\/tr><\/tbody><\/table><\/div>\n<\/div>\n<\/section>\n<section class=\"dgv-sec dgv-faq-sec\" id=\"dgv-faq\">\n<div class=\"dgv-fx\" aria-hidden=\"true\"><div class=\"dgv-halo dgv-halo--t\"><\/div><\/div>\n<div class=\"dgv-wrap dgv-faq-wrap\">\n<div class=\"dgv-head dgv-head--c\" data-dgv-r><h2 class=\"dgv-h2 dgv-grad\">Star Symbol and Star Emoji FAQ<\/h2><\/div>\n<div class=\"dgv-faq dgv-faq--2\"><div class=\"dgv-faq-col\">\n<div class=\"dgv-faq-item is-open\"><h3 class=\"dgv-faq-q\"><button class=\"dgv-faq-btn\" type=\"button\" id=\"dgv-faq-q1\" aria-expanded=\"true\" aria-controls=\"dgv-faq-a1\"><span>How do you type a star symbol on a keyboard?<\/span><span class=\"dgv-pm\" aria-hidden=\"true\"><\/span><\/button><\/h3><div class=\"dgv-faq-a\" id=\"dgv-faq-a1\" role=\"region\" aria-labelledby=\"dgv-faq-q1\"><div><p>The text star \u2605 has no key of its own and no classic Alt code. On Windows, Windows + period opens the emoji panel; on a Mac, Control + Command + Space opens the Character Viewer; in Word for Windows, type 2605 and press Alt + X. The fastest option is to copy it here in one click and paste it with Ctrl + V.<\/p><\/div><\/div><\/div>\n<div class=\"dgv-faq-item\"><h3 class=\"dgv-faq-q\"><button class=\"dgv-faq-btn\" type=\"button\" id=\"dgv-faq-q2\" aria-expanded=\"false\" aria-controls=\"dgv-faq-a2\"><span>What does \u2b50 mean in text?<\/span><span class=\"dgv-pm\" aria-hidden=\"true\"><\/span><\/button><\/h3><div class=\"dgv-faq-a\" id=\"dgv-faq-a2\" role=\"region\" aria-labelledby=\"dgv-faq-q2\"><div><p>It\u2019s the star emoji (U+2B50), a yellow five-pointed star. People use it to highlight something, congratulate someone, mark favorites or give a rating. Unlike \u2605, it shows up in color and its design changes depending on the phone or computer.<\/p><\/div><\/div><\/div>\n<div class=\"dgv-faq-item\"><h3 class=\"dgv-faq-q\"><button class=\"dgv-faq-btn\" type=\"button\" id=\"dgv-faq-q3\" aria-expanded=\"false\" aria-controls=\"dgv-faq-a3\"><span>What does a star symbolize?<\/span><span class=\"dgv-pm\" aria-hidden=\"true\"><\/span><\/button><\/h3><div class=\"dgv-faq-a\" id=\"dgv-faq-a3\" role=\"region\" aria-labelledby=\"dgv-faq-q3\"><div><p>In text, the star usually stands for excellence, quality or something worth highlighting, and in ratings each star is a point. The black star \u2605 (U+2605) is the Unicode text character for this, and its outline partner is the white star \u2606 (U+2606). Some stars carry their own meaning, such as the Star of David \u2721 in Judaism.<\/p><\/div><\/div><\/div>\n<div class=\"dgv-faq-item\"><h3 class=\"dgv-faq-q\"><button class=\"dgv-faq-btn\" type=\"button\" id=\"dgv-faq-q4\" aria-expanded=\"false\" aria-controls=\"dgv-faq-a4\"><span>What does \u2605\u2605\u2605 mean?<\/span><span class=\"dgv-pm\" aria-hidden=\"true\"><\/span><\/button><\/h3><div class=\"dgv-faq-a\" id=\"dgv-faq-a4\" role=\"region\" aria-labelledby=\"dgv-faq-q4\"><div><p>Three stars usually mean a 3 out of 5 rating, as in restaurant, hotel or app reviews. To avoid any doubt, add the empty ones: \u2605\u2605\u2605\u2606\u2606 makes it clear it\u2019s 3 out of 5. You can build the row with the rating generator on this page.<\/p><\/div><\/div><\/div>\n<div class=\"dgv-faq-item\"><h3 class=\"dgv-faq-q\"><button class=\"dgv-faq-btn\" type=\"button\" id=\"dgv-faq-q5\" aria-expanded=\"false\" aria-controls=\"dgv-faq-a5\"><span>How to write a star symbol in Word?<\/span><span class=\"dgv-pm\" aria-hidden=\"true\"><\/span><\/button><\/h3><div class=\"dgv-faq-a\" id=\"dgv-faq-a5\" role=\"region\" aria-labelledby=\"dgv-faq-q5\"><div><p>In Word for Windows, type 2605 and press Alt + X to get \u2605, or 2606 for \u2606. You can also go to Insert, Symbol, More Symbols and enter 2605 as the character code with Unicode (hex) selected. If you only need one, copy it here and paste it with Ctrl + V.<\/p><\/div><\/div><\/div>\n<div class=\"dgv-faq-item\"><h3 class=\"dgv-faq-q\"><button class=\"dgv-faq-btn\" type=\"button\" id=\"dgv-faq-q6\" aria-expanded=\"false\" aria-controls=\"dgv-faq-a6\"><span>Is there a half star emoji?<\/span><span class=\"dgv-pm\" aria-hidden=\"true\"><\/span><\/button><\/h3><div class=\"dgv-faq-a\" id=\"dgv-faq-a6\" role=\"region\" aria-labelledby=\"dgv-faq-q6\"><div><p>No. There\u2019s no half star among the emojis. What does exist are four text symbols added in Unicode 11 (2018): \u2bea (U+2BEA), the star with left half black used for ratings like 4.5 out of 5, \u2beb (U+2BEB), \u2be8 (U+2BE8) and \u2be9 (U+2BE9). They take the color of the text instead of showing up yellow like \u2b50, and you can copy them here in the five-pointed stars group.<\/p><\/div><\/div><\/div><\/div><div class=\"dgv-faq-col\">\n<div class=\"dgv-faq-item\"><h3 class=\"dgv-faq-q\"><button class=\"dgv-faq-btn\" type=\"button\" id=\"dgv-faq-q7\" aria-expanded=\"false\" aria-controls=\"dgv-faq-a7\"><span>How do you write 4.5 stars out of 5?<\/span><span class=\"dgv-pm\" aria-hidden=\"true\"><\/span><\/button><\/h3><div class=\"dgv-faq-a\" id=\"dgv-faq-a7\" role=\"region\" aria-labelledby=\"dgv-faq-q7\"><div><p>Type four filled stars followed by the half star: \u2605\u2605\u2605\u2605\u2bea. The rating generator on this page builds it for you: with the \u2605 \u2606 style, the slider moves in half-star steps and its label shows the score, such as \u201c4.5 \/ 5\u201d. Adding the number, as in \u2605\u2605\u2605\u2605\u2bea (4.5 out of 5), keeps the rating clear on older devices that show the half star as a box.<\/p><\/div><\/div><\/div>\n<div class=\"dgv-faq-item\"><h3 class=\"dgv-faq-q\"><button class=\"dgv-faq-btn\" type=\"button\" id=\"dgv-faq-q8\" aria-expanded=\"false\" aria-controls=\"dgv-faq-a8\"><span>Where is the star emoji on iPhone?<\/span><span class=\"dgv-pm\" aria-hidden=\"true\"><\/span><\/button><\/h3><div class=\"dgv-faq-a\" id=\"dgv-faq-a8\" role=\"region\" aria-labelledby=\"dgv-faq-q8\"><div><p>Open the emoji keyboard, tap the search field and type \u201cstar\u201d to insert \u2b50. For the text star \u2605, create a text replacement in Settings, General, Keyboard, Text Replacement: for example, \u201cstr\u201d turns into \u2605.<\/p><\/div><\/div><\/div>\n<div class=\"dgv-faq-item\"><h3 class=\"dgv-faq-q\"><button class=\"dgv-faq-btn\" type=\"button\" id=\"dgv-faq-q9\" aria-expanded=\"false\" aria-controls=\"dgv-faq-a9\"><span>What is the alt code for the star symbol?<\/span><span class=\"dgv-pm\" aria-hidden=\"true\"><\/span><\/button><\/h3><div class=\"dgv-faq-a\" id=\"dgv-faq-a9\" role=\"region\" aria-labelledby=\"dgv-faq-q9\"><div><p>\u2605 and \u2606 have no classic Alt code on Windows, because they aren\u2019t in the character tables those codes use. The asterisk does have one: Alt + 42 types *. For the star, use the emoji panel (Windows + period), Alt + X in Word or copy it here.<\/p><\/div><\/div><\/div>\n<div class=\"dgv-faq-item\"><h3 class=\"dgv-faq-q\"><button class=\"dgv-faq-btn\" type=\"button\" id=\"dgv-faq-q10\" aria-expanded=\"false\" aria-controls=\"dgv-faq-a10\"><span>What does the sparkles emoji \u2728 mean?<\/span><span class=\"dgv-pm\" aria-hidden=\"true\"><\/span><\/button><\/h3><div class=\"dgv-faq-a\" id=\"dgv-faq-a10\" role=\"region\" aria-labelledby=\"dgv-faq-q10\"><div><p>\u2728 is the sparkles emoji (U+2728). It expresses excitement, magic or something new, and it\u2019s also used to emphasize a word by wrapping it in sparkles. On social media it\u2019s sometimes ironic, highlighting something that\u2019s nothing special.<\/p><\/div><\/div><\/div>\n<div class=\"dgv-faq-item\"><h3 class=\"dgv-faq-q\"><button class=\"dgv-faq-btn\" type=\"button\" id=\"dgv-faq-q11\" aria-expanded=\"false\" aria-controls=\"dgv-faq-a11\"><span>What does the star emoji mean in WhatsApp?<\/span><span class=\"dgv-pm\" aria-hidden=\"true\"><\/span><\/button><\/h3><div class=\"dgv-faq-a\" id=\"dgv-faq-a11\" role=\"region\" aria-labelledby=\"dgv-faq-q11\"><div><p>It depends on where you see it. The \u2b50 emoji in a message usually expresses admiration or that something is special. The app\u2019s star icon marks a starred message, which saves it to the starred messages list so you can find it later.<\/p><\/div><\/div><\/div><\/div>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"dgv-sec dgv-more-sec\" id=\"dgv-leer-mas\">\n<div class=\"dgv-wrap dgv-more-grid\">\n<div class=\"dgv-card dgv-more-card\" data-dgv-r>\n<p class=\"dgv-more-t dgv-grad\">The Complete Guide to Star Symbols<\/p><p class=\"dgv-more-s\">Emoji or symbol, types of stars, half stars, meanings, codes for websites and tips for social media.<\/p>\n<div class=\"dgv-more\" id=\"dgv-more-body\" data-dgv-more><div class=\"dgv-prose\"><h2>How to Copy and Paste Stars with This Tool<\/h2><p>Click any star and it\u2019s copied: paste it wherever you want with Ctrl + V on Windows, Command + V on a Mac or by long-pressing a text field on your phone. Every click also adds the symbol to the \u201cYour selection\u201d tray, so you can build a row like \u2605 \u2726 \u2605, a decorated signature or a divider and copy the whole thing with one button.<\/p><p>Looking for a specific star? Type what you see or what you need in the search box: \u201cfour pointed\u201d, \u201coutline\u201d, \u201chalf\u201d, \u201ccircle\u201d, \u201cshooting\u201d or \u201casterisk\u201d. The filters split the tool into its five groups (emojis, five-pointed stars, 4 to 16-pointed stars, asterisks and sparkles, and combos), so you don\u2019t have to scroll through the whole page.<\/p><p>When you copy a symbol, its card shows the Unicode code point, the HTML code and the CSS value, which come in handy if the star is going into a website, an email template or a spreadsheet. And if you want to rate something, the rating generator instantly builds strings like \u2605\u2605\u2605\u2605\u2606 or, with a half star, \u2605\u2605\u2605\u2605\u2bea, out of 5 or out of 10 and in four different styles.<\/p><p>Everything runs in your browser: it\u2019s free, with no sign-up and nothing to install. Stars are copied as Unicode text, not as images, which is why you can paste them into WhatsApp, Instagram, Word, Excel, an email or a gamer tag. If you see an empty box instead of a star somewhere, the symbol isn\u2019t broken: that app uses a font that doesn\u2019t include it. Try a more common star such as \u2605 or \u2606, which almost every font supports. It\u2019s more likely to happen with the half star \u2bea, which only reached Unicode in 2018, on older phones and computers.<\/p><h2>Star Emoji vs. Star Symbol: What\u2019s the Difference?<\/h2><p>They copy the same way, but they don\u2019t behave the same way. The star emoji \u2b50 (U+2B50) is a color image: every vendor draws its own version, so it doesn\u2019t look exactly the same on an iPhone, a Samsung phone or a Windows computer. The star symbol \u2605 (U+2605) is a typographic character, just like a letter: it takes the color, size and style of the text around it.<\/p><h3>When to Use the Star Emoji \u2b50<\/h3><p>The emoji grabs more attention and carries emotion. It works well in messages, social media posts, comments and casual email subject lines, where you want it to stand out. The downside is that you can\u2019t change its color, and in a formal document or a carefully designed website it often clashes with the rest of the design.<\/p><h3>When to Use the Text Star \u2605<\/h3><p>The text star looks better in documents, r\u00e9sum\u00e9s, lists, slides and web design, because it follows the typography and can match your brand color. It\u2019s also the safest choice for ratings: five \u2605 or \u2606 always take up the same width and read the same on any device.<\/p><p>One technical detail explains some odd behavior: several symbols, such as \u2734 or \u2733, exist both as text and as emoji. The invisible character U+FE0F requests the emoji version, in color, and U+FE0E requests the text version. That\u2019s why the same symbol can show up in color on one phone and in black on another, depending on the system and the app.<\/p><h2>4, 5, 6, 8 and 12-Pointed Stars: Which One to Use<\/h2><p>The number of points changes the message a lot. A classic five-pointed star doesn\u2019t say the same thing as a four-pointed sparkle or a twelve-pointed star that looks like the sun.<\/p><h3>Five-Pointed Star \u2605 \u2606<\/h3><p>This is the star: the one used for ratings, favorites and plenty of flags. Unicode offers the filled version \u2605, the outline \u2606, the half stars \u2bea \u2beb \u2be8 \u2be9 and many variants: stress outlined \u2729, circled \u272a, pinwheel \u272f, shadowed \u2730 or small ones like \u2b51 and \u2b52. The pentagram \u26e4, drawn in a single stroke, also has five points, but its use is symbolic and very different.<\/p><h3>Four-Pointed Star \u2726 \u2727<\/h3><p>Four-pointed stars look like a twinkle or a sparkle. They\u2019re a favorite for dividers, Instagram bios and minimalist designs, because they\u2019re light and pair well with almost any font.<\/p><h3>Six-Pointed Star \u2736 \u2721<\/h3><p>The six-pointed black star \u2736 is decorative. The Star of David \u2721, made of two interlaced triangles, is the symbol of Judaism, so it\u2019s best used only when that\u2019s the meaning you want.<\/p><h3>Eight, Twelve and Sixteen-Pointed Stars<\/h3><p>Eight-pointed stars (\u2734 \u2735 \u2737 \u2738) recall a compass rose or an intense twinkle; the twelve-pointed star \u2739 looks like a sun and the sixteen-pointed one \u273a is almost a burst. They all belong to Unicode\u2019s Dingbats block, which runs from U+2700 to U+27BF and which you can browse in the <a href=\"https:\/\/www.unicode.org\/charts\/PDF\/U2700.pdf\" target=\"_blank\" rel=\"noopener\">official Unicode Dingbats chart<\/a>.<\/p><h2>What Do the Star Emojis Mean?<\/h2><p>Star emojis aren\u2019t interchangeable. These are their most common uses, based on their official Unicode names and how people use them in messages and on social media:<\/p><ul><li><strong>\u2b50 Star:<\/strong> excellence, success, something that stands out or a good review. It\u2019s also used to mark favorites.<\/li><li><strong>Glowing star:<\/strong> the version with rays, for something that shines brighter than usual or someone who did a great job.<\/li><li><strong>\u2728 Sparkles:<\/strong> excitement, magic, something new or freshly cleaned. Wrapping a word in sparkles adds emphasis, sometimes ironically.<\/li><li><strong>Dizzy:<\/strong> its official name is \u201cdizzy symbol\u201d, like in cartoons, although today it\u2019s also used as a decorative sparkle.<\/li><li><strong>Shooting star:<\/strong> making a wish, wishing someone luck or talking about something that goes by very fast.<\/li><li><strong>Star-struck face:<\/strong> excitement, admiration or being amazed by someone or something.<\/li><\/ul><p>The final meaning always depends on context and on who\u2019s writing. A \u2b50 from your boss on a report is praise; three \u2728 in a post can be pure sarcasm. When in doubt, the text star \u2605 is more neutral than any emoji.<\/p><p>For every other emoji (faces, hearts, gestures or flags), you\u2019ll find them in our <a href=\"https:\/\/www.digiaccion.com\/en\/emojis-copy-paste\/\">emojis to copy and paste<\/a> tool, with search and skin tones.<\/p><h2>Star Symbol Codes for Websites: HTML, CSS and Unicode<\/h2><p>If you work on a website, an HTML email or a stylesheet, you don\u2019t need to paste the symbol: you can write it with its code and it will look the same in any modern browser.<\/p><h3>Star Symbol in HTML<\/h3><p>In HTML, the black star \u2605 is written <code>&amp;#9733;<\/code> or with the named entity <code>&amp;starf;<\/code>, and the white star \u2606 with <code>&amp;#9734;<\/code> or <code>&amp;star;<\/code>. The \u2b50 emoji and the half star \u2bea have no named entity: they\u2019re written <code>&amp;#11088;<\/code> and <code>&amp;#11242;<\/code>. The named entities <code>&amp;starf;<\/code> and <code>&amp;star;<\/code> come from HTML5; if your editor or email template is older, use the numeric code, which always works.<\/p><p>In CSS, to place a star before some text with a pseudo-element, use <code>content: \"\\2605\";<\/code>. It\u2019s a clean way to create star bullets or rating icons without loading images, and the star inherits whatever color you set in the stylesheet.<\/p><p>A common issue on WordPress sites: some emojis show up as \u201c????\u201d. The emoji isn\u2019t the problem; the database is. The stars \u2605, \u2606 and \u2b50 take 3 bytes in UTF-8 and cause no trouble, but emojis such as the glowing star or the shooting star take 4 bytes, and a MySQL database set to utf8 instead of utf8mb4 can\u2019t store them. It\u2019s one of the technical details worth checking in any <a href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-in-andorra\/\">web design<\/a> project.<\/p><h2>Star Ratings: How to Write Them Properly<\/h2><p>Star strings are the fastest way to rate something in text: \u2605\u2605\u2605\u2605\u2606 needs no explanation in any language. To make them easy to read, follow three simple rules.<\/p><ul><li><strong>Always use the same pair:<\/strong> filled and outline in the same style (\u2605 and \u2606, or \u2726 and \u2727). Mixing \u2b50 with \u2606 works, but the emoji usually looks bigger and throws the row off. The half star \u2bea pairs with \u2605 and \u2606.<\/li><li><strong>Show the empty ones:<\/strong> \u2605\u2605\u2605 could be 3 out of 3 or 3 out of 5; \u2605\u2605\u2605\u2606\u2606 leaves no doubt.<\/li><li><strong>Add the number:<\/strong> a screen reader may read \u201cblack star\u201d five times or skip the symbols altogether, so \u201c\u2605\u2605\u2605\u2605\u2606 (4 out of 5)\u201d is clearer and more accessible.<\/li><\/ul><p>The generator on this page builds the row instantly: pick the score, whether the scale is 5 or 10 and the style, then copy it with one click. With the \u2605 \u2606 style, the score moves in half-star steps (more on that in the next section); with the others, one star at a time. Use it for blog reviews, product pages, internal surveys, reports or messages.<\/p><p>A common mix-up: the yellow stars you see under some Google results don\u2019t come from typing \u2605\u2605\u2605\u2605\u2605 in the title. Google shows them based on review structured data (Review or AggregateRating), as explained in its <a href=\"https:\/\/developers.google.com\/search\/docs\/appearance\/structured-data\/review-snippet\" target=\"_blank\" rel=\"noopener\">review snippet documentation<\/a>, and only for the content types it supports. Setting that up correctly is part of <a href=\"https:\/\/www.digiaccion.com\/en\/seo-organic-positioning-agency-andorra\/\">SEO<\/a> work.<\/p><h2>Half Star Symbol to Copy and Paste for 4.5-Star Ratings<\/h2><p>When a score isn\u2019t a whole number, like 4.5 or 3.5 out of 5, you need a half star. Unicode has included one since version 11, released in 2018: \u2bea is the \u201cstar with left half black\u201d (U+2BEA), and placed after the filled stars, \u2605\u2605\u2605\u2605\u2bea reads as four and a half stars. In this tool it sits in the five-pointed stars group, right after \u2605 and \u2606, ready to copy in one click.<\/p><p>The rating generator adds it for you. With the \u2605 \u2606 style, the slider moves in half-star steps and its label shows the score, such as \u201c4.5 \/ 5\u201d. The 10-point scale works the same way: 7.5 gives you \u2605\u2605\u2605\u2605\u2605\u2605\u2605\u2bea\u2606\u2606. With the \u2b50 \u2606, \u2726 \u2727 and \u272a \u2729 styles it moves one star at a time, because there\u2019s no half star in those designs.<\/p><h3>The Four Half Star Characters in Unicode<\/h3><ul><li><strong>\u2bea Star with left half black (U+2BEA):<\/strong> the most common one, used for ratings like 4.5 out of 5.<\/li><li><strong>\u2beb Star with right half black (U+2BEB):<\/strong> the same star with the fill on the other side.<\/li><li><strong>\u2be8 Left half black star (U+2BE8):<\/strong> only the left half, with no outline for the rest.<\/li><li><strong>\u2be9 Right half black star (U+2BE9):<\/strong> only the right half.<\/li><\/ul><p>None of them has a named HTML entity. On a website, \u2bea is written <code>&amp;#11242;<\/code>, and in CSS, <code>content: \"\\2BEA\";<\/code>.<\/p><h3>Half Star Emoji: A Text Symbol, Not an Emoji<\/h3><p>People often search for a \u201chalf star emoji\u201d, but there\u2019s no half star in the emoji set. \u2bea is a text symbol: it takes the color of the text instead of showing up yellow like \u2b50. That\u2019s why it pairs better with \u2605 and \u2606 than with the emoji: in a row like \u2b50\u2b50\u2b50\u2b50\u2bea, the emoji is bigger and in color, and the half star looks out of place. If you need something that displays everywhere, the fraction is another option: \u2605\u2605\u2605\u2605\u00bd.<\/p><h3>4.5 Out of 5 Stars: Why to Add the Number<\/h3><p>The clearest way to write it is \u2605\u2605\u2605\u2605\u2bea followed by the number: \u201c\u2605\u2605\u2605\u2605\u2bea (4.5 out of 5)\u201d. The number helps for two reasons. The half star is a fairly recent character, so older phones and computers, or apps with their own font, may show it as an empty box (the tool warns you about this next to the generator). And a screen reader may read out the name of each symbol or skip them. Before you use it on a product page or in a newsletter, paste it where it will be read and check how it looks.<\/p><h3>Half Star Symbol in Word and Excel<\/h3><p>It has no key of its own and no Alt code. In Word for Windows, type 2BEA and press Alt + X to turn it into \u2bea. In Excel, the UNICHAR(11242) function returns the half star, and the formula <code>=REPT(\"\u2605\",4)&amp;UNICHAR(11242)<\/code> writes \u2605\u2605\u2605\u2605\u2bea in a cell. On your phone, copy it here and save it as a text shortcut.<\/p><h2>Star Symbols for Instagram, Discord and Gamer Tags<\/h2><p>Text stars are a common way to decorate a profile. They work in Instagram and TikTok bios, WhatsApp statuses, Discord usernames and the nickname field of many games, because they\u2019re Unicode characters, not images.<\/p><h3>Aesthetic Stars and Combos<\/h3><p>The aesthetic style mixes small stars, dots and characters from Japanese writing: \u22c6\uff61\u02da \u2601\ufe0e \u02da\uff61\u22c6, \u2727\uff65\uff9f: *\u2727\uff65\uff9f:* or the shooting star \u2606\u5f61, which uses the character \u5f61 as a trail. In the combos group you\u2019ll find them ready to copy in one piece, and with the selection tray you can create your own by joining several symbols.<\/p><h3>Stars in Usernames and Gamer Tags<\/h3><p>Each game or social network decides which characters it accepts in a name and how many fit, and sometimes it changes those rules. Before you settle on a username, test it: simple stars like \u2605, \u2606 or \u2726 usually work better than long combos or rare symbols, which may show up as boxes on someone else\u2019s phone.<\/p><h2>Asterisks, Sparkles and Stars Aren\u2019t the Same<\/h2><p>The asterisk * (U+002A) looks like a small star, but it\u2019s a punctuation mark: it points to a footnote, flags a required field in a form or, in math and programming, means multiplication. It\u2019s the only symbol on this page that\u2019s on every keyboard, including the number pad, and on Windows you can also type it with Alt + 42.<\/p><p>Its family includes variants such as the asterisk operator \u2217, the low asterisk \u204e, the asterism \u2042 (three asterisks once used to separate parts of a text) and decorative asterisks like \u2731 \u2732 \u273b \u273d. Sparkles such as \u2747 or \u2748 are more decorative and work well as list bullets or as an accent in a heading.<\/p><p>If you need other typographic signs, such as quotation marks, primes or apostrophes, you\u2019ll find them in our <a href=\"https:\/\/www.digiaccion.com\/en\/quotation-marks-symbols\/\">quotation marks and writing symbols to copy<\/a>.<\/p><h2>A Free Tool by DigiAcci\u00f3n, a Digital Marketing Agency in Andorra<\/h2><p>This page of star symbols to copy and paste is one of the free tools by DigiAcci\u00f3n, a <a href=\"https:\/\/www.digiaccion.com\/en\/\">digital marketing agency in Andorra<\/a> based in La Massana. It works in your browser, on desktop and mobile, with no sign-up and nothing to install.<\/p><p>At DigiAcci\u00f3n we do web design, online stores, SEO, GEO (AI search optimization), Google Ads and Meta Ads campaigns, video and graphic design. We work with companies in Andorra, Spain and other countries. Free tools like this one solve the small tasks that come up every day when you write, design or post on social media, and we keep them open to anyone who needs them.<\/p><\/div><\/div>\n<button class=\"dgv-more-btn\" type=\"button\" aria-expanded=\"false\" aria-controls=\"dgv-more-body\" data-more=\"Read the full guide\" data-less=\"Close the guide\"><span class=\"dgv-more-lab\">Read the full guide<\/span><svg class=\"dgv-i\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-chev\"><\/use><\/svg><\/button>\n<\/div>\n<aside class=\"dgv-more-aside\" aria-label=\"Who made this tool\"><div class=\"dgv-card dgv-glow dgv-more-cta dgt-author\" data-dgv-r style=\"--dgv-d:.1s\"><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><span class=\"dgt-author-logo\" aria-hidden=\"true\"><svg viewBox=\"0 0 164 35\" role=\"img\" aria-label=\"DigiAcci\u00f3n\"><path class=\"g\" d=\"M133.8 8.8L133.8 8.8C133.8 8.7 133.8 8.7 133.9 8.7C136.4 8.4 138.9 8 141.5 7.6C141.9 7.5 142.2 7.5 142.5 7.5C142.9 7.5 143.2 7.5 143.6 7.5L143.6 7.5L143.6 8.8L143.6 8.8L133.8 8.8C133.7 8.8 133.7 8.8 133.8 8.8L133.8 8.8Z\"\/><path class=\"g\" d=\"M149.4 18.9C148.8 21.8 146.8 24 143.8 24.4C143.6 24.4 143.2 24.4 142.6 24.4C138.9 24.4 135.3 24.4 131.6 24.4C131 24.4 130.6 24.4 130.4 24.4C122.5 23.6 122.5 10.6 130.4 9.9C130.6 9.8 131 9.8 131.6 9.8C135.5 9.8 139.4 9.8 143.3 9.8C143.8 9.8 144.4 9.9 145 10.1C148.7 11.3 150.1 15.3 149.4 18.9ZM128.8 11.4C125.9 12.6 125.4 16.1 125.9 18.8C126.2 20.8 127.3 22.4 129.3 23C129.8 23.1 130.4 23.2 130.9 23.2C132.7 23.2 136.7 23.2 142.9 23.2C143.5 23.2 144 23.2 144.6 23.1C148.1 22.2 148.7 18.2 148.2 15.2C147.8 13.3 146.8 11.8 144.9 11.3C144.3 11.1 143.7 11 143.2 11C139.3 11 135.4 11 131.4 11C130.5 11 129.6 11 128.8 11.4Z\"\/><path class=\"g\" d=\"M152.6 13.3L152.6 13.3C153.3 11.4 154.8 10.2 156.7 9.9C158.8 9.6 160.9 10.1 162.1 12C162.8 13.2 163 14.6 163 15.9C163 18.6 163 21.4 163 24.1L163 24.1C163 24.1 163 24.1 162.9 24.1L161.7 24.1L161.7 24.1L161.7 24.1C161.7 21.4 161.7 18.6 161.7 15.9C161.7 13.8 161.2 11.5 158.7 11.1C157.8 10.9 157 10.9 156.1 11.1C153.7 11.7 152.7 13.7 152.7 16C152.7 18.7 152.7 21.4 152.7 24.1L152.7 24.1L151.5 24.1C151.5 24.1 151.4 24.1 151.4 24.1L151.4 24.1L151.4 10.1L151.4 10.1C151.4 10.1 151.4 10.1 151.5 10.1L152.5 10.1L152.5 10.1L152.5 10.1L152.5 13.3L152.5 13.3L152.5 13.3L152.5 13.3L152.6 13.3Z\"\/><path class=\"b\" d=\"M37 5L37 5C39.2 5 41.4 5 43.5 5C44.8 5 46 5.2 47.1 5.7C49.9 6.8 51.6 9.2 52.2 12.1C52.6 14.6 52.5 17.3 51.4 19.5C50 22.3 47.3 23.8 44.2 24.1C44 24.1 43.5 24.1 43 24.1C41 24.1 39 24.1 37 24.1L37 24.1L37 24.1V5ZM46.9 6.8C45.7 6.3 44.4 6.2 43.1 6.2C41.5 6.2 39.9 6.2 38.3 6.2L38.3 6.2L38.3 6.2V22.9L38.3 22.9L38.3 22.9C40 22.9 41.7 23 43.4 23C44.6 23 45.7 22.8 46.8 22.4C50.7 20.9 51.4 16.5 51 12.8C50.7 10.2 49.5 7.9 46.9 6.8Z\"\/><path class=\"b\" d=\"M76.8 24.1L75.6 24.1L75.5 24.1L75.5 24.1L75.5 24.1L75.5 24.1L83.5 5L83.5 5L83.5 5H85.2L85.2 5L85.2 5L93.2 24.1L93.2 24.1L93.2 24.1L93.2 24.1C93.2 24.1 93.2 24.1 93.1 24.1L91.8 24.1L91.8 24.1L91.8 24.1L89.2 18.1L89.2 18.1L89.2 18.1H79.4L79.4 18.1L79.4 18.1L76.9 24.1L76.9 24.1C76.9 24.1 76.9 24.1 76.8 24.1ZM84.2 6.4C82.9 9.9 81.4 13.4 79.9 16.8L79.9 16.8L79.9 16.9L79.9 16.9L79.9 16.9L88.7 16.9C88.7 16.9 88.7 16.9 88.7 16.8C87.6 14.2 86.6 11.7 85.5 9.1C85.1 8.2 84.7 7.3 84.4 6.4C84.4 6.3 84.3 6.3 84.3 6.3C84.2 6.3 84.2 6.4 84.2 6.4Z\"\/><path class=\"b\" d=\"M55.8 6.5L54.6 6.5L54.6 6.5L54.6 8.1L54.6 8.1L55.8 8.1C55.8 8.1 55.9 8.1 55.9 8.1L55.9 6.5C55.9 6.5 55.8 6.5 55.8 6.5Z\"\/><path class=\"b\" d=\"M74.1 6.5L72.8 6.5L72.8 6.5L72.8 8.1L72.8 8.1L74.1 8.1L74.1 8.1L74.1 6.5L74.1 6.5Z\"\/><path class=\"b\" d=\"M122.5 6.5H121.3L121.3 6.5V8.1L121.3 8.1H122.5L122.6 8.1V6.5C122.6 6.5 122.6 6.5 122.5 6.5Z\"\/><path class=\"b\" d=\"M69 19.7C69 19.6 68.9 19.6 68.9 19.7C68.2 21.6 66.3 22.9 64.2 22.9C60.5 23.1 58.1 20.9 57.8 17.3C57.5 13.8 58.9 10.4 62.8 9.9C65.4 9.5 68.1 10.6 69 13.3L69 13.3L69 13.3C69.1 13.3 69.1 13.3 69.1 13.2C69.1 12.2 69.1 11.2 69.1 10.1L69.1 10.1L70.2 10.1L70.2 10.1C70.2 10.1 70.2 10.1 70.2 10.2C70.2 14.9 70.2 19.6 70.2 24.3C70.2 24.5 70.2 24.9 70 25.4C69.2 28.8 65.5 29.8 62.5 29C60.2 28.5 58.5 26.7 58.5 24.2L58.5 24.2L58.5 24.2L59.8 24.2C59.8 24.2 59.8 24.2 59.8 24.3C59.8 27.7 62.9 28.4 65.7 28C68 27.6 69 26.1 69 23.8C69 22.4 69 21 69 19.7ZM62.4 11.1C60.3 11.5 59.3 13.1 59.1 15.1C58.8 17.7 59.3 20.8 62.2 21.6C64.7 22.2 67.6 21.6 68.6 18.9C69 17.8 69 16.6 68.9 15.5C68.7 11.9 65.5 10.5 62.4 11.1Z\"\/><path class=\"b\" d=\"M101.5 10C104.1 10.7 105.7 12.8 105.7 15.5L105.7 15.5L105.7 15.5L104.5 15.5C104.5 15.5 104.4 15.5 104.4 15.5C104.5 12.2 102.1 10.7 99.1 11C95.2 11.5 94.4 15.5 94.9 18.7C95.3 21.5 97 23.3 99.9 23.2C101.8 23.2 103.5 22.5 104.2 20.6C104.4 20 104.4 19.4 104.5 18.7L104.5 18.7L105.7 18.7L105.7 18.7L105.7 18.7C105.7 19.1 105.7 19.5 105.6 19.8C105.2 22.4 103.3 24 100.7 24.4C98.6 24.6 96.5 23.9 95.2 22.3C93.8 20.6 93.4 18.4 93.5 16.3C93.7 13.5 95.3 10.8 98.1 10.1C99.2 9.7 100.3 9.7 101.5 10Z\"\/><path class=\"b\" d=\"M119.4 18.7C119.5 21.7 117.4 24 114.6 24.3C110.9 24.8 108.1 22.6 107.4 19.1C106.5 14.8 108.5 9.9 113.4 9.8C116.8 9.8 119.5 12.1 119.4 15.5L119.4 15.5L118.2 15.5C118.2 15.5 118.1 15.5 118.1 15.5C118.1 14.5 117.9 13.5 117.3 12.6C116.2 11.1 114.1 10.8 112.4 11.1C110.6 11.5 109.3 12.7 108.8 14.4C108.4 15.9 108.3 17.6 108.6 19C109.1 21.5 110.7 23.1 113.2 23.2C115.1 23.3 116.9 22.7 117.7 20.9C118 20.2 118.2 19.5 118.1 18.7L118.1 18.7L118.1 18.7C118.1 18.7 118.2 18.7 118.2 18.7L118.2 18.7L119.4 18.7L119.4 18.7Z\"\/><path class=\"b\" d=\"M55.8 9.8H54.6C54.6 9.8 54.6 9.9 54.6 9.9V24.1L54.6 24.1H55.8C55.8 24.1 55.9 24.1 55.9 24.1V9.9C55.9 9.9 55.8 9.8 55.8 9.8Z\"\/><path class=\"b\" d=\"M74.1 9.8H72.8C72.8 9.8 72.8 9.9 72.8 9.9V24.1L72.8 24.1H74.1L74.1 24.1V9.9C74.1 9.9 74.1 9.8 74.1 9.8Z\"\/><path class=\"b\" d=\"M122.6 9.9V24.1L122.6 24.1C122.6 24.1 122.5 24.1 122.5 24.1L121.3 24.1L121.3 24.1L121.3 24.1V9.9L121.3 9.9L121.3 9.8L122.5 9.8C122.5 9.8 122.6 9.8 122.6 9.9L122.6 9.9Z\"\/><path class=\"b\" d=\"M0.4 6.8C1.1 5 2.9 4.7 4.6 4.7C8.5 4.7 12.2 4.7 15.8 4.7L15.8 4.7L15.9 4.6L18.6 0.1C18.6 0.1 18.6 0 18.6 0C18.7 0 18.7 0 18.8 5.9e-06L21.8 0L21.8 0L21.8 0C21.8 0 21.9 0 21.9 0.1C21.9 0.1 21.8 0.1 21.8 0.1C17.9 6.6 14 13.1 10.1 19.6C9.6 20.4 9.3 20.9 9.2 21C7.1 24.2 3.8 26.6 0 27.2L0 27.2L0 27.2L0 27.1C0 27.1 6.5e-05 27.1 0 27.1C0 21.3 0 15.4 0 9.7C0 8.7 0.1 7.7 0.4 6.8ZM3.2 23C4.8 22.1 6 20.8 7 19.2C9.2 15.6 11.4 11.9 13.7 8.2C13.7 8 13.9 7.9 13.9 7.8C14 7.7 13.9 7.7 13.9 7.7C10.3 7.7 6.9 7.7 3.8 7.7C3.4 7.7 3 7.7 2.9 8.2C2.9 8.2 2.9 8.3 2.9 8.4C2.9 12.9 2.9 17.7 2.9 23.1L2.9 23.1L2.9 23.1L2.9 23.1C2.9 23.1 3 23.1 3 23.1C3 23.1 3.1 23 3.2 23Z\"\/><path class=\"g\" d=\"M11.7 29.8L9.1 34.3L9.1 34.3C9.1 34.3 9.1 34.3 9 34.3L5.8 34.4C5.8 34.4 5.8 34.3 5.8 34.3C8.4 30 11 25.6 13.6 21.3C13.9 20.8 14.2 20.4 14.5 19.9C15.6 18 16.8 16.1 17.9 14.1C20 10.7 23.5 8.1 27.5 7.4L27.5 7.4L27.5 7.4L27.5 7.4L27.5 7.4C27.5 12.8 27.5 18.2 27.5 23.7C27.5 24.9 27.5 26.1 27.3 27.3C27 28.4 26.4 29.2 25.3 29.5C24.4 29.8 23.5 29.8 22.6 29.8C18.7 29.8 15.1 29.8 11.8 29.8L11.8 29.8L11.7 29.8ZM13.9 26.3C13.7 26.6 13.6 26.8 13.6 26.9L13.6 26.9L13.6 26.9L13.6 26.9L13.6 26.9C13.6 26.9 17 26.9 23.8 26.9C24.3 26.9 24.6 26.8 24.6 26.3C24.6 21.2 24.6 16.3 24.6 11.6C24.6 11.6 24.6 11.6 24.6 11.5L24.6 11.5L24.6 11.5L24.6 11.5C22.9 12.4 21.5 13.8 20.5 15.4C19.6 16.8 18.4 18.9 16.9 21.5C15.9 23.1 14.9 24.6 13.9 26.3Z\"\/><\/svg><\/span><p class=\"dgv-more-cta-t dgv-grad\">A tool by DigiAcci\u00f3n<\/p><p class=\"dgv-txt\">DigiAcci\u00f3n is a digital marketing agency in La Massana, Andorra. We do web design, SEO, GEO, Google Ads and Meta Ads campaigns, video and graphic design for companies in Andorra, Spain and other countries.<\/p><a class=\"dgv-btn dgv-btn--pri\" href=\"https:\/\/www.digiaccion.com\/en\/#contacto\">Talk to DigiAcci\u00f3n<svg class=\"dgv-i dgv-arr\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><\/a><\/div><\/aside>\n<\/div>\n<\/section>\n<section class=\"dgv-sec dgv-rel dgt-more-tools\" aria-labelledby=\"dgt-tools-t\">\n<div class=\"dgv-wrap\">\n<div class=\"dgv-head dgv-head--c dgv-rel-head\" data-dgv-r><p class=\"dgv-h2 dgv-rel-h dgv-grad\" id=\"dgt-tools-t\">More free tools by DigiAcci\u00f3n<\/p><p class=\"dgv-intro\">Other free utilities for writing, designing and measuring, all with no sign-up.<\/p><\/div>\n<ul class=\"dgt-tools\" role=\"list\"><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d data-dgv-r style=\"--dgv-d:0.00s\"><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-i--f dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-quote\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/quotation-marks-symbols\/\">Quotation marks and writing symbols to copy<\/a><small class=\"dgt-tools-d\">Quotes, primes, apostrophes, dashes and typographic signs with their codes.<\/small><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d data-dgv-r style=\"--dgv-d:0.06s\"><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-kana\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/japanese-alphabet\/\">Japanese letters: hiragana, katakana and kanji<\/a><small class=\"dgt-tools-d\">The Japanese alphabet to copy and a romaji to Japanese converter.<\/small><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d data-dgv-r style=\"--dgv-d:0.12s\"><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-ruler\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/online-ruler-cm-mm\/\">Online ruler in cm and mm (actual size)<\/a><small class=\"dgt-tools-d\">Measure in centimeters and millimeters on your screen, with calibration.<\/small><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d data-dgv-r style=\"--dgv-d:0.00s\"><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-ruler\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/online-ruler-inches\/\">Online ruler in inches (actual size)<\/a><small class=\"dgt-tools-d\">Measure in inches and fractions of an inch at actual size.<\/small><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d data-dgv-r style=\"--dgv-d:0.06s\"><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-palette\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/html-color-codes\/\">HTML color codes chart: HEX and RGB<\/a><small class=\"dgt-tools-d\">Hundreds of organized colors, picker, converter and contrast checker.<\/small><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d data-dgv-r style=\"--dgv-d:0.12s\"><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-smile\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/emojis-copy-paste\/\">Emojis to copy and paste<\/a><small class=\"dgt-tools-d\">Nearly 1,900 emojis with search, skin tones and symbols for titles.<\/small><\/li><\/ul>\n<\/div>\n<\/section>\n<section class=\"dgv-sec dgv-final dgt-final\">\n<div class=\"dgv-fx\" aria-hidden=\"true\"><div class=\"dgv-beams dgv-beams--up\"><\/div><\/div>\n<div class=\"dgv-wrap\"><div class=\"dgv-final-card\" data-dgv-r><p class=\"dgv-final-t dgv-grad\">Looking for an agency that specializes in web design, SEO, GEO and AI?<\/p><p class=\"dgv-intro\">DigiAcci\u00f3n, a digital marketing agency in Andorra, works with companies in Andorra, Spain and other countries.<\/p><div class=\"dgv-ctas dgv-ctas--c\"><a class=\"dgv-btn dgv-btn--pri\" href=\"https:\/\/www.digiaccion.com\/en\/#contacto\">Contact DigiAcci\u00f3n<svg class=\"dgv-i dgv-arr\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><\/a><a class=\"dgv-btn dgv-btn--demo\" href=\"https:\/\/wa.me\/376372337\" target=\"_blank\" rel=\"noopener\"><svg class=\"dgv-i dgt-wa\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-whatsapp\"><\/use><\/svg>Message us on WhatsApp<span class=\"dgv-sr\"> (opens in a new tab)<\/span><\/a><\/div><p class=\"dgv-final-n\">Tool created by <a href=\"https:\/\/www.digiaccion.com\/en\/\">DigiAcci\u00f3n, a digital marketing agency in Andorra<\/a>.<\/p><\/div><\/div>\n<\/section>\n<section class=\"dgv-sec dgv-rel dgv-svc\" aria-labelledby=\"dgv-svc-t\">\n<div class=\"dgv-wrap\">\n<div class=\"dgv-head dgv-head--c dgv-rel-head\" data-dgv-r><p class=\"dgv-h2 dgv-rel-h dgv-grad\" id=\"dgv-svc-t\">Digital marketing services<\/p><p class=\"dgv-intro\">What we do at DigiAcci\u00f3n so your business gets seen, gets found and sells online.<\/p><\/div>\n<div class=\"dgv-rel-car dgv-svc-car\" data-dgv-r data-dgv-car>\n<ul class=\"dgv-rel-track dgv-svc-track\" id=\"dgv-svc-track\" role=\"list\"><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-bolt\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/\">Digital marketing agency in Andorra<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-layout\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-in-andorra\/\">Web design agency in Andorra<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-chart\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/seo-organic-positioning-agency-andorra\/\">SEO agency in Andorra<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-megaphone\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/google-ads-sem-agency-in-andorra\/\">Google Ads agency in Andorra<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-target\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/meta-ads-agency-facebook-ads-in-andorra\/\">Social Ads agency in Andorra<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-video\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/video-production-editing-agency-andorra\/\">Video production and editing agency in Andorra<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-sparkles\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/geo-agency-ai-chat-positioning-andorra\/\">GEO agency in Andorra<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-pen\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/graphic-design-agency-andorra\/\">Graphic design agency in Andorra<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-shop\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a dgv-rel-a--guion\" href=\"https:\/\/www.digiaccion.com\/en\/e-commerce-design-agency-andorra\/\">E-commerce agency in Andorra<\/a><\/li><\/ul>\n<div class=\"dgv-rel-nav\"><span class=\"dgv-rel-bar\" aria-hidden=\"true\"><i><\/i><\/span><span class=\"dgv-rel-btns\"><button class=\"dgv-rel-btn\" type=\"button\" data-dir=\"-1\" aria-controls=\"dgv-svc-track\" aria-label=\"Previous\"><svg class=\"dgv-i dgv-rel-prev\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><\/button><button class=\"dgv-rel-btn\" type=\"button\" data-dir=\"1\" aria-controls=\"dgv-svc-track\" aria-label=\"Next\"><svg class=\"dgv-i\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><\/button><\/span><\/div>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"dgv-sec dgv-rel\" aria-labelledby=\"dgv-rel-t\">\n<div class=\"dgv-fx\" aria-hidden=\"true\"><div class=\"dgv-rel-glow\"><\/div><\/div>\n<div class=\"dgv-wrap\">\n<div class=\"dgv-head dgv-head--c dgv-rel-head\" data-dgv-r><p class=\"dgv-h2 dgv-rel-h dgv-grad\" id=\"dgv-rel-t\">Web design by industry and marketing for lawyers<\/p><p class=\"dgv-intro\">Websites built for each type of business, with the content and SEO its industry needs.<\/p><\/div>\n<div class=\"dgv-rel-car\" data-dgv-r data-dgv-car>\n<ul class=\"dgv-rel-track\" id=\"dgv-rel-track\" role=\"list\"><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-briefcase\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-consulting-management-firms\/\">Web design for consulting and management firms<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-scale\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-lawyers-law-firms\/\">Web design for lawyers and law firms<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-megaphone\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/legal-marketing-agency-lawyers\/\">Digital marketing agency for lawyers<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-compass\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-architects-interior-designers\/\">Web design for architects and interior designers<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-food\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-restaurants-hospitality\/\">Web design for restaurants and hospitality<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-health\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-clinics-healthcare\/\">Web design for clinics and healthcare<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-home\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-real-estate\/\">Real estate website design<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-crane\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-construction-contractors\/\">Contractor website design<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-bed\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-hotels\/\">Hotel website design<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-mountain\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-vacation-rentals\/\">Vacation rental website design<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-wrench\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-auto-repair-shops\/\">Auto repair website design<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-paw\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-veterinary-clinics\/\">Veterinary website design<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-dumbbell\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-gyms-fitness\/\">Gym and fitness website design<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-cpu\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-it-companies\/\">Website design for IT companies<\/a><\/li><li class=\"dgv-rel-card dgv-glow\" data-dgv-3d><span class=\"dgv-edge\" aria-hidden=\"true\"><\/span><svg class=\"dgv-i dgv-rel-ic\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-hanger\"><\/use><\/svg><svg class=\"dgv-i dgv-rel-go\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><a class=\"dgv-rel-a\" href=\"https:\/\/www.digiaccion.com\/en\/web-design-agency-fashion-brands\/\">Fashion website design<\/a><\/li><\/ul>\n<div class=\"dgv-rel-nav\"><span class=\"dgv-rel-bar\" aria-hidden=\"true\"><i><\/i><\/span><span class=\"dgv-rel-btns\"><button class=\"dgv-rel-btn\" type=\"button\" data-dir=\"-1\" aria-controls=\"dgv-rel-track\" aria-label=\"Previous\"><svg class=\"dgv-i dgv-rel-prev\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><\/button><button class=\"dgv-rel-btn\" type=\"button\" data-dir=\"1\" aria-controls=\"dgv-rel-track\" aria-label=\"Next\"><svg class=\"dgv-i\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#dgv-i-arrow\"><\/use><\/svg><\/button><\/span><\/div>\n<\/div>\n<\/div>\n<\/section>\n<div class=\"dgt-toast\" data-dgt-toast role=\"status\" aria-live=\"polite\"><\/div>\n<\/div>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebApplication\",\"@id\":\"https:\/\/www.digiaccion.com\/en\/star-symbols\/#herramienta\",\"name\":\"Star Symbols and Star Emojis to Copy and Paste\",\"description\":\"Free tool by DigiAcci\u00f3n to copy star symbols and star emojis (\u2605 \u2606 \u2726 \u2b50), the half star \u2bea, asterisks, sparkles and combos, with a star rating generator that supports half stars.\",\"url\":\"https:\/\/www.digiaccion.com\/en\/star-symbols\/\",\"applicationCategory\":\"UtilitiesApplication\",\"operatingSystem\":\"Any\",\"browserRequirements\":\"Requires JavaScript\",\"inLanguage\":\"en-US\",\"isAccessibleForFree\":true,\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.digiaccion.com\/#organization\",\"name\":\"DigiAcci\u00f3n\",\"url\":\"https:\/\/www.digiaccion.com\/\"},\"publisher\":{\"@id\":\"https:\/\/www.digiaccion.com\/#organization\"},\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.digiaccion.com\/en\/star-symbols\/#webpage\"}},{\"@type\":\"FAQPage\",\"@id\":\"https:\/\/www.digiaccion.com\/en\/star-symbols\/#faq\",\"url\":\"https:\/\/www.digiaccion.com\/en\/star-symbols\/\",\"isPartOf\":{\"@id\":\"https:\/\/www.digiaccion.com\/en\/star-symbols\/#webpage\"},\"inLanguage\":\"en-US\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"How do you type a star symbol on a keyboard?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The text star \u2605 has no key of its own and no classic Alt code. On Windows, Windows + period opens the emoji panel; on a Mac, Control + Command + Space opens the Character Viewer; in Word for Windows, type 2605 and press Alt + X. The fastest option is to copy it here in one click and paste it with Ctrl + V.\"}},{\"@type\":\"Question\",\"name\":\"What does \u2b50 mean in text?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It\u2019s the star emoji (U+2B50), a yellow five-pointed star. People use it to highlight something, congratulate someone, mark favorites or give a rating. Unlike \u2605, it shows up in color and its design changes depending on the phone or computer.\"}},{\"@type\":\"Question\",\"name\":\"What does a star symbolize?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"In text, the star usually stands for excellence, quality or something worth highlighting, and in ratings each star is a point. The black star \u2605 (U+2605) is the Unicode text character for this, and its outline partner is the white star \u2606 (U+2606). Some stars carry their own meaning, such as the Star of David \u2721 in Judaism.\"}},{\"@type\":\"Question\",\"name\":\"What does \u2605\u2605\u2605 mean?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Three stars usually mean a 3 out of 5 rating, as in restaurant, hotel or app reviews. To avoid any doubt, add the empty ones: \u2605\u2605\u2605\u2606\u2606 makes it clear it\u2019s 3 out of 5. You can build the row with the rating generator on this page.\"}},{\"@type\":\"Question\",\"name\":\"How to write a star symbol in Word?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"In Word for Windows, type 2605 and press Alt + X to get \u2605, or 2606 for \u2606. You can also go to Insert, Symbol, More Symbols and enter 2605 as the character code with Unicode (hex) selected. If you only need one, copy it here and paste it with Ctrl + V.\"}},{\"@type\":\"Question\",\"name\":\"Is there a half star emoji?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. There\u2019s no half star among the emojis. What does exist are four text symbols added in Unicode 11 (2018): \u2bea (U+2BEA), the star with left half black used for ratings like 4.5 out of 5, \u2beb (U+2BEB), \u2be8 (U+2BE8) and \u2be9 (U+2BE9). They take the color of the text instead of showing up yellow like \u2b50, and you can copy them here in the five-pointed stars group.\"}},{\"@type\":\"Question\",\"name\":\"How do you write 4.5 stars out of 5?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Type four filled stars followed by the half star: \u2605\u2605\u2605\u2605\u2bea. The rating generator on this page builds it for you: with the \u2605 \u2606 style, the slider moves in half-star steps and its label shows the score, such as \u201c4.5 \/ 5\u201d. Adding the number, as in \u2605\u2605\u2605\u2605\u2bea (4.5 out of 5), keeps the rating clear on older devices that show the half star as a box.\"}},{\"@type\":\"Question\",\"name\":\"Where is the star emoji on iPhone?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Open the emoji keyboard, tap the search field and type \u201cstar\u201d to insert \u2b50. For the text star \u2605, create a text replacement in Settings, General, Keyboard, Text Replacement: for example, \u201cstr\u201d turns into \u2605.\"}},{\"@type\":\"Question\",\"name\":\"What is the alt code for the star symbol?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"\u2605 and \u2606 have no classic Alt code on Windows, because they aren\u2019t in the character tables those codes use. The asterisk does have one: Alt + 42 types *. For the star, use the emoji panel (Windows + period), Alt + X in Word or copy it here.\"}},{\"@type\":\"Question\",\"name\":\"What does the sparkles emoji \u2728 mean?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"\u2728 is the sparkles emoji (U+2728). It expresses excitement, magic or something new, and it\u2019s also used to emphasize a word by wrapping it in sparkles. On social media it\u2019s sometimes ironic, highlighting something that\u2019s nothing special.\"}},{\"@type\":\"Question\",\"name\":\"What does the star emoji mean in WhatsApp?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It depends on where you see it. The \u2b50 emoji in a message usually expresses admiration or that something is special. The app\u2019s star icon marks a starred message, which saves it to the starred messages list so you can find it later.\"}}]}]}<\/script>\n<script id=\"dgv-js\">\n\/* DigiAcci\u00f3n | P\u00e1ginas verticales | JS del bloque (nativo, sin librer\u00edas).\n   No se ejecuta en el constructor visual de Divi (body.et-fb o ?et_fb=1): all\u00ed todo queda desplegado y editable. *\/\n(function () {\n  var d = document, b = d.body;\n  if (!b || b.classList.contains('et-fb') || \/[?&](et_fb|et_pb_preview)=\/.test(location.search)) return;\n  var roots = d.querySelectorAll('.dgv[data-dgv]');\n  var RM = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  var FINE = window.matchMedia && window.matchMedia('(hover: hover) and (pointer: fine)').matches;\n  function each(list, fn) { Array.prototype.forEach.call(list, fn); }\n  each(roots, function (root) {\n    if (root.getAttribute('data-dgv-on')) return;\n    root.setAttribute('data-dgv-on', '1');\n    root.classList.add('dgv-js');\n    \/* 10. Nota y n\u00famero de rese\u00f1as de Google desde verticales.css (v11): :root{--dgv-google-nota;--dgv-google-resenas}.\n       Si cambian all\u00ed, se actualizan todas las menciones del bloque ([data-dgv-g]) sin volver a pegar el c\u00f3digo.\n       El HTML lleva el valor del d\u00eda en que se construy\u00f3 (es lo que se ve sin JS y lo que leen los buscadores). *\/\n    (function () {\n      var cs = getComputedStyle(d.documentElement);\n      function val(n) { return (cs.getPropertyValue(n) || '').trim().replace(\/^[\"']|[\"']$\/g, ''); }\n      var nota = val('--dgv-google-nota'), res = val('--dgv-google-resenas');\n      if (!\/^\\d([.,]\\d)?$\/.test(nota)) nota = '';\n      if (!\/^\\d{1,5}$\/.test(res)) res = '';\n      if (nota && \/^en\/i.test(root.getAttribute('lang') || '')) nota = nota.replace(',', '.');\n      if (nota) each(root.querySelectorAll('[data-dgv-g=\"nota\"]'), function (el) { if (el.textContent !== nota) el.textContent = nota; });\n      if (res) each(root.querySelectorAll('[data-dgv-g=\"resenas\"]'), function (el) { if (el.textContent !== res) el.textContent = res; });\n    })();\n    \/* 1. Aparici\u00f3n suave al entrar en pantalla *\/\n    var rv = root.querySelectorAll('[data-dgv-r]');\n    var late = window.performance && performance.now() > 4000; \/* script retrasado por un optimizador: sin animaci\u00f3n de entrada *\/\n    if (!RM && !late && 'IntersectionObserver' in window) {\n      var io = new IntersectionObserver(function (es) {\n        es.forEach(function (e) { if (e.isIntersecting) { e.target.classList.add('is-in'); io.unobserve(e.target); } });\n      }, { rootMargin: '0px 0px -6% 0px', threshold: 0.06 });\n      each(rv, function (el) { io.observe(el); });\n    } else { each(rv, function (el) { el.classList.add('is-in'); }); }\n    \/* 2. Preguntas frecuentes: botones con aria-expanded (rat\u00f3n y teclado) *\/\n    each(root.querySelectorAll('.dgv-faq-btn'), function (btn) {\n      btn.addEventListener('click', function () {\n        var item = btn.closest('.dgv-faq-item'), open = btn.getAttribute('aria-expanded') !== 'true';\n        btn.setAttribute('aria-expanded', open ? 'true' : 'false');\n        item.classList.toggle('is-open', open);\n      });\n    });\n    \/* 3. \"Leer m\u00e1s\": texto completo en el HTML, plegado con degradado *\/\n    var more = root.querySelector('[data-dgv-more]'), mb = root.querySelector('.dgv-more-btn');\n    if (more && mb) {\n      var lab = mb.querySelector('.dgv-more-lab');\n      var setMore = function (open, fromFocus) {\n        if (open === more.classList.contains('is-open')) return;\n        mb.setAttribute('aria-expanded', open ? 'true' : 'false');\n        if (lab) lab.textContent = mb.getAttribute(open ? 'data-less' : 'data-more');\n        if (open) {\n          more.style.maxHeight = more.scrollHeight + 'px';\n          more.classList.add('is-open');\n          var done = function () { more.style.maxHeight = 'none'; more.removeEventListener('transitionend', done); };\n          if (RM || fromFocus) done(); else more.addEventListener('transitionend', done);\n        } else {\n          more.style.maxHeight = more.scrollHeight + 'px';\n          void more.offsetHeight;\n          more.classList.remove('is-open');\n          more.style.maxHeight = '';\n          var card = more.closest('.dgv-more-card') || more;\n          var top = card.getBoundingClientRect().top;\n          if (top < 0) window.scrollTo({ top: window.pageYOffset + top - 110, behavior: RM ? 'auto' : 'smooth' });\n        }\n      };\n      mb.addEventListener('click', function () { setMore(mb.getAttribute('aria-expanded') !== 'true'); });\n      more.addEventListener('focusin', function () { setMore(true, true); });\n    }\n    \/* 4. Luz que sigue al cursor en las tarjetas con borde luminoso *\/\n    if (FINE && !RM) {\n      root.addEventListener('pointermove', function (e) {\n        var c = e.target.closest ? e.target.closest('.dgv-glow') : null;\n        if (!c) return;\n        var r = c.getBoundingClientRect();\n        c.style.setProperty('--dgv-mx', (e.clientX - r.left) + 'px');\n        c.style.setProperty('--dgv-my', (e.clientY - r.top) + 'px');\n      }, { passive: true });\n      \/* Inclinaci\u00f3n ligera de la ventana de la demo *\/\n      each(root.querySelectorAll('[data-dgv-tilt]'), function (w) {\n        w.addEventListener('pointermove', function (e) {\n          var r = w.getBoundingClientRect(), x = (e.clientX - r.left) \/ r.width - 0.5, y = (e.clientY - r.top) \/ r.height - 0.5;\n          w.style.setProperty('--dgv-ry', (x * 5).toFixed(2) + 'deg');\n          w.style.setProperty('--dgv-rx', (-y * 4).toFixed(2) + 'deg');\n        }, { passive: true });\n        w.addEventListener('pointerleave', function () { w.style.setProperty('--dgv-ry', '0deg'); w.style.setProperty('--dgv-rx', '0deg'); });\n      });\n    }\n    \/* 5. Frases de impacto: una diapositiva por frase a pantalla completa. La secci\u00f3n queda fijada (sticky en la CSS)\n       y la pista se desplaza en horizontal seg\u00fan el scroll vertical dentro de ella. Sin JS o con movimiento reducido,\n       la CSS deja las frases una debajo de otra. Cada diapositiva se queda quieta un tramo (HOLD) para que en reposo\n       no se vean dos a medias, y el paso de una a otra va suavizado. *\/\n    var hx = root.querySelector('[data-dgv-hx]');\n    var hxs = hx ? hx.querySelectorAll('.dgv-hx-slide') : [], hxn = hxs.length, hxp = hx && hx.querySelector('.dgv-hx-pin');\n    if (hx && hxp && hxn > 1 && !RM) {\n      hx.classList.add('is-hx');\n      var cnt = hx.querySelector('.dgv-hx-count'), HOLD = 0.22, hxTick = false, hxLive = false, hxCur = -1;\n      var clamp = function (v, a, z) { return v < a ? a : (v > z ? z : v); };\n      var ease = function (t) { return t * t * t * (t * (t * 6 - 15) + 10); };\n      var hxPaint = function () {\n        hxTick = false;\n        if (!hx.classList.contains('is-hx')) return;\n        var r = hx.getBoundingClientRect(), ph = hxp.offsetHeight, run = r.height - ph;\n        \/* Seguro: si algo de la p\u00e1gina rompe el sticky (overflow o transform en un ancestro), el pin no se queda\n           arriba dentro del recorrido; entonces se vuelve a las frases una debajo de otra. *\/\n        if (r.top < -40 && r.bottom > ph + 40 && Math.abs(hxp.getBoundingClientRect().top) > 4) {\n          hx.classList.remove('is-hx'); hxListen(false); return;\n        }\n        var p = run > 0 ? clamp(-r.top \/ run, 0, 1) : 0;\n        var s = p * (hxn - 1), k = Math.min(hxn - 2, Math.floor(s));\n        var x = k + ease(clamp((s - k - HOLD) \/ (1 - 2 * HOLD), 0, 1)), t = x \/ (hxn - 1) * 2;\n        hx.style.setProperty('--dgv-hx-x', x.toFixed(4));\n        hx.style.setProperty('--dgv-hx-p', p.toFixed(4));\n        hx.style.setProperty('--dgv-hx-bar', ((1 + x) \/ hxn).toFixed(4));\n        for (var j = 0; j < 3; j++) hx.style.setProperty('--dgv-hx-w' + j, Math.max(0, 1 - Math.abs(t - j)).toFixed(3));\n        each(hxs, function (sl, i) {\n          var o = clamp(i - x, -1, 1);\n          sl.style.setProperty('--dgv-hx-o', o.toFixed(4));\n          sl.style.setProperty('--dgv-hx-a', Math.abs(o).toFixed(4));\n        });\n        var cur = Math.round(x);\n        if (cur !== hxCur && cnt) { hxCur = cur; cnt.setAttribute('data-n', (cur < 9 ? '0' : '') + (cur + 1)); }\n      };\n      var hxOn = function () { if (!hxTick) { hxTick = true; window.requestAnimationFrame(hxPaint); } };\n      var hxListen = function (on) {\n        if (!hx.classList.contains('is-hx')) on = false;\n        if (on === hxLive) return;\n        hxLive = on;\n        window[on ? 'addEventListener' : 'removeEventListener']('scroll', hxOn, { passive: true });\n        window[on ? 'addEventListener' : 'removeEventListener']('resize', hxOn, { passive: true });\n        hxOn();\n      };\n      if ('IntersectionObserver' in window) {\n        new IntersectionObserver(function (es) { hxListen(es[es.length - 1].isIntersecting); }, { rootMargin: '25% 0px 25% 0px' }).observe(hx);\n      } else { hxListen(true); }\n      hxPaint();\n    }\n    \/* 6. Carruseles ([data-dgv-car]: servicios relacionados, servicios principales en m\u00f3vil y testimonios), cada uno por\n       separado. Scroll nativo (scroll-snap en la CSS: se desliza con el dedo, el trackpad o el teclado). Los botones pasan\n       una p\u00e1gina de tarjetas y quedan desactivados (aria-disabled, siguen enfocables) en cada extremo. Si todas las\n       tarjetas caben (o la CSS las pone en cuadr\u00edcula), .is-static y sin botones. Sin JS los botones no se ven y la pista\n       sigue siendo deslizable. *\/\n    each(root.querySelectorAll('[data-dgv-car]'), function (car) {\n      var tr = car.querySelector('.dgv-rel-track'), rb = car.querySelectorAll('.dgv-rel-btn');\n      if (!tr || rb.length < 2 || !tr.children.length) return;\n      var cards = tr.children, relTick = false;\n      var off = function (bt, v) { bt.setAttribute('aria-disabled', v ? 'true' : 'false'); };\n      var relPaint = function () {\n        relTick = false;\n        var max = tr.scrollWidth - tr.clientWidth, x = tr.scrollLeft;\n        car.classList.toggle('is-static', max <= 2);\n        off(rb[0], x <= 2); off(rb[1], x >= max - 2);\n        car.style.setProperty('--dgv-rel-w', (tr.clientWidth \/ tr.scrollWidth).toFixed(4));\n        car.style.setProperty('--dgv-rel-x', (tr.scrollWidth ? x \/ tr.scrollWidth : 0).toFixed(4));\n      };\n      var relOn = function () { if (!relTick) { relTick = true; window.requestAnimationFrame(relPaint); } };\n      each(rb, function (bt) {\n        bt.addEventListener('click', function () {\n          if (bt.getAttribute('aria-disabled') === 'true') return;\n          var cs = getComputedStyle(tr), pl = parseFloat(cs.paddingLeft) || 0, pr = parseFloat(cs.paddingRight) || 0;\n          var gap = parseFloat(cs.columnGap) || 0, tl = tr.getBoundingClientRect().left + pl;\n          var w = cards[0].getBoundingClientRect().width, n = cards.length, k = 0;\n          var per = Math.max(1, Math.floor((tr.clientWidth - pl - pr + gap + 2) \/ (w + gap)));\n          while (k < n - 1 && cards[k].getBoundingClientRect().left < tl - 2) k++;   \/* primera tarjeta visible entera *\/\n          var to = Math.max(0, Math.min(n - 1, k + (bt.getAttribute('data-dir') === '-1' ? -per : per)));\n          var max = tr.scrollWidth - tr.clientWidth;\n          var left = Math.max(0, Math.min(max, tr.scrollLeft + cards[to].getBoundingClientRect().left - tl));\n          tr.scrollTo({ left: left, behavior: RM ? 'auto' : 'smooth' });\n        });\n      });\n      tr.addEventListener('scroll', relOn, { passive: true });\n      window.addEventListener('resize', relOn, { passive: true });\n      if ('ResizeObserver' in window) new ResizeObserver(relOn).observe(tr);\n      relPaint();\n    });\n    \/* 8. Testimonios con el texto largo: las citas largas llevan en el HTML el texto completo y un bot\u00f3n oculto (hidden).\n       Si el texto pasa de 7 l\u00edneas (6 = --dgv-q-lines en la CSS, m\u00e1s una de margen) en el ancho actual, la tarjeta pasa a .is-clamp (texto\n       recortado con degradado) y se ense\u00f1a el bot\u00f3n \"+ Leer m\u00e1s\", que lo despliega en la propia tarjeta (aria-expanded y el\n       texto del bot\u00f3n cambian). Las tarjetas cerradas del carrusel tienen el mismo alto; al desplegar una, la pista pasa a\n       .has-open y fija el alto de las dem\u00e1s (--dgv-qh), as\u00ed solo crece la desplegada. Se recalcula al cambiar el ancho y al\n       cargar las fuentes. Sin JS: texto entero, sin bot\u00f3n. *\/\n    var qs = root.querySelectorAll('.dgv-quote'), qW = -1, qTick = false;\n    var qAfter = function (el, fn) {           \/* fin de la transici\u00f3n (o enseguida con movimiento reducido) *\/\n      var ok = false, go = function () { if (ok) return; ok = true; el.removeEventListener('transitionend', go); fn(); };\n      if (RM) { go(); return; }\n      el.addEventListener('transitionend', go); setTimeout(go, 800);\n    };\n    var qLock = function (tr) {                 \/* alto de las tarjetas cerradas, medido con las abiertas recortadas *\/\n      if (!tr || !tr.classList.contains('has-open')) return;\n      var open = tr.querySelectorAll('.dgv-quote.is-open');\n      each(open, function (f) { f.classList.add('is-measuring'); });\n      tr.classList.remove('has-open');\n      var h = tr.firstElementChild ? tr.firstElementChild.offsetHeight : 0;\n      tr.style.setProperty('--dgv-qh', h + 'px');\n      tr.classList.add('has-open');\n      each(open, function (f) { f.classList.remove('is-measuring'); });\n    };\n    var qFit = function () {\n      each(qs, function (fig) {\n        var bt = fig.querySelector('.dgv-q-more'), bq = fig.querySelector('.dgv-q-body');\n        if (!bt || !bq) return;\n        var cs = getComputedStyle(bq), lh = parseFloat(cs.lineHeight) || parseFloat(cs.fontSize) * 1.5;\n        var n = parseFloat(getComputedStyle(fig).getPropertyValue('--dgv-q-lines')) || 6;\n        var long = bq.scrollHeight > lh * (n + 1) + 4;   \/* con una sola l\u00ednea de m\u00e1s se lee entera: no se recorta *\/\n        if (long || fig.classList.contains('is-open')) { bt.hidden = false; fig.classList.add('is-clamp'); }\n        else { bt.hidden = true; fig.classList.remove('is-clamp'); }\n      });\n      each(root.querySelectorAll('.dgv-qcar-track.has-open'), qLock);\n    };\n    each(qs, function (fig) {\n      var bt = fig.querySelector('.dgv-q-more'), bq = fig.querySelector('.dgv-q-body');\n      if (!bt || !bq) return;\n      var lab = bt.querySelector('.dgv-q-lab');\n      bt.addEventListener('click', function () {\n        var open = bt.getAttribute('aria-expanded') !== 'true', tr = fig.closest('.dgv-qcar-track'), it = fig.parentNode;\n        bt.setAttribute('aria-expanded', open ? 'true' : 'false');\n        if (lab) lab.textContent = bt.getAttribute(open ? 'data-less' : 'data-more');\n        if (open) {\n          if (tr && !tr.classList.contains('has-open')) { tr.style.setProperty('--dgv-qh', it.offsetHeight + 'px'); tr.classList.add('has-open'); }\n          bq.style.maxHeight = bq.scrollHeight + 'px';\n          fig.classList.add('is-open');\n          qAfter(bq, function () { if (fig.classList.contains('is-open')) bq.style.maxHeight = 'none'; });\n        } else {\n          var top = fig.getBoundingClientRect().top;     \/* si la tarjeta empieza por encima de la pantalla, se vuelve a ella *\/\n          if (top < 80) window.scrollTo({ top: window.pageYOffset + top - 110, behavior: RM ? 'auto' : 'smooth' });\n          bq.style.maxHeight = bq.scrollHeight + 'px';\n          void bq.offsetHeight;\n          fig.classList.remove('is-open');\n          bq.style.maxHeight = '';\n          qAfter(bq, function () {\n            if (tr && !tr.querySelector('.dgv-quote.is-open')) { tr.classList.remove('has-open'); tr.style.removeProperty('--dgv-qh'); }\n          });\n        }\n      });\n    });\n    if (qs.length) {\n      var qOn = function () {\n        if (qTick) return; qTick = true;\n        window.requestAnimationFrame(function () { qTick = false; var w = root.clientWidth; if (w !== qW) { qW = w; qFit(); } });\n      };\n      window.addEventListener('resize', qOn, { passive: true });\n      if (d.fonts && d.fonts.ready) d.fonts.ready.then(function () { qW = -1; qOn(); });\n      qW = root.clientWidth; qFit();\n    }\n    \/* 9. Hablan de nosotros (v11): cinta de logos en movimiento continuo. Sin JS, en el constructor de Divi o con movimiento\n       reducido, los logos quedan quietos y centrados. Aqu\u00ed se duplica la lista (la copia, oculta a lectores de pantalla y sin\n       texto alternativo) para que el bucle no tenga cortes; la velocidad depende del ancho; se pausa al pasar el rat\u00f3n y\n       cuando la cinta est\u00e1 fuera de la pantalla. *\/\n    each(root.querySelectorAll('[data-dgv-press]'), function (mq) {\n      var ul = mq.querySelector('.dgv-press-list');\n      if (RM || !ul || mq.classList.contains('is-mq')) return;\n      var cp = ul.cloneNode(true);\n      cp.setAttribute('aria-hidden', 'true');\n      each(cp.querySelectorAll('img'), function (im) { im.setAttribute('alt', ''); });\n      each(ul.querySelectorAll('img'), function (im) { im.loading = 'eager'; });   \/* que no aparezcan de golpe al entrar en la cinta *\/\n      each(cp.querySelectorAll('img'), function (im) { im.loading = 'eager'; });\n      mq.appendChild(cp);\n      mq.classList.add('is-mq');\n      function speed() { mq.style.setProperty('--dgv-pd', Math.max(22, Math.round(ul.scrollWidth \/ 42)) + 's'); }\n      speed();\n      if ('ResizeObserver' in window) { new ResizeObserver(speed).observe(ul); }\n      if ('IntersectionObserver' in window) {\n        new IntersectionObserver(function (es) { es.forEach(function (e) { mq.classList.toggle('is-off', !e.isIntersecting); }); }).observe(mq);\n      }\n    });\n    \/* 7. Respaldo del formulario de contacto: el bloque no lleva formulario; debajo va la secci\u00f3n de contacto de Divi\n       con el formulario de cada idioma. Si en la p\u00e1gina NO hay ning\u00fan elemento con id=\"contacto\", los enlaces del bloque\n       a #contacto llevan al primer formulario visible que haya despu\u00e9s del bloque, con el mismo margen de cabecera que\n       las secciones (scroll-margin-top de .dgv-sec). Si existe #contacto no se toca nada; si no hay formulario, tampoco. *\/\n    root.addEventListener('click', function (e) {\n      var a = e.target.closest ? e.target.closest('a[href=\"#contacto\"]') : null;\n      if (!a || e.defaultPrevented || e.button || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) return;\n      if (d.getElementById('contacto')) return;\n      var fs = d.querySelectorAll('form'), f = null;\n      for (var k = 0; k < fs.length && !f; k++) {\n        if (!root.contains(fs[k]) && (root.compareDocumentPosition(fs[k]) & 4) && fs[k].getClientRects().length) f = fs[k];\n      }\n      if (!f) return;\n      e.preventDefault();\n      var sec = root.querySelector('.dgv-sec'), m = sec ? parseFloat(getComputedStyle(sec).scrollMarginTop) : NaN;\n      window.scrollTo({ top: Math.max(0, f.getBoundingClientRect().top + window.pageYOffset - (m >= 0 ? m : 100)), behavior: RM ? 'auto' : 'smooth' });\n      if (e.detail === 0) { \/* activado con teclado: el foco pasa al formulario, como har\u00eda el ancla *\/\n        if (!f.hasAttribute('tabindex')) f.setAttribute('tabindex', '-1');\n        try { f.focus({ preventScroll: true }); } catch (er) { \/* navegadores antiguos: sin foco *\/ }\n      }\n    });\n    \/* 11. Tarjetas clicables en 3D ([data-dgv-3d], v12). Con rat\u00f3n: se inclinan siguiendo al cursor. En pantallas t\u00e1ctiles:\n       la tarjeta que pasa por el centro de la pantalla se enciende (.is-focus) y al tocarla se hunde un poco (CSS :active). *\/\n    var c3 = root.querySelectorAll('[data-dgv-3d]');\n    if (c3.length && !RM) {\n      if (FINE) {\n        each(c3, function (c) {\n          var t = null, ex = 0, ey = 0;\n          var tilt = function () {\n            t = null;\n            var r = c.getBoundingClientRect(), x = (ex - r.left) \/ r.width - 0.5, y = (ey - r.top) \/ r.height - 0.5;\n            c.style.setProperty('--ry', (x * 9).toFixed(2) + 'deg');\n            c.style.setProperty('--rx', (-y * 7).toFixed(2) + 'deg');\n          };\n          c.addEventListener('pointerenter', function (e) { if (e.pointerType === 'mouse') c.classList.add('is-tilt'); });\n          c.addEventListener('pointermove', function (e) {\n            if (e.pointerType !== 'mouse') return;\n            ex = e.clientX; ey = e.clientY; if (!t) t = window.requestAnimationFrame(tilt);\n          }, { passive: true });\n          c.addEventListener('pointerleave', function () {\n            c.classList.remove('is-tilt'); c.style.removeProperty('--rx'); c.style.removeProperty('--ry');\n          });\n        });\n      } else if ('IntersectionObserver' in window) {\n        var io3 = new IntersectionObserver(function (es) {\n          es.forEach(function (e) { e.target.classList.toggle('is-focus', e.isIntersecting); });\n        }, { rootMargin: '-40% 0px -40% 0px' });\n        each(c3, function (c) { io3.observe(c); });\n      }\n    }\n    \/* 13. Ilustraciones en c\u00f3digo (.dgp-ill, v13): se animan solo mientras se ven (sin JS o sin IntersectionObserver, siempre). *\/\n    var ills = root.querySelectorAll('.dgp-ill');\n    if (ills.length) {\n      if ('IntersectionObserver' in window) {\n        var ioI = new IntersectionObserver(function (es) {\n          es.forEach(function (e) { e.target.classList.toggle('is-vis', e.isIntersecting); });\n        }, { rootMargin: '60px 0px 60px 0px' });\n        each(ills, function (el) { ioI.observe(el); });\n      } else { each(ills, function (el) { el.classList.add('is-vis'); }); }\n    }\n  });\n  \/* 12. Cursor de DigiAcci\u00f3n (v12): anillo de degradado que sigue a la flecha con un retraso suave; sobre enlaces y botones\n     crece y brilla, y al pulsar se encoge. Solo con rat\u00f3n y sin movimiento reducido. Una sola vez por p\u00e1gina: si ya lo ha\n     puesto el fragmento global de Divi (window.dgvCursor), no se repite. *\/\n  if (FINE && !RM && !window.dgvCursor) {\n    window.dgvCursor = 1;\n    var cur = d.createElement('div'), cx = -100, cy = -100, tx = -100, ty = -100, raf = 0;\n    cur.className = 'dgv-cur'; cur.setAttribute('aria-hidden', 'true'); b.appendChild(cur);\n    var HOT = 'a,button,[role=\"button\"],[role=\"tab\"],summary,label[for],select,.dgp-strat-row';\n    var loop = function () {\n      cx += (tx - cx) * 0.22; cy += (ty - cy) * 0.22;\n      cur.style.transform = 'translate3d(' + cx.toFixed(1) + 'px,' + cy.toFixed(1) + 'px,0)';\n      raf = (Math.abs(tx - cx) + Math.abs(ty - cy) > 0.2) ? window.requestAnimationFrame(loop) : 0;\n    };\n    d.addEventListener('pointermove', function (e) {\n      if (e.pointerType !== 'mouse') { cur.classList.remove('is-on'); return; }\n      tx = e.clientX; ty = e.clientY;\n      if (!cur.classList.contains('is-on')) { cx = tx; cy = ty; cur.classList.add('is-on'); }\n      var h = e.target && e.target.closest ? e.target.closest(HOT) : null;\n      cur.classList.toggle('is-big', !!h);\n      if (!raf) raf = window.requestAnimationFrame(loop);\n    }, { passive: true });\n    d.addEventListener('pointerdown', function () { cur.classList.add('is-press'); }, { passive: true });\n    d.addEventListener('pointerup', function () { cur.classList.remove('is-press'); }, { passive: true });\n    d.documentElement.addEventListener('mouseleave', function () { cur.classList.remove('is-on'); });\n    window.addEventListener('blur', function () { cur.classList.remove('is-on'); });\n  }\n})();\n\/* DigiAcci\u00f3n | Herramientas gratuitas (ra\u00edz .dgv.dgt): rejilla de s\u00edmbolos, conversor de romaji, valoraci\u00f3n con estrellas,\n   regla a tama\u00f1o real y colores. JS nativo, sin dependencias. Sin JS, todo el contenido se ve (las rejillas, los colores\n   y los textos est\u00e1n en el HTML); el JS a\u00f1ade copiar, buscar, filtrar, convertir y medir. *\/\n(function () {\n  'use strict';\n  var d = document;\n  function go() {\n    var root = d.querySelector('.dgv.dgt');\n    if (!root) return;\n    var b = d.body;\n    if (b && (b.classList.contains('et-fb') || \/[?&](et_fb|et_pb_preview)=\/.test(location.search))) return;\n    \/* Modo claro de entrada (.dgt-claro, solo en las herramientas): en cuanto el visitante usa el interruptor d\u00eda y noche\n       de la web, la herramienta sigue al interruptor como el resto de p\u00e1ginas. No guarda nada ni cambia la web. *\/\n    if (root.classList.contains('dgt-claro') && b && window.MutationObserver) {\n      var lm0 = b.classList.contains('diviui-light-mode');\n      var mo = new MutationObserver(function () { if (b.classList.contains('diviui-light-mode') !== lm0) { root.classList.remove('dgt-claro'); mo.disconnect(); } });\n      mo.observe(b, { attributes: true, attributeFilter: ['class'] });\n    }\n    var LANG = root.getAttribute('lang') || 'es';\n    var NUM = function (n, dec) { try { return n.toLocaleString(LANG === 'es' ? 'es-ES' : 'en-US', { maximumFractionDigits: dec, minimumFractionDigits: 0 }); } catch (e) { return String(Math.round(n * 100) \/ 100); } };\n    var toastEl = root.querySelector('[data-dgt-toast]'), tt = 0;\n    function toast(msg) {\n      if (!toastEl) return;\n      toastEl.textContent = msg; toastEl.classList.add('is-on');\n      clearTimeout(tt); tt = setTimeout(function () { toastEl.classList.remove('is-on'); }, 1600);\n    }\n    function copy(text) {\n      function fb() {\n        var ta = d.createElement('textarea'); ta.value = text; ta.setAttribute('readonly', '');\n        ta.style.cssText = 'position:fixed;top:0;left:0;opacity:0;pointer-events:none';\n        d.body.appendChild(ta); ta.select();\n        try { d.execCommand('copy'); } catch (e) { \/* nada *\/ }\n        d.body.removeChild(ta);\n      }\n      try {\n        if (navigator.clipboard && window.isSecureContext) { return navigator.clipboard.writeText(text).catch(fb); }\n      } catch (e) { \/* nada *\/ }\n      fb(); return Promise.resolve();\n    }\n    function cpStr(hex) { return hex.split('-').map(function (h) { return String.fromCodePoint(parseInt(h, 16)); }).join(''); }\n    function cps(s) { var o = []; for (var ch of s) o.push(ch.codePointAt(0).toString(16).toUpperCase()); return o; }\n    function norm(s) { return (s || '').toLowerCase().normalize('NFD').replace(\/[\u0300-\u036f]\/g, ''); }\n    function esc(s) { return String(s).replace(\/[&<>\"]\/g, function (c) { return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;' }[c]; }); }\n    function ui(el) { try { return JSON.parse(el.getAttribute('data-ui') || '{}'); } catch (e) { return {}; } }\n    function pad4(h) { return h.length < 4 ? ('0000' + h).slice(-4) : h; }\n    \/* ---------- Panel de detalle (\u00faltimo elemento copiado) ---------- *\/\n    function detailPanel(tool, U) {\n      var p = tool.querySelector('[data-dgt-detail]');\n      if (!p) return function () {};\n      var fg = p.querySelector('[data-f=\"g\"]'), fn = p.querySelector('[data-f=\"n\"]'), fs = p.querySelector('[data-f=\"s\"]'), ff = p.querySelector('[data-f=\"fmts\"]');\n      p.querySelector('[data-act=\"close-detail\"]').addEventListener('click', function () { p.hidden = true; });\n      d.addEventListener('keydown', function (e) { if (e.key === 'Escape') p.hidden = true; });\n      ff.addEventListener('click', function (e) {\n        var bt = e.target.closest('button[data-v]'); if (!bt) return;\n        copy(bt.getAttribute('data-v')); toast((U.copiado || 'Copied') + ': ' + bt.getAttribute('data-v'));\n      });\n      return function (glyph, name, fmts, color) {\n        fg.textContent = color ? '' : glyph;\n        if (color) fg.style.setProperty('--c', color); else fg.style.removeProperty('--c');\n        fn.textContent = name; fs.textContent = (U.copiado || 'Copied');\n        ff.innerHTML = fmts.filter(function (f) { return f && f[1]; }).map(function (f) {\n          return '<button type=\"button\" data-v=\"' + esc(f[1]) + '\"><b>' + esc(f[0]) + '<\/b><code>' + esc(f[2] || f[1]) + '<\/code><\/button>';\n        }).join('');\n        p.hidden = false;\n      };\n    }\n    \/* ---------- 1. Rejilla de s\u00edmbolos, emojis y kana ---------- *\/\n    Array.prototype.forEach.call(root.querySelectorAll('[data-dgt-grid]'), function (tool) {\n      var U = ui(tool), mode = tool.getAttribute('data-detalle');\n      var items = Array.prototype.slice.call(tool.querySelectorAll('.dgt-i'));\n      var groups = Array.prototype.slice.call(tool.querySelectorAll('.dgt-grp'));\n      var q = tool.querySelector('[data-dgt-q]'), empty = tool.querySelector('[data-dgt-empty]');\n      var tray = tool.querySelector('[data-dgt-tray]'), trayOut = tray && tray.querySelector('.dgt-tray-t');\n      var show = detailPanel(tool, U), tone = '', curG = '*';\n      var idx = items.map(function (el) {\n        var dc = el.getAttribute('data-c'), v = dc ? cpStr(dc) : el.textContent;\n        var g = el.querySelector('.dgt-g'); if (g && dc) g.textContent = v;\n        el._v = v; el._base = v;\n        return { el: el, hay: norm([el.getAttribute('aria-label'), el.getAttribute('data-k'), el.getAttribute('data-r'), v].join(' ')), grp: el.closest('.dgt-grp') };\n      });\n      function trayState() { if (tray) tray.classList.toggle('is-empty', !trayOut.textContent); }\n      trayState();\n      function withTone(v) {\n        if (!tone) return v;\n        var arr = Array.from(v.replace(\/\ufe0f\/g, ''));\n        arr.splice(1, 0, String.fromCodePoint(parseInt(tone, 16)));\n        return arr.join('');\n      }\n      function filter() {\n        var s = norm(q ? q.value.trim() : ''), any = false;\n        var terms = s ? s.split(\/\\s+\/) : [];\n        idx.forEach(function (o) {\n          var okG = curG === '*' || o.grp.getAttribute('data-g') === curG;\n          var okQ = !terms.length || terms.every(function (t) { return o.hay.indexOf(t) > -1; });\n          o.el.hidden = !(okG && okQ);\n        });\n        groups.forEach(function (g) {\n          var vis = false;\n          Array.prototype.forEach.call(g.querySelectorAll('.dgt-grid'), function (gr) {\n            var has = !!gr.querySelector('.dgt-i:not([hidden])');\n            gr.hidden = !has;\n            var prev = gr.previousElementSibling;\n            if (prev && prev.classList.contains('dgt-sh')) prev.hidden = !has;\n            vis = vis || has;\n          });\n          g.hidden = !vis; any = any || vis;\n        });\n        if (empty) empty.hidden = any;\n      }\n      var tq = 0;\n      if (q) q.addEventListener('input', function () { clearTimeout(tq); tq = setTimeout(filter, 110); });\n      Array.prototype.forEach.call(tool.querySelectorAll('.dgt-chips button'), function (bt, i, all) {\n        bt.addEventListener('click', function () {\n          Array.prototype.forEach.call(all, function (x) { x.classList.toggle('is-on', x === bt); });\n          curG = bt.getAttribute('data-g'); filter();\n          if (curG !== '*') { var t = tool.querySelector('.dgt-grp[data-g=\"' + curG + '\"]'); if (t && t.getBoundingClientRect().top < 0) t.scrollIntoView({ behavior: 'smooth', block: 'start' }); }\n        });\n      });\n      Array.prototype.forEach.call(tool.querySelectorAll('.dgt-tones button'), function (bt, i, all) {\n        bt.addEventListener('click', function () {\n          Array.prototype.forEach.call(all, function (x) { x.setAttribute('aria-checked', x === bt ? 'true' : 'false'); });\n          tone = bt.getAttribute('data-tone') || '';\n          idx.forEach(function (o) {\n            if (!o.el.hasAttribute('data-t')) return;\n            o.el._v = withTone(o.el._base);\n            var g = o.el.querySelector('.dgt-g') || o.el; g.textContent = o.el._v;\n          });\n        });\n      });\n      tool.addEventListener('click', function (e) {\n        var el = e.target.closest('.dgt-i'); if (!el) return;\n        var v = el._v || el.textContent;\n        copy(v);\n        el.classList.add('is-copied'); setTimeout(function () { el.classList.remove('is-copied'); }, 1200);\n        if (trayOut) { trayOut.textContent += v; trayState(); }\n        toast((U.copiado || 'Copied') + ': ' + v);\n        var c = cps(v), uni = c.map(function (h) { return 'U+' + pad4(h); }).join(' ');\n        var ent = el.getAttribute('data-e'), num = c.map(function (h) { return '&#x' + h + ';'; }).join('');\n        var css = c.map(function (h) { return '\\\\' + pad4(h); }).join(' ');\n        var js = c.map(function (h) { return h.length > 4 ? '\\\\u{' + h + '}' : '\\\\u' + pad4(h); }).join('');\n        var alt = el.getAttribute('data-a'), altS = '';\n        if (alt) altS = alt.split('|').map(function (a) { return 'Alt+' + a; }).join(' \/ ');\n        var f = [[U.f_simbolo || 'Symbol', v]];\n        if (mode === 'kana') f.push(['Romaji', el.getAttribute('data-r') || '']);\n        f.push(['Unicode', uni]);\n        if (ent) f.push(['HTML', '&' + ent + ';']);\n        f.push([ent ? 'HTML (n.)' : 'HTML', num]);\n        f.push(['CSS', css]);\n        f.push(['JavaScript', js]);\n        if (mode === 'simbolo') { try { f.push(['URL', encodeURIComponent(v)]); } catch (x) { \/* nada *\/ } }\n        if (altS) f.push(['Windows', altS.split(' \/ ').pop(), altS]);\n        show(v, el.getAttribute('aria-label') || '', f);\n      });\n      if (tray) tray.addEventListener('click', function (e) {\n        var a = e.target.closest('[data-act]'); if (!a) return;\n        if (a.getAttribute('data-act') === 'copy-tray' && trayOut.textContent) { copy(trayOut.textContent); toast((U.copiado || 'Copied') + ': ' + trayOut.textContent); }\n        if (a.getAttribute('data-act') === 'clear-tray') { trayOut.textContent = ''; trayState(); }\n      });\n      \/* Conversor de romaji a hiragana y katakana *\/\n      var rin = tool.querySelector('[data-dgt-rin]');\n      if (rin) {\n        var T = {}, base = {\n          a: '\u3042', i: '\u3044', u: '\u3046', e: '\u3048', o: '\u304a', ka: '\u304b', ki: '\u304d', ku: '\u304f', ke: '\u3051', ko: '\u3053', sa: '\u3055', si: '\u3057', shi: '\u3057', su: '\u3059', se: '\u305b', so: '\u305d',\n          ta: '\u305f', ti: '\u3061', chi: '\u3061', tu: '\u3064', tsu: '\u3064', te: '\u3066', to: '\u3068', na: '\u306a', ni: '\u306b', nu: '\u306c', ne: '\u306d', no: '\u306e',\n          ha: '\u306f', hi: '\u3072', hu: '\u3075', fu: '\u3075', he: '\u3078', ho: '\u307b', ma: '\u307e', mi: '\u307f', mu: '\u3080', me: '\u3081', mo: '\u3082', ya: '\u3084', yu: '\u3086', yo: '\u3088',\n          ra: '\u3089', ri: '\u308a', ru: '\u308b', re: '\u308c', ro: '\u308d', la: '\u3089', li: '\u308a', lu: '\u308b', le: '\u308c', lo: '\u308d', wa: '\u308f', wo: '\u3092',\n          ga: '\u304c', gi: '\u304e', gu: '\u3050', ge: '\u3052', go: '\u3054', za: '\u3056', zi: '\u3058', ji: '\u3058', zu: '\u305a', ze: '\u305c', zo: '\u305e', da: '\u3060', di: '\u3062', du: '\u3065', de: '\u3067', do: '\u3069',\n          ba: '\u3070', bi: '\u3073', bu: '\u3076', be: '\u3079', bo: '\u307c', pa: '\u3071', pi: '\u3074', pu: '\u3077', pe: '\u307a', po: '\u307d', vu: '\u3094',\n          kya: '\u304d\u3083', kyu: '\u304d\u3085', kyo: '\u304d\u3087', sha: '\u3057\u3083', shu: '\u3057\u3085', sho: '\u3057\u3087', sya: '\u3057\u3083', syu: '\u3057\u3085', syo: '\u3057\u3087', cha: '\u3061\u3083', chu: '\u3061\u3085', cho: '\u3061\u3087',\n          tya: '\u3061\u3083', tyu: '\u3061\u3085', tyo: '\u3061\u3087', nya: '\u306b\u3083', nyu: '\u306b\u3085', nyo: '\u306b\u3087', hya: '\u3072\u3083', hyu: '\u3072\u3085', hyo: '\u3072\u3087', mya: '\u307f\u3083', myu: '\u307f\u3085', myo: '\u307f\u3087',\n          rya: '\u308a\u3083', ryu: '\u308a\u3085', ryo: '\u308a\u3087', gya: '\u304e\u3083', gyu: '\u304e\u3085', gyo: '\u304e\u3087', ja: '\u3058\u3083', ju: '\u3058\u3085', jo: '\u3058\u3087', jya: '\u3058\u3083', jyu: '\u3058\u3085', jyo: '\u3058\u3087',\n          bya: '\u3073\u3083', byu: '\u3073\u3085', byo: '\u3073\u3087', pya: '\u3074\u3083', pyu: '\u3074\u3085', pyo: '\u3074\u3087',\n          fa: '\u3075\u3041', fi: '\u3075\u3043', fe: '\u3075\u3047', fo: '\u3075\u3049', she: '\u3057\u3047', je: '\u3058\u3047', che: '\u3061\u3047', thi: '\u3066\u3043', dhi: '\u3067\u3043', twu: '\u3068\u3045', dwu: '\u3069\u3045',\n          wi: '\u3046\u3043', we: '\u3046\u3047', va: '\u3094\u3041', vi: '\u3094\u3043', ve: '\u3094\u3047', vo: '\u3094\u3049', tsa: '\u3064\u3041', ye: '\u3044\u3047',\n          xa: '\u3041', xi: '\u3043', xu: '\u3045', xe: '\u3047', xo: '\u3049', xtu: '\u3063', xtsu: '\u3063', xya: '\u3083', xyu: '\u3085', xyo: '\u3087', '-': '\u30fc'\n        };\n        for (var k in base) T[k] = base[k];\n        var toKata = function (s) { return s.replace(\/[\u3041-\u3096]\/g, function (c) { return String.fromCharCode(c.charCodeAt(0) + 0x60); }); };\n        \/* Vocales largas (\u014d, \u00f4...): en hiragana se escriben con vocal (ou, aa, ii, uu, ee) y en katakana con la raya \u30fc.\n           Las tildes del espa\u00f1ol se quitan (\u00e1 > a) y la \u00f1 pasa a ny. *\/\n        var LV = { '\u0101': 'a', '\u00e2': 'a', '\u012b': 'i', '\u00ee': 'i', '\u016b': 'u', '\u00fb': 'u', '\u0113': 'e', '\u00ea': 'e', '\u014d': 'o', '\u00f4': 'o' }, HL = { a: 'a', i: 'i', u: 'u', e: 'e', o: 'u' };\n        var prep = function (src, kata) {\n          return src.toLowerCase().replace(\/[\u0101\u00e2\u012b\u00ee\u016b\u00fb\u0113\u00ea\u014d\u00f4]\/g, function (c) { var v = LV[c]; return v + (kata ? '-' : HL[v]); })\n            .replace(\/\u00f1\/g, 'ny').replace(\/[\u00e0-\u00ff]\/g, function (c) { return c.normalize ? c.normalize('NFD').charAt(0) : c; });\n        };\n        var conv = function (src) {\n          var s = src, out = '', i = 0;\n          while (i < s.length) {\n            var ch = s[i], nx = s[i + 1];\n            if (ch === 'n') {\n              if (nx === \"'\") { out += '\u3093'; i += 2; continue; }\n              if (nx === 'n') { out += '\u3093'; i += \/[aeiouy]\/.test(s[i + 2] || '') ? 1 : 2; continue; }\n              if (!nx || !\/[aeiouy]\/.test(nx)) { out += '\u3093'; i++; continue; }\n            }\n            if (nx && ch === nx && \/[bcdfghjklmpqrstvwxz]\/.test(ch) && ch !== 'n') { out += '\u3063'; i++; continue; }\n            if (ch === 't' && nx === 'c' && s[i + 2] === 'h') { out += '\u3063'; i++; continue; }\n            var hit = false;\n            for (var L = 4; L > 0; L--) { var part = s.substr(i, L); if (T[part]) { out += T[part]; i += L; hit = true; break; } }\n            if (!hit) { out += src[i]; i++; }\n          }\n          return out;\n        };\n        var rh = tool.querySelector('[data-dgt-rh]'), rk = tool.querySelector('[data-dgt-rk]');\n        var upd = function () { rh.textContent = conv(prep(rin.value, false)); rk.textContent = toKata(conv(prep(rin.value, true))); };\n        rin.addEventListener('input', upd);\n        if (!rin.value) rin.value = rin.getAttribute('placeholder') || ''; upd(); rin.value = '';\n      }\n      \/* Generador de valoraci\u00f3n con estrellas *\/\n      var rn = tool.querySelector('[data-dgt-rn]');\n      if (rn) {\n        var rmax = tool.querySelector('[data-dgt-rmax]'), rst = tool.querySelector('[data-dgt-rst]'), rout = tool.querySelector('[data-dgt-rout]');\n        var rv = tool.querySelector('[data-dgt-rv]'), half = rn.getAttribute('data-half');\n        var rate = function () {\n          var mx = parseInt(rmax.value, 10); rn.max = mx; if (+rn.value > mx) rn.value = mx;\n          var st = rst.value.split(','), full = cpStr(st[0]), emp = cpStr(st[1]);\n          var canHalf = !!half && st[0] === '2605';          \/* la media estrella solo existe para \u2605 \u2606 *\/\n          var v = parseFloat(rn.value); if (!canHalf) v = Math.floor(v);\n          rn.step = canHalf ? '0.5' : '1'; rn.value = v;\n          var n = Math.floor(v), h = canHalf && v - n >= 0.5 ? 1 : 0;\n          rout.textContent = new Array(n + 1).join(full) + (h ? cpStr(half) : '') + new Array(mx - n - h + 1).join(emp);\n          if (rv) rv.textContent = NUM(v, 1) + ' \/ ' + mx;\n        };\n        [rn, rmax, rst].forEach(function (x) { x.addEventListener('input', rate); x.addEventListener('change', rate); });\n        rate();\n      }\n      \/* Pesta\u00f1as del conversor de japon\u00e9s: nombre o palabra \/ desde romaji *\/\n      var jtabs = tool.querySelectorAll('[data-jm]');\n      Array.prototype.forEach.call(jtabs, function (bt) {\n        bt.addEventListener('click', function () {\n          Array.prototype.forEach.call(jtabs, function (x) { var on = x === bt; x.setAttribute('aria-selected', on ? 'true' : 'false'); x.tabIndex = on ? 0 : -1; });\n          Array.prototype.forEach.call(tool.querySelectorAll('[data-jp]'), function (pn) { pn.hidden = pn.getAttribute('data-jp') !== bt.getAttribute('data-jm'); });\n        });\n        bt.addEventListener('keydown', function (e) {\n          if (e.key !== 'ArrowRight' && e.key !== 'ArrowLeft') return;\n          var arr = Array.prototype.slice.call(jtabs), i = arr.indexOf(bt), nx = arr[(i + (e.key === 'ArrowRight' ? 1 : arr.length - 1)) % arr.length];\n          nx.focus(); nx.click(); e.preventDefault();\n        });\n      });\n      \/* Tu nombre en japon\u00e9s: katakana por c\u00f3mo suena (espa\u00f1ol; en la p\u00e1gina inglesa, con algunas reglas del ingl\u00e9s),\n         diccionario de nombres con su graf\u00eda habitual y traducci\u00f3n de palabras y frases comunes *\/\n      var nin = tool.querySelector('[data-dgt-nin]'), jd = tool.querySelector('[data-dgt-jdict]');\n      if (nin && jd) {\n        var J = {}; try { J = JSON.parse(jd.textContent); } catch (x) { J = { n: { es: {}, en: {} }, d: { es: {}, en: {} } }; }\n        var OTHER = LANG === 'es' ? 'en' : 'es';\n        var KV = {\n          '': ['\u30a2', '\u30a4', '\u30a6', '\u30a8', '\u30aa'], k: ['\u30ab', '\u30ad', '\u30af', '\u30b1', '\u30b3'], g: ['\u30ac', '\u30ae', '\u30b0', '\u30b2', '\u30b4'], s: ['\u30b5', '\u30b7', '\u30b9', '\u30bb', '\u30bd'],\n          z: ['\u30b6', '\u30b8', '\u30ba', '\u30bc', '\u30be'], t: ['\u30bf', '\u30c6\u30a3', '\u30c8\u30a5', '\u30c6', '\u30c8'], d: ['\u30c0', '\u30c7\u30a3', '\u30c9\u30a5', '\u30c7', '\u30c9'], n: ['\u30ca', '\u30cb', '\u30cc', '\u30cd', '\u30ce'],\n          h: ['\u30cf', '\u30d2', '\u30d5', '\u30d8', '\u30db'], b: ['\u30d0', '\u30d3', '\u30d6', '\u30d9', '\u30dc'], p: ['\u30d1', '\u30d4', '\u30d7', '\u30da', '\u30dd'], m: ['\u30de', '\u30df', '\u30e0', '\u30e1', '\u30e2'],\n          y: ['\u30e4', '\u30a4', '\u30e6', '\u30a4\u30a7', '\u30e8'], r: ['\u30e9', '\u30ea', '\u30eb', '\u30ec', '\u30ed'], w: ['\u30ef', '\u30a6\u30a3', '\u30a6', '\u30a6\u30a7', '\u30a6\u30a9'], f: ['\u30d5\u30a1', '\u30d5\u30a3', '\u30d5', '\u30d5\u30a7', '\u30d5\u30a9'],\n          ch: ['\u30c1\u30e3', '\u30c1', '\u30c1\u30e5', '\u30c1\u30a7', '\u30c1\u30e7'], ny: ['\u30cb\u30e3', '\u30cb', '\u30cb\u30e5', '\u30cb\u30a7', '\u30cb\u30e7'], sh: ['\u30b7\u30e3', '\u30b7', '\u30b7\u30e5', '\u30b7\u30a7', '\u30b7\u30e7'],\n          gw: ['\u30b0\u30a1', '\u30b0\u30a3', '\u30b0', '\u30b0\u30a7', '\u30b0\u30a9'], j: ['\u30b8\u30e3', '\u30b8', '\u30b8\u30e5', '\u30b8\u30a7', '\u30b8\u30e7'], kw: ['\u30af\u30a1', '\u30af\u30a3', '\u30af', '\u30af\u30a7', '\u30af\u30a9']\n        };\n        var CODA = { k: '\u30af', g: '\u30b0', s: '\u30b9', z: '\u30ba', t: '\u30c8', d: '\u30c9', h: '\u30d5', b: '\u30d6', p: '\u30d7', m: '\u30e0', r: '\u30eb', f: '\u30d5', ch: '\u30c1', sh: '\u30b7\u30e5', j: '\u30b8', w: '\u30a6', y: '\u30a4', ny: '\u30cb', gw: '\u30b0', kw: '\u30af' };\n        var VI = { a: 0, i: 1, u: 2, e: 3, o: 4 };\n        var isV = function (ch) { return !!ch && VI.hasOwnProperty(ch); };\n        var clean = function (w) {\n          return w.toLowerCase().replace(\/l\u00b7l\/g, 'l').replace(\/[\u00e1\u00e0\u00e2\u00e4]\/g, 'a').replace(\/[\u00e9\u00e8\u00ea\u00eb]\/g, 'e').replace(\/[\u00ed\u00ec\u00ee\u00ef]\/g, 'i').replace(\/[\u00f3\u00f2\u00f4\u00f6]\/g, 'o')\n            .replace(\/[\u00fa\u00f9\u00fb]\/g, 'u').replace(\/\u00e7\/g, 's').replace(\/[^a-z\u00f1\u00fc]\/g, '');\n        };\n        var phon = function (w, EN) {\n          if (EN) {   \/* algunas reglas del ingl\u00e9s: vocales largas, e final muda y j *\/\n            w = w.replace(\/ee|ea\/g, '\u012b').replace(\/oo\/g, '\u016b').replace(\/ph\/g, 'f').replace(\/ck\/g, 'kk').replace(\/wh\/g, 'w');\n            if (w.length > 3 && \/[^aeiouy]e$\/.test(w)) w = w.slice(0, -1);\n            w = w.replace(\/y$\/, '\u012b');\n          }\n          var out = '', i = 0, L = w.length;\n          while (i < L) {\n            var ch = w[i], nx = w[i + 1], c = null, adv = 1;\n            if (ch === '\u012b') { out += '\u30a4\u30fc'; i++; continue; }\n            if (ch === '\u016b') { out += '\u30a6\u30fc'; i++; continue; }\n            if (isV(ch)) { out += KV[''][VI[ch]]; i++; continue; }\n            if (ch === '\u00fc') { out += '\u30a6'; i++; continue; }\n            var two = w.substr(i, 2);\n            if (two === 'ch') { c = 'ch'; adv = 2; }\n            else if (two === 'll') { c = EN ? 'r' : 'y'; adv = 2; }\n            else if (two === 'rr') { c = 'r'; adv = 2; }\n            else if (two === 'sh') { c = 'sh'; adv = 2; }\n            else if (two === 'th') { c = EN ? 's' : 't'; adv = 2; }\n            else if (two === 'tx') { c = 'ch'; adv = 2; }\n            else if (two === 'qu') { if (\/[ei]\/.test(w[i + 2] || '')) { c = 'k'; adv = 2; } else { c = 'kw'; adv = 2; } }\n            else if (two === 'gu' && \/[ei]\/.test(w[i + 2] || '')) { c = 'g'; adv = 2; }\n            else if (two === 'g\u00fc') { c = 'gw'; adv = 2; }\n            else if (\/^(mm|bb|dd|gg|ff|zz|nn)$\/.test(two) && !(two === 'nn' && isV(w[i + 2]))) { i++; continue; }\n            else if (\/^(tt|ss|pp|kk|cc)$\/.test(two) && isV(w[i + 2]) && !(two === 'cc' && \/[eiy]\/.test(w[i + 2]))) { out += '\u30c3'; i++; continue; }\n            if (!c) {\n              switch (ch) {\n                case 'c': c = \/[eiy]\/.test(nx || '') ? 's' : 'k'; break;\n                case 'g': c = \/[eiy]\/.test(nx || '') ? (EN ? 'j' : 'h') : 'g'; break;\n                case 'j': c = EN ? 'j' : 'h'; break;\n                case 'z': c = EN ? 'z' : 's'; break;\n                case 'v': c = 'b'; break;\n                case 'q': c = 'k'; break;\n                case 'h': if (EN && isV(nx)) { c = 'h'; break; } i++; continue;\n                case '\u00f1': c = 'ny'; break;\n                case 'x': if (isV(nx)) { out += '\u30af'; c = 's'; } else { out += '\u30af\u30b9'; i++; continue; } break;\n                case 'y': if (isV(nx)) { c = 'y'; } else { out += EN && i === L - 1 ? '\u30a4\u30fc' : '\u30a4'; i++; continue; } break;\n                default: c = ch;\n              }\n            }\n            if (c === 'l') c = 'r';\n            var v = w[i + adv];\n            if (v === '\u012b' || v === '\u016b') { out += KV[c] ? KV[c][v === '\u012b' ? 1 : 2] + '\u30fc' : ''; i += adv + 1; continue; }\n            if (isV(v) && KV[c]) {\n              out += (c === 'y' && v === 'i') ? '\u30a4' : (c === 'w' && v === 'u') ? '\u30a6' : KV[c][VI[v]];\n              i += adv + 1; continue;\n            }\n            if (c === 'n') out += '\u30f3';\n            else if (c === 'm' && \/[bp]\/.test(w[i + adv] || '')) out += '\u30f3';\n            else if (c === 'l') out += '\u30eb';\n            else out += CODA[c] || '';\n            i += adv;\n          }\n          return out;\n        };\n        var ROM = {};   \/* lectura en romaji de lo que sale en katakana *\/\n        Object.keys(KV).forEach(function (cl) {\n          var base = { '': ['a', 'i', 'u', 'e', 'o'], k: ['ka', 'ki', 'ku', 'ke', 'ko'], g: ['ga', 'gi', 'gu', 'ge', 'go'], s: ['sa', 'shi', 'su', 'se', 'so'], z: ['za', 'ji', 'zu', 'ze', 'zo'], t: ['ta', 'ti', 'tu', 'te', 'to'], d: ['da', 'di', 'du', 'de', 'do'], n: ['na', 'ni', 'nu', 'ne', 'no'], h: ['ha', 'hi', 'fu', 'he', 'ho'], b: ['ba', 'bi', 'bu', 'be', 'bo'], p: ['pa', 'pi', 'pu', 'pe', 'po'], m: ['ma', 'mi', 'mu', 'me', 'mo'], y: ['ya', 'i', 'yu', 'ye', 'yo'], r: ['ra', 'ri', 'ru', 're', 'ro'], w: ['wa', 'wi', 'u', 'we', 'wo'], f: ['fa', 'fi', 'fu', 'fe', 'fo'], ch: ['cha', 'chi', 'chu', 'che', 'cho'], ny: ['nya', 'ni', 'nyu', 'nye', 'nyo'], sh: ['sha', 'shi', 'shu', 'she', 'sho'], gw: ['gwa', 'gwi', 'gu', 'gwe', 'gwo'], j: ['ja', 'ji', 'ju', 'je', 'jo'], kw: ['kwa', 'kwi', 'ku', 'kwe', 'kwo'] }[cl];\n          KV[cl].forEach(function (kk, ix) { if (!ROM[kk]) ROM[kk] = base[ix]; });\n        });\n        '\u30c4:tsu,\u30c5:zu,\u30c2:ji,\u30f2:wo,\u30f4:vu,\u30f3:n,\u30fc:-,\u30b8:ji,\u30c1:chi,\u30b7:shi,\u30d5:fu,\u30be:zo,\u30ba:zu'.split(',').forEach(function (p) { var q = p.split(':'); ROM[q[0]] = q[1]; });\n        var reading = function (k) {\n          var o = '', i = 0;\n          while (i < k.length) {\n            var two = k.substr(i, 2), one = k[i];\n            if (one === '\u30c3') { var nxr = ROM[k.substr(i + 1, 2)] || ROM[k[i + 1]] || ''; o += nxr.charAt(0); i++; continue; }\n            if (one === '\u30fb') { o += ' '; i++; continue; }\n            if (one === '\u30fc') { var lv = o.slice(-1); o += \/[aeiou]\/.test(lv) ? lv : ''; i++; continue; }\n            if (ROM[two]) { o += ROM[two]; i += 2; continue; }\n            o += ROM[one] || one; i++;\n          }\n          return o;\n        };\n        var nk = tool.querySelector('[data-dgt-nk]'), ntr = tool.querySelector('[data-dgt-ntr]'), nt = tool.querySelector('[data-dgt-nt]');\n        var nl = tool.querySelector('[data-dgt-nl]'), nm = tool.querySelector('[data-dgt-nm]');\n        var key = function (s) { return norm(s).replace(\/[\u00bf?\u00a1!.,;:'\u2019\"]\/g, '').replace(\/\\s+\/g, ' ').trim(); };\n        var nupd = function () {\n          var raw = nin.value.trim() || nin.getAttribute('placeholder') || '';\n          var words = raw.split(\/[\\s\\-]+\/).filter(Boolean), dic = true;\n          var kat = words.map(function (wd) {\n            var w = clean(wd); if (!w) return '';\n            var k = (J.n[LANG] || {})[w] || (J.n[OTHER] || {})[w];\n            if (k) return k;\n            dic = false; return phon(w, LANG === 'en' && !\/[\u00e1\u00e9\u00ed\u00f3\u00fa\u00f1\u00fc]\/i.test(wd));   \/* con tilde o \u00f1, se lee en espa\u00f1ol *\/\n          }).filter(Boolean).join('\u30fb');\n          nk.textContent = kat;\n          nl.textContent = reading(kat);\n          var hit = (J.d[LANG] || {})[key(raw)] || (J.d[OTHER] || {})[key(raw)];\n          if (hit && hit.length) {\n            ntr.hidden = false; nt.textContent = hit[0][0];\n            nm.textContent = hit.map(function (h) { return h[0] + ' (' + h[1] + '): ' + h[2]; }).join('. ');\n          } else {\n            ntr.hidden = true; nt.textContent = '';\n            nm.textContent = (dic ? (U.jn_dic || '') : (U.jn_aprox || ''));\n          }\n        };\n        var nt0 = 0; nin.addEventListener('input', function () { clearTimeout(nt0); nt0 = setTimeout(nupd, 60); });\n        nupd();\n      }\n      \/* Conversor de comillas: rectas a latinas \u00ab \u00bb (orden de la RAE: \u00ab \u201c \u2018 \u2019 \u201d \u00bb) o inglesas \u201c \u201d (\u201c \u2018 \u2019 \u201d) *\/\n      var qin = tool.querySelector('[data-qc-in]');\n      if (qin) {\n        var qout = tool.querySelector('[data-dgt-qcout]'), qap = tool.querySelector('[data-qc-ap]'), qs0 = tool.querySelector('[data-qs][aria-checked=\"true\"]'), qstyle = qs0 ? qs0.getAttribute('data-qs') : 'lat';\n        var LEV = { lat: [['\u00ab', '\u00bb'], ['\u201c', '\u201d'], ['\u2018', '\u2019']], ing: [['\u201c', '\u201d'], ['\u2018', '\u2019'], ['\u201c', '\u201d']] };\n        var DQ = '\"\u00ab\u00bb\u201c\u201d\u201e\u201f\u275d\u275e', SQ = \"'\u2018\u2019\u201a\u201b\";\n        var isL = function (ch) { return !!ch && \/[0-9A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u00ff\u0100-\u017e]\/.test(ch); };\n        var qconv = function (t, st, ap) {\n          if (st === 'rect') return t.replace(\/[\u00ab\u00bb\u201c\u201d\u201e\u201f\u275d\u275e]\/g, '\"').replace(\/[\u2018\u2019\u201a\u201b]\/g, \"'\");\n          var out = '', stack = [], lastQ = null;   \/* lastQ: si el car\u00e1cter anterior era una comilla, si abr\u00eda (true) o cerraba (false) *\/\n          for (var i = 0; i < t.length; i++) {\n            var ch = t[i], pv = t[i - 1], nx = t[i + 1];\n            var dq = DQ.indexOf(ch) > -1, sq = SQ.indexOf(ch) > -1;\n            if (!dq && !sq) { out += ch; lastQ = null; continue; }\n            if ((ch === \"'\" || ch === '\"') && \/[0-9]\/.test(pv || '') && !\/[A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u00ff]\/.test(nx || '') && !stack.some(function (x) { return x.t === (dq ? 'd' : 's'); })) {\n              out += dq ? '\u2033' : '\u2032'; lastQ = null; continue;                                          \/* medidas tras un n\u00famero: 5' 11\" a primas 5\u2032 11\u2033 *\/\n            }\n            if (sq && isL(pv) && isL(nx)) { out += ap ? '\u2019' : ch; lastQ = null; continue; }         \/* ap\u00f3strofo entre letras: it's, l'amour *\/\n            if (sq && isL(pv) && !stack.some(function (x) { return x.t === 's'; })) { out += ap ? '\u2019' : ch; lastQ = null; continue; }  \/* ap\u00f3strofo final *\/\n            var opening = ch === '\u00ab' || ch === '\u201c' || ch === '\u2018' || ch === '\u201e' || ch === '\u201a' ? true : ch === '\u00bb' || ch === '\u201d' || ch === '\u2019' ? false\n              : lastQ !== null ? lastQ : (!pv || \/[\\s(\\[{\u00bf\u00a1\u2014\u2013\\-\\\/:]\/.test(pv));\n            var type = dq ? 'd' : 's';\n            if (!opening && stack.length) {\n              var top = stack[stack.length - 1];\n              if (top.t !== type) { var j = stack.length - 1; while (j >= 0 && stack[j].t !== type) j--; if (j >= 0) { while (stack.length > j + 1) { stack.pop(); } } }\n            }\n            if (opening) { var lv = Math.min(stack.length, 2); stack.push({ t: type, l: lv }); out += LEV[st][lv][0]; }\n            else if (stack.length) { var o = stack.pop(); out += LEV[st][o.l][1]; }\n            else { out += LEV[st][0][1]; }\n            lastQ = opening;\n          }\n          return out;\n        };\n        var qupd = function () { qout.textContent = qconv(qin.value || qin.getAttribute('placeholder') || '', qstyle, !qap || qap.checked); };\n        qin.addEventListener('input', qupd); if (qap) qap.addEventListener('change', qupd);\n        Array.prototype.forEach.call(tool.querySelectorAll('[data-qs]'), function (bt, i, all) {\n          bt.addEventListener('click', function () { qstyle = bt.getAttribute('data-qs'); Array.prototype.forEach.call(all, function (x) { x.setAttribute('aria-checked', x === bt ? 'true' : 'false'); }); qupd(); });\n        });\n        qupd();\n      }\n      tool.addEventListener('click', function (e) {\n        var a = e.target.closest('[data-act=\"copy-out\"]'); if (!a) return;\n        var o = tool.querySelector('[data-dgt-' + a.getAttribute('data-src') + ']');\n        if (o && o.textContent) { copy(o.textContent); toast((U.copiado || 'Copied') + ': ' + o.textContent); }\n      });\n    });\n    \/* ---------- 2. Regla a tama\u00f1o real ---------- *\/\n    Array.prototype.forEach.call(root.querySelectorAll('[data-dgt-ruler]'), function (tool) {\n      var U = ui(tool), KEY = 'dgt-ppm', DEF = 96 \/ 25.4;\n      var box = tool.querySelector('[data-dgt-rbox]'), cv = tool.querySelector('[data-dgt-canvas]'), mark = tool.querySelector('[data-dgt-mark]');\n      var read = tool.querySelector('[data-dgt-read]'), state = tool.querySelector('[data-dgt-state]'), cal = tool.querySelector('[data-dgt-cal]');\n      var slider = tool.querySelector('[data-dgt-ppm]'), card = tool.querySelector('[data-dgt-card]'), diag = tool.querySelector('[data-dgt-diag]');\n      var unit = tool.getAttribute('data-unit') || 'cm', X0 = 16, pos = 0, saved = null;\n      try { saved = parseFloat(localStorage.getItem(KEY)); } catch (e) { saved = null; }\n      var ppm = saved && saved > 1 && saved < 20 ? saved : DEF;\n      function setState() {\n        var eq = NUM(unit === 'in' ? ppm * 25.4 : ppm * 10, 1);\n        state.innerHTML = saved ? '<b>' + esc(U.calibrada || '') + '<\/b> ' + esc((U.equiv || '1 {u} = {px} px').replace('{u}', unit === 'in' ? 'in' : 'cm').replace('{px}', eq)) : esc(U.sin_calibrar || '');\n      }\n      function fracIn(inches) {\n        var whole = Math.floor(inches), rest = Math.round((inches - whole) * 16), den = 16;\n        if (rest === 16) { whole++; rest = 0; }\n        while (rest && rest % 2 === 0) { rest \/= 2; den \/= 2; }\n        return (whole || !rest ? whole : '') + (rest ? (whole ? ' ' : '') + rest + '\/' + den : '') + ' in';\n      }\n      function readout() {\n        var mm = Math.max(0, pos) \/ ppm;\n        if (unit === 'cm') read.textContent = NUM(mm \/ 10, 2) + ' cm (' + NUM(mm, 1) + ' mm)';\n        else { var fr = fracIn(mm \/ 25.4); read.textContent = fr.indexOf('\/') > -1 ? fr + ' (' + NUM(mm \/ 25.4, 2) + ' in)' : fr; }\n        mark.setAttribute('aria-valuenow', String(Math.round(mm * 10) \/ 10)); mark.setAttribute('aria-valuetext', read.textContent);\n      }\n      function draw() {\n        var w = box.clientWidth, h = box.clientHeight, dpr = window.devicePixelRatio || 1;\n        cv.width = Math.round(w * dpr); cv.height = Math.round(h * dpr);\n        var c = cv.getContext('2d'); c.setTransform(dpr, 0, 0, dpr, 0, 0); c.clearRect(0, 0, w, h);\n        c.strokeStyle = '#16161d'; c.fillStyle = '#16161d'; c.lineWidth = 1; c.textBaseline = 'top';\n        var font = '600 13px Inter Tight, system-ui, sans-serif', small = '500 11px Inter Tight, system-ui, sans-serif';\n        function line(x, y1, y2) { var xx = Math.round(x) + 0.5; c.beginPath(); c.moveTo(xx, y1); c.lineTo(xx, y2); c.stroke(); }\n        var primary = unit, secondary = unit === 'cm' ? 'in' : 'cm';\n        [[primary, 0, 1], [secondary, h, -1]].forEach(function (cfg) {\n          var u = cfg[0], y0 = cfg[1], dir = cfg[2], isP = u === primary;\n          var sc = isP ? 1 : 0.62;\n          if (u === 'cm') {\n            for (var mm = 0; X0 + mm * ppm <= w; mm++) {\n              var x = X0 + mm * ppm, len = mm % 10 === 0 ? 40 : (mm % 5 === 0 ? 26 : 15);\n              line(x, y0, y0 + dir * len * sc);\n              if (mm % 10 === 0 && x < w - 40) { c.font = isP ? font : small; var t = String(mm \/ 10); var tw = c.measureText(t).width; c.fillText(t, mm === 0 ? x + 3 : x - tw \/ 2, dir > 0 ? y0 + 44 * sc : y0 - 44 * sc - 12); }\n            }\n            c.font = small; c.fillText('cm', w - 26, dir > 0 ? y0 + 46 * sc + (isP ? 0 : 0) : y0 - 46 * sc - 12);\n          } else {\n            var ppi = ppm * 25.4;\n            for (var s = 0; X0 + s * ppi \/ 16 <= w; s++) {\n              var xi = X0 + s * ppi \/ 16, L = s % 16 === 0 ? 40 : (s % 8 === 0 ? 30 : (s % 4 === 0 ? 22 : (s % 2 === 0 ? 15 : 9)));\n              line(xi, y0, y0 + dir * L * sc);\n              if (s % 16 === 0 && xi < w - 34) { c.font = isP ? font : small; var ti = String(s \/ 16); var twi = c.measureText(ti).width; c.fillText(ti, s === 0 ? xi + 3 : xi - twi \/ 2, dir > 0 ? y0 + 44 * sc : y0 - 44 * sc - 12); }\n            }\n            c.font = small; c.fillText('in', w - 20, dir > 0 ? y0 + 46 * sc : y0 - 46 * sc - 12);\n          }\n        });\n        mark.style.left = (X0 + pos) + 'px'; readout(); drawFixed();\n      }\n      \/* Reglas fijas (25, 20, 15, 10 y 5 cm o 12, 6, 4, 3, 2 y 1 in), con la misma calibraci\u00f3n *\/\n      var fcs = tool.querySelectorAll('[data-dgt-fc]'), U0 = tool.getAttribute('data-unit') || 'cm';\n      function drawFixed() {\n        Array.prototype.forEach.call(fcs, function (fc) {\n          var n = parseFloat(fc.getAttribute('data-n')), per = U0 === 'cm' ? ppm * 10 : ppm * 25.4, sub = U0 === 'cm' ? 10 : 16;\n          var w = Math.ceil(X0 + n * per + 34), h = 74, dpr = window.devicePixelRatio || 1;\n          fc.style.width = w + 'px'; fc.style.height = h + 'px'; fc.width = Math.round(w * dpr); fc.height = Math.round(h * dpr);\n          var c = fc.getContext('2d'); c.setTransform(dpr, 0, 0, dpr, 0, 0); c.clearRect(0, 0, w, h);\n          c.fillStyle = 'rgba(91,74,224,.10)'; c.fillRect(X0, 0, n * per, h);\n          c.strokeStyle = '#16161d'; c.fillStyle = '#16161d'; c.lineWidth = 1; c.textBaseline = 'top';\n          for (var k = 0; k <= n * sub; k++) {\n            var x = Math.round(X0 + k * per \/ sub) + 0.5, L;\n            if (U0 === 'cm') L = k % 10 === 0 ? 34 : (k % 5 === 0 ? 22 : 13);\n            else L = k % 16 === 0 ? 34 : (k % 8 === 0 ? 25 : (k % 4 === 0 ? 18 : (k % 2 === 0 ? 12 : 8)));\n            c.beginPath(); c.moveTo(x, 0); c.lineTo(x, L); c.stroke();\n            if (k % sub === 0) { c.font = '600 12px Inter Tight, system-ui, sans-serif'; var t = String(k \/ sub), tw = c.measureText(t).width; c.fillText(t, k === 0 ? x + 3 : x - tw \/ 2, 38); }\n          }\n          c.strokeStyle = '#e11d48'; c.lineWidth = 2;\n          [X0, X0 + n * per].forEach(function (xx) { c.beginPath(); c.moveTo(Math.round(xx) + 0.5, 0); c.lineTo(Math.round(xx) + 0.5, h); c.stroke(); });\n          c.font = '600 12px Inter Tight, system-ui, sans-serif'; c.fillStyle = '#e11d48';\n          var lab = NUM(n, 1) + ' ' + U0; c.fillText(lab, X0 + n * per - c.measureText(lab).width - 6, h - 17);\n        });\n      }\n      function setPos(px) { pos = Math.max(0, Math.min(px, box.clientWidth - X0 - 2)); mark.style.left = (X0 + pos) + 'px'; readout(); }\n      function fromEvent(e) { var r = box.getBoundingClientRect(); setPos((e.touches ? e.touches[0].clientX : e.clientX) - r.left - X0); }\n      var dragging = false;\n      mark.addEventListener('pointerdown', function (e) { dragging = true; try { mark.setPointerCapture(e.pointerId); } catch (x) { \/* nada *\/ } e.preventDefault(); });\n      mark.addEventListener('pointermove', function (e) { if (dragging) fromEvent(e); });\n      mark.addEventListener('pointerup', function () { dragging = false; });\n      box.addEventListener('click', function (e) { if (e.target === mark || mark.contains(e.target)) return; fromEvent(e); });\n      mark.addEventListener('keydown', function (e) {\n        var step = unit === 'cm' ? ppm : ppm * 25.4 \/ 16, big = unit === 'cm' ? ppm * 10 : ppm * 25.4;\n        if (e.key === 'ArrowRight' || e.key === 'ArrowUp') { setPos(pos + (e.shiftKey ? big : step)); e.preventDefault(); }\n        if (e.key === 'ArrowLeft' || e.key === 'ArrowDown') { setPos(pos - (e.shiftKey ? big : step)); e.preventDefault(); }\n        if (e.key === 'Home') { setPos(0); e.preventDefault(); }\n      });\n      \/* Ir a una medida: coloca el marcador en la medida escrita *\/\n      var gin = tool.querySelector('[data-dgt-goto]'), gu = tool.querySelector('[data-dgt-gu]');\n      function gotoM() {\n        if (!gin) return;\n        var v = parseFloat(String(gin.value).replace(',', '.')); if (!(v >= 0)) return;\n        var px = v * (unit === 'cm' ? 10 : 25.4) * ppm, mx = box.clientWidth - X0 - 2;\n        if (px > mx) { setPos(mx); var fit = mx \/ ppm \/ (unit === 'cm' ? 10 : 25.4); toast((U.no_cabe || '{n}').replace('{n}', NUM(Math.floor(fit * 10) \/ 10, 1) + ' ' + unit)); }\n        else setPos(px);\n      }\n      if (gin) { var gt = 0; gin.addEventListener('input', function () { clearTimeout(gt); gt = setTimeout(gotoM, 250); }); gin.addEventListener('keydown', function (e) { if (e.key === 'Enter') { clearTimeout(gt); gotoM(); } }); }\n      Array.prototype.forEach.call(tool.querySelectorAll('[data-u]'), function (bt, i, all) {\n        bt.addEventListener('click', function () {\n          unit = bt.getAttribute('data-u');\n          Array.prototype.forEach.call(all, function (x) { x.setAttribute('aria-checked', x === bt ? 'true' : 'false'); });\n          if (gu) gu.textContent = unit;\n          setState(); draw(); if (gin && gin.value) gotoM();\n        });\n      });\n      function cardSize() { if (card) card.style.width = (85.6 * ppm) + 'px'; if (slider) slider.value = ppm; }\n      tool.addEventListener('click', function (e) {\n        var a = e.target.closest('[data-act]'); if (!a) return;\n        var act = a.getAttribute('data-act');\n        if (act === 'calibrar') { cal.hidden = !cal.hidden; cardSize(); if (!cal.hidden) cal.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }\n        if (act === 'cal-menos') { ppm = Math.max(2.4, ppm - 0.005); cardSize(); draw(); }\n        if (act === 'cal-mas') { ppm = Math.min(9, ppm + 0.005); cardSize(); draw(); }\n        if (act === 'cal-diag') {\n          var dg = parseFloat(String(diag.value).replace(',', '.'));\n          if (dg > 2) { ppm = Math.hypot(screen.width, screen.height) \/ dg \/ 25.4; cardSize(); draw(); }\n        }\n        if (act === 'cal-ok') { saved = ppm; try { localStorage.setItem(KEY, String(ppm)); } catch (x) { \/* nada *\/ } setState(); cal.hidden = true; toast(U.guardada || 'OK'); }\n        if (act === 'cal-reset') { ppm = DEF; saved = null; try { localStorage.removeItem(KEY); } catch (x) { \/* nada *\/ } cardSize(); setState(); draw(); }\n        if (act === 'pantalla') {\n          var on = !root.classList.contains('is-full');\n          var fsOk = tool.requestFullscreen && !d.fullscreenElement;\n          if (on && fsOk) { tool.requestFullscreen().catch(function () { \/* nada *\/ }); }\n          if (!on && d.fullscreenElement) { d.exitFullscreen().catch(function () { \/* nada *\/ }); }\n          root.classList.toggle('is-full', on); a.setAttribute('aria-pressed', on ? 'true' : 'false');\n          setTimeout(draw, 120);\n        }\n      });\n      d.addEventListener('fullscreenchange', function () { if (!d.fullscreenElement && root.classList.contains('is-full')) { root.classList.remove('is-full'); var p = tool.querySelector('[data-act=\"pantalla\"]'); if (p) p.setAttribute('aria-pressed', 'false'); setTimeout(draw, 120); } });\n      d.addEventListener('keydown', function (e) { if (e.key === 'Escape' && root.classList.contains('is-full')) { root.classList.remove('is-full'); setTimeout(draw, 120); } });\n      if (slider) slider.addEventListener('input', function () { ppm = parseFloat(slider.value); cardSize(); draw(); });\n      var rt = 0; window.addEventListener('resize', function () { clearTimeout(rt); rt = setTimeout(draw, 120); });\n      setState(); cardSize(); draw(); setPos(ppm * (unit === 'cm' ? 50 : 25.4 * 2));\n    });\n    \/* ---------- 3. Colores ---------- *\/\n    Array.prototype.forEach.call(root.querySelectorAll('[data-dgt-colors]'), function (tool) {\n      var U = ui(tool), cur = { r: 91, g: 74, b: 224 }, fmt = 'hex';\n      var show = detailPanel(tool, U);\n      var sw = tool.querySelector('.dgt-pick-sw'), cin = tool.querySelector('[data-dgt-cin]');\n      var F = {}; Array.prototype.forEach.call(tool.querySelectorAll('[data-fmt]'), function (i) { F[i.getAttribute('data-fmt')] = i; });\n      function h2(n) { return ('0' + n.toString(16)).slice(-2).toUpperCase(); }\n      function hex(c) { return '#' + h2(c.r) + h2(c.g) + h2(c.b); }\n      function parseHex(s) { var m = String(s).trim().replace('#', ''); if (\/^[0-9a-f]{3}$\/i.test(m)) m = m.replace(\/(.)\/g, '$1$1'); if (!\/^[0-9a-f]{6}$\/i.test(m)) return null; return { r: parseInt(m.slice(0, 2), 16), g: parseInt(m.slice(2, 4), 16), b: parseInt(m.slice(4, 6), 16) }; }\n      function toHsl(c) {\n        var r = c.r \/ 255, g = c.g \/ 255, b = c.b \/ 255, mx = Math.max(r, g, b), mn = Math.min(r, g, b), h = 0, s = 0, l = (mx + mn) \/ 2;\n        if (mx !== mn) { var dd = mx - mn; s = l > 0.5 ? dd \/ (2 - mx - mn) : dd \/ (mx + mn); h = mx === r ? (g - b) \/ dd + (g < b ? 6 : 0) : mx === g ? (b - r) \/ dd + 2 : (r - g) \/ dd + 4; h *= 60; }\n        return { h: Math.round(h), s: Math.round(s * 100), l: Math.round(l * 100) };\n      }\n      function fromHsl(h, s, l) {\n        s \/= 100; l \/= 100; var k = function (n) { return (n + h \/ 30) % 12; }, a = s * Math.min(l, 1 - l);\n        var f = function (n) { return l - a * Math.max(-1, Math.min(k(n) - 3, Math.min(9 - k(n), 1))); };\n        return { r: Math.round(f(0) * 255), g: Math.round(f(8) * 255), b: Math.round(f(4) * 255) };\n      }\n      function rgbS(c) { return 'rgb(' + c.r + ', ' + c.g + ', ' + c.b + ')'; }\n      function hslS(c) { var x = toHsl(c); return 'hsl(' + x.h + ', ' + x.s + '%, ' + x.l + '%)'; }\n      function cmykS(c) {\n        var r = c.r \/ 255, g = c.g \/ 255, b = c.b \/ 255, k = 1 - Math.max(r, g, b);\n        if (k >= 1) return 'cmyk(0%, 0%, 0%, 100%)';\n        var p = function (x) { return Math.round((1 - x - k) \/ (1 - k) * 100) + '%'; };\n        return 'cmyk(' + p(r) + ', ' + p(g) + ', ' + p(b) + ', ' + Math.round(k * 100) + '%)';\n      }\n      function lum(c) { var a = [c.r, c.g, c.b].map(function (v) { v \/= 255; return v <= 0.03928 ? v \/ 12.92 : Math.pow((v + 0.055) \/ 1.055, 2.4); }); return 0.2126 * a[0] + 0.7152 * a[1] + 0.0722 * a[2]; }\n      function ratio(a, b2) { var l1 = lum(a), l2 = lum(b2), hi = Math.max(l1, l2), lo = Math.min(l1, l2); return (hi + 0.05) \/ (lo + 0.05); }\n      function badge(r) { return r >= 7 ? 'AAA' : r >= 4.5 ? 'AA' : r >= 3 ? (U.aa_grande || 'AA large') : (U.no_pasa || 'Fail'); }\n      var ct = tool.querySelector('[data-dgt-contrast]');\n      function paint(skip) {\n        var hx = hex(cur);\n        tool.style.setProperty('--c', hx); sw.style.setProperty('--c', hx);\n        if (cin && skip !== 'cin') cin.value = hx.toLowerCase();\n        if (skip !== 'hex') F.hex.value = hx;\n        if (skip !== 'rgb') F.rgb.value = rgbS(cur);\n        if (skip !== 'hsl') F.hsl.value = hslS(cur);\n        F.cmyk.value = cmykS(cur);\n        if (ct) {\n          var rw = ratio(cur, { r: 255, g: 255, b: 255 }), rb = ratio(cur, { r: 0, g: 0, b: 0 });\n          ct.querySelector('[data-f=\"rw\"]').textContent = NUM(Math.floor(rw * 100) \/ 100, 2) + ':1'; ct.querySelector('[data-f=\"bw\"]').textContent = badge(rw);\n          ct.querySelector('[data-f=\"rb\"]').textContent = NUM(Math.floor(rb * 100) \/ 100, 2) + ':1'; ct.querySelector('[data-f=\"bb\"]').textContent = badge(rb);\n        }\n      }\n      if (cin) cin.addEventListener('input', function () { var c = parseHex(cin.value); if (c) { cur = c; paint('cin'); } });\n      F.hex.addEventListener('input', function () { var c = parseHex(F.hex.value); if (c) { cur = c; paint('hex'); } });\n      F.rgb.addEventListener('input', function () { var m = F.rgb.value.match(\/\\d+(\\.\\d+)?\/g); if (m && m.length >= 3) { var c = { r: Math.min(255, +m[0] | 0), g: Math.min(255, +m[1] | 0), b: Math.min(255, +m[2] | 0) }; cur = c; paint('rgb'); } });\n      F.hsl.addEventListener('input', function () { var m = F.hsl.value.match(\/\\d+(\\.\\d+)?\/g); if (m && m.length >= 3) { cur = fromHsl(+m[0] % 360, Math.min(100, +m[1]), Math.min(100, +m[2])); paint('hsl'); } });\n      Array.prototype.forEach.call(tool.querySelectorAll('[data-fmt]'), function (inp) {\n        inp.addEventListener('focus', function () { inp.select(); });\n      });\n      var ed = tool.querySelector('[data-act=\"eyedropper\"]');\n      if (ed && window.EyeDropper) {\n        ed.hidden = false;\n        ed.addEventListener('click', function () { new window.EyeDropper().open().then(function (r) { var c = parseHex(r.sRGBHex); if (c) { cur = c; paint(); copy(hex(c)); toast((U.copiado || 'Copied') + ': ' + hex(c)); } }).catch(function () { \/* cancelado *\/ }); });\n      }\n      var fin = tool.querySelector('[data-dgt-img]'), ibox = tool.querySelector('[data-dgt-imgbox]'), icv = tool.querySelector('[data-dgt-imgc]');\n      if (fin) fin.addEventListener('change', function () {\n        var f = fin.files && fin.files[0]; if (!f) return;\n        var url = URL.createObjectURL(f), img = new Image();\n        img.onload = function () {\n          var mw = Math.min(900, ibox.parentNode.clientWidth || 900), sc = Math.min(1, mw \/ img.width);\n          icv.width = Math.round(img.width * sc); icv.height = Math.round(img.height * sc);\n          icv.getContext('2d').drawImage(img, 0, 0, icv.width, icv.height); ibox.hidden = false; URL.revokeObjectURL(url);\n        };\n        img.src = url;\n      });\n      if (icv) icv.addEventListener('click', function (e) {\n        var r = icv.getBoundingClientRect(), x = Math.floor((e.clientX - r.left) * icv.width \/ r.width), y = Math.floor((e.clientY - r.top) * icv.height \/ r.height);\n        var p = icv.getContext('2d').getImageData(x, y, 1, 1).data; cur = { r: p[0], g: p[1], b: p[2] }; paint();\n        copy(hex(cur)); toast((U.copiado || 'Copied') + ': ' + hex(cur));\n      });\n      Array.prototype.forEach.call(tool.querySelectorAll('[data-fmtc]'), function (bt, i, all) {\n        bt.addEventListener('click', function () { fmt = bt.getAttribute('data-fmtc'); Array.prototype.forEach.call(all, function (x) { x.setAttribute('aria-checked', x === bt ? 'true' : 'false'); }); });\n      });\n      var sws = Array.prototype.slice.call(tool.querySelectorAll('.dgt-c'));\n      var idx = sws.map(function (el) { return { el: el, hay: norm((el.getAttribute('data-k') || '') + ' #' + el.getAttribute('data-h') + ' ' + el.getAttribute('data-h')), grp: el.closest('.dgt-grp') }; });\n      var q = tool.querySelector('[data-dgt-q]'), empty = tool.querySelector('[data-dgt-empty]'), groups = Array.prototype.slice.call(tool.querySelectorAll('.dgt-grp')), curG = '*';\n      function filter() {\n        var s = norm(q.value.trim()).replace(\/^#\/, ''), any = false, terms = s ? s.split(\/\\s+\/) : [];\n        idx.forEach(function (o) { var okG = curG === '*' || o.grp.getAttribute('data-g') === curG; var okQ = !terms.length || terms.every(function (t) { return o.hay.indexOf(t) > -1; }); o.el.hidden = !(okG && okQ); });\n        groups.forEach(function (g) {\n          Array.prototype.forEach.call(g.querySelectorAll('.dgt-cgrid'), function (gr) { var has = !!gr.querySelector('.dgt-c:not([hidden])'); gr.hidden = !has; var pv = gr.previousElementSibling; if (pv && pv.classList.contains('dgt-sh')) pv.hidden = !has; });\n          Array.prototype.forEach.call(g.querySelectorAll('.dgt-trow'), function (tr) { tr.hidden = !tr.querySelector('.dgt-c:not([hidden])'); });\n          var vis = !!g.querySelector('.dgt-c:not([hidden])'); g.hidden = !vis; any = any || vis;\n        });\n        empty.hidden = any;\n      }\n      var tq = 0; q.addEventListener('input', function () { clearTimeout(tq); tq = setTimeout(filter, 110); });\n      Array.prototype.forEach.call(tool.querySelectorAll('.dgt-chips button'), function (bt, i, all) {\n        bt.addEventListener('click', function () { Array.prototype.forEach.call(all, function (x) { x.classList.toggle('is-on', x === bt); }); curG = bt.getAttribute('data-g'); filter(); });\n      });\n      tool.addEventListener('click', function (e) {\n        var el = e.target.closest('.dgt-c'); if (!el) return;\n        var c = parseHex(el.getAttribute('data-h')); if (!c) return;\n        cur = c; paint();\n        var val = fmt === 'rgb' ? rgbS(c) : fmt === 'hsl' ? hslS(c) : hex(c);\n        copy(val); el.classList.add('is-copied'); setTimeout(function () { el.classList.remove('is-copied'); }, 1200);\n        toast((U.copiado || 'Copied') + ': ' + val);\n        var nm = el.querySelector('b'), sm = el.querySelector('small');\n        var name = (nm ? nm.textContent : (el.getAttribute('aria-label') || hex(c))) + (sm && nm ? ' (' + sm.textContent + ')' : '');\n        var css = el.getAttribute('data-css');\n        show('', name, [['HEX', hex(c)], ['RGB', rgbS(c)], ['HSL', hslS(c)], ['CMYK', cmykS(c)], css ? ['CSS', css] : null], hex(c));\n      });\n      \/* Comprobador de contraste entre dos colores (WCAG 2.2: 4,5:1 y 7:1 texto normal; 3:1 y 4,5:1 texto grande; 3:1 iconos y bordes) *\/\n      var cc = tool.querySelector('[data-dgt-cc]');\n      if (cc) {\n        var CC = {}; Array.prototype.forEach.call(cc.querySelectorAll('[data-cc]'), function (el) { CC[el.getAttribute('data-cc')] = el; });\n        var col = { fg: parseHex(CC.fg.value) || { r: 91, g: 74, b: 224 }, bg: parseHex(CC.bg.value) || { r: 255, g: 255, b: 255 } };\n        var ccPaint = function (skip) {\n          ['fg', 'bg'].forEach(function (k) { var hx = hex(col[k]); if (skip !== k) CC[k].value = hx; if (skip !== k + 'c') CC[k + 'c'].value = hx.toLowerCase(); });\n          CC.prev.style.color = hex(col.fg); CC.prev.style.background = hex(col.bg);\n          var r = ratio(col.fg, col.bg); CC.ratio.textContent = NUM(Math.floor(r * 100) \/ 100, 2) + ':1';\n          ['aa', 'aaa', 'aal', 'aaal', 'ui'].forEach(function (k) {\n            var li = CC[k], ok = r >= parseFloat(li.getAttribute('data-min'));\n            li.classList.toggle('is-ok', ok); li.classList.toggle('is-ko', !ok);\n            li.querySelector('b').textContent = ok ? (U.pasa || 'Pass') : (U.no_pasa || 'Fail');\n          });\n        };\n        ['fg', 'bg'].forEach(function (k) {\n          CC[k].addEventListener('input', function () { var c = parseHex(CC[k].value); if (c) { col[k] = c; ccPaint(k); } });\n          CC[k + 'c'].addEventListener('input', function () { var c = parseHex(CC[k + 'c'].value); if (c) { col[k] = c; ccPaint(k + 'c'); } });\n          CC[k].addEventListener('focus', function () { CC[k].select(); });\n        });\n        cc.addEventListener('click', function (e) {\n          var a = e.target.closest('[data-act]'); if (!a) return;\n          if (a.getAttribute('data-act') === 'cc-swap') { var t = col.fg; col.fg = col.bg; col.bg = t; ccPaint(); }\n          if (a.getAttribute('data-act') === 'cc-use') { col[a.getAttribute('data-t')] = { r: cur.r, g: cur.g, b: cur.b }; ccPaint(); }\n        });\n        ccPaint();\n      }\n      paint();\n    });\n    \/* Preguntas frecuentes: solo una abierta a la vez (de entrada, la primera) *\/\n    var fbs = root.querySelectorAll('.dgv-faq-btn');\n    Array.prototype.forEach.call(fbs, function (btn) {\n      btn.addEventListener('click', function () {\n        setTimeout(function () {\n          if (btn.getAttribute('aria-expanded') !== 'true') return;\n          Array.prototype.forEach.call(fbs, function (o) {\n            if (o === btn || o.getAttribute('aria-expanded') !== 'true') return;\n            o.setAttribute('aria-expanded', 'false'); var it = o.closest('.dgv-faq-item'); if (it) it.classList.remove('is-open');\n          });\n        }, 0);\n      });\n    });\n  }\n  if (d.readyState === 'loading') d.addEventListener('DOMContentLoaded', go); else go();\n})();\n<\/script><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"estilo_pagina_titulo":"","estilo_pagina_descripcion":"","estilo_pagina_imagen":"","_joinchat":[],"footnotes":""},"estilo_pagina":[],"class_list":["post-27401410","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.digiaccion.com\/en\/wp-json\/wp\/v2\/pages\/27401410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.digiaccion.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.digiaccion.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.digiaccion.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.digiaccion.com\/en\/wp-json\/wp\/v2\/comments?post=27401410"}],"version-history":[{"count":5,"href":"https:\/\/www.digiaccion.com\/en\/wp-json\/wp\/v2\/pages\/27401410\/revisions"}],"predecessor-version":[{"id":27401474,"href":"https:\/\/www.digiaccion.com\/en\/wp-json\/wp\/v2\/pages\/27401410\/revisions\/27401474"}],"wp:attachment":[{"href":"https:\/\/www.digiaccion.com\/en\/wp-json\/wp\/v2\/media?parent=27401410"}],"wp:term":[{"taxonomy":"estilo_pagina","embeddable":true,"href":"https:\/\/www.digiaccion.com\/en\/wp-json\/wp\/v2\/estilo_pagina?post=27401410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}