3,000+
January 4, 2026
August 30, 2019
Ever wanted to add a special character while working within the WordPress block editor (Gutenberg) and suddenly find yourself longing for the days of the Classic Editor and the Special Character inserter? Well long no more, the Insert Special Characters plugin is here to ease your publishing woes!
Note: you can display the popover via the ctrl/cmd + o keyboard shortcut.
Development takes place in the GitHub repository.
To control the available tabs and characters, developers can filter the data set using the insertspecialcharacters-characters JavaScript (wp.hooks) filter.
For example, to create a character inserter that only provides currency symbols:
wp.hooks.addFilter(
'insertspecialcharacters-characters', // The filter name.
'mycallback', // Our callback namespace.
function( component ) { // The callback function.
// Return the categories/characters to display.
// The data structure is: { category: [ character data ], category2: ... }
return {
"Currency": [
{ "entity": "$", "hex": "", "name": "Dollar Sign", "char": "$" },
{ "entity": "€", "hex": "AC;", "name": "Euro Sign", "char": "€" },
{ "entity": "¢", "hex": "�A2;", "name": "Cent Sign", "char": "¢" },
{ "entity": "£", "hex": "�A3;", "name": "Pound Sign", "char": "£" },
{ "entity": "¥", "hex": "�A5;", "name": "Yen Sign", "char": "¥" },
]
};
}
);
When a character is displayed using a font that doesn’t support that character, a default “not defined” glyph from that font is used. The “not defined” glyph in most fonts has the appearance of a rectangular box, or some variation of that.
One example of a font with support for wide range of glyphs is the Noto family by Google Fonts, which can be loaded by the theme to render the missing characters.
express from 4.18.2 to 4.19.2, follow-redirects from 1.15.5 to 1.15.6, ip from 1.1.8 to 1.1.9 and webpack-dev-middleware from 5.3.3 to 5.3.4 (props @dependabot, @iamdharmesh via #254).braces from 3.0.2 to 3.0.3, pac-resolver from 7.0.0 to 7.0.1, socks from 2.7.1 to 2.8.3, ws from 7.59 to 7.5.10 and removes ip (props @dependabot, @faisal-alvi via #259).axios from 1.6.7 to 1.7.7, body-parser from 1.20.2 to 1.20.3, express from 4.19.2 to 4.21.0, ws from 7.5.10 to 8.18.0, @wordpress/scripts from 27.1.0 to 29.0.0 and webpack from 5.90.0 to 5.94.0 (props @dependabot, @Sidsector9 via #267, #268).@babel/traverse from 7.20.5 to 7.23.2 (props @dependabot, @dkotter via #219).semver from 5.7.1 to 5.7.2 (props @dependabot, @dkotter via #202).word-wrap from 1.2.3 to 1.2.4 (props @dependabot, @Sidsector9 via #206).@cypress/request from 2.88.10 to 3.0.0, cypress from 12.8.1 to 13.3.1 and @10up/cypress-wp-utils from 0.1.0 to 0.2.0 (props @dependabot, @dkotter via #213).tough-cookie from 4.1.2 to 4.1.3 and @cypress/request from 2.88.10 to 2.88.12 (props @dependabot, @ravinderk via #214).postcss from 8.4.20 to 8.4.31 (props @dependabot, @faisal-alvi via #216).Further changelog entries can be found in the CHANGELOG.md file.
| Version | Download | Type |
|---|---|---|
| 1.1.3 | Download | Stable |
| 1.1.2 | Download | Stable |
| 1.1.1 | Download | Stable |
| 1.1.0 | Download | Stable |
| 1.0.7 | Download | Stable |
| 1.0.6 | Download | Stable |
| 1.0.5 | Download | Stable |
| 1.0.4 | Download | Stable |
| 1.0.3 | Download | Stable |
| 1.0.2 | Download | Stable |
| 1.0.1 | Download | Stable |
| 1.0.0 | Download | Stable |
| Development | Download | Trunk |