Description
Safesprite Icons lets you manage brand icons in a dedicated plugin library (collections/folders), sanitize every upload, and render icons with a lightweight <use> reference plus a single footer spritesheet.
Security first
- SVG uploads are accepted only through the plugin Icon Library
- This plugin does not enable SVG uploads in the WordPress Media Library
- Uploads are sanitized with the vendored
enshrined/svg-sanitizelibrary (GPL-2.0-or-later), shipped inside the plugin - Front-end output uses sanitized
<symbol>sprites +<use>— not raw uploaded files as<img src>
Features
- Collections (one collection per icon)
- Rename icon titles and collection names (slugs stay stable)
- Trash / restore / permanent delete
- Shortcode:
[sfsi_icon slug="my-icon"] - PHP helper:
sfsi_icon( 'my-icon' ) - Gutenberg block
- TinyMCE button
- Elementor widget (loads only when Elementor is active)
- Nav menu item icons
Blocks
This plugin provides 1 block.
- SVG Icon
Installation
- Upload the
safesprite-iconsfolder to/wp-content/plugins/ - Activate the plugin through the Plugins menu
- Open Safesprite in wp-admin, create a collection, upload SVGs
- Insert icons via block, shortcode, TinyMCE, menus, or Elementor
FAQ
-
Does this allow SVG in the Media Library?
-
No. Icons are managed only in the plugin library.
-
Where are files stored?
-
Sanitized SVG files live under
wp-content/uploads/safesprite-icons/with opaque filenames. Metadata is stored in plugin custom tables (not as custom post types). -
What happens on uninstall?
-
By default, data is kept. Enable “Delete all plugin data on uninstall” under Safesprite -> Settings if you want tables and files removed.
-
What PHP extensions are required?
-
PHP 7.4+ with the
domandlibxmlextensions (used by the SVG sanitizer).
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Safesprite Icons” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Safesprite Icons” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- First wordpress.org release candidate
- Secure Icon Library with sanitized uploads and footer spritesheets
- Gutenberg, Elementor, TinyMCE, Nav Menus, shortcode, and PHP helper
- Hardened SVG sanitization (no Media Library SVG enablement)
0.2.15
- Security: strip SVG
<style>/style=and remote hrefs after sanitize - Performance: skip upload-dir ensure on front requests; memoize icon lookups
- Fix: nav menu icon meta no longer wiped on unrelated saves
- Packaging: exclude list moved to docs (no
.distignorein plugin — Plugin Check)
0.2.14
- Plugins list: Settings action link to Safesprite -> Settings
0.2.13
- Rename icon titles and collection names (slugs unchanged)
- Icon picker: search by title or slug
- Nav menus: icon preview and Clear control
0.2.12
- Gutenberg editor: size and color preview match Elementor (no fixed admin tile CSS)
0.2.11
- Elementor canvas: fix size slider and custom color live preview
0.2.10
- Elementor editor: show inline icon preview (canvas has no footer spritesheet)
0.2.9
- Elementor & Gutenberg: visual icon picker, size slider (16–256px), inherit or custom color
0.2.8
- Trash: bulk select, restore, and permanently delete icons and collections
0.1.0
- Initial release candidate build