Description
IconQuarry brings a consistent, editor-friendly icon workflow to WordPress. Editors can choose, search, size and insert icons directly from the familiar Gutenberg RichText toolbar, while block developers can use the same IconPicker and IconRenderer components in their own blocks.
There is no separate design tool to learn and no need to paste icon markup by hand. The compact picker shows a focused initial selection, offers fast search for larger libraries and previews every icon at the selected size before insertion.
Professional icon sources
- Heroicons Outline and Solid
- Material Icons Outlined and Round
- Font Awesome Free Solid, Regular and Brands
- Authenticated Font Awesome Pro/Pro+ Kits and uploaded Kit icons
- Custom SVG icons from the WordPress Media Library
Heroicons, Material Icons and Font Awesome Free are bundled locally and do not require external front-end requests. Font Awesome Pro, Pro+ and custom Kit icons are available through an optional authenticated connection.
A natural Gutenberg experience
IconQuarry is available inside the RichText toolbar used by Gutenberg blocks. Editors can select an icon source and variant, search the catalog, choose a size from 12 to 128 pixels and insert the result without leaving the editor. Crisp vector SVG assets keep locally bundled icons consistent in the editor and on the front end.
Built for custom blocks
The same picker and renderer are exposed as reusable React components through the @fxchs/iconquarry package. This gives custom blocks the same polished icon workflow as editorial RichText content and keeps stored icon values consistent throughout a project.
Secure custom SVG uploads
Custom SVG files are sanitized during upload. Scripts, event handlers, external references, foreign objects and unsupported SVG features are removed. Accepted files are marked with the dedicated media type “Icon”, making them easy to filter and manage in both Media Library views.
Private Font Awesome authentication
Font Awesome API tokens are encrypted at rest with AES-256-GCM using a key derived from the WordPress authentication salt. Credentials and temporary access tokens remain server-side and are never returned to editor JavaScript.
Additional highlights
- More than 7,000 locally available icons
- Per-icon size controls and live previews
- Accessible decorative and labelled icon output
- KSES-compatible Gutenberg markup
- Backward-compatible rendering of previously stored icon values
- English and German interfaces based on the WordPress user language
- Central settings under Tools IconQuarry
Development
The distributed plugin includes the complete human-readable JavaScript and SCSS sources, icon-data and translation build scripts, webpack configuration and npm lockfile.
To reproduce the production assets and WordPress installation archive, use Node.js 20.10 or newer and npm 10.2.3 or newer:
- Run
npm ci. - Run
npm run build. - Run
npm run plugin-zip.
The resulting iconquarry.zip always contains iconquarry/ as its single top-level plugin directory.
External services
When a Font Awesome account is connected, IconQuarry sends the configured API token to https://api.fontawesome.com/token and sends Kit metadata, search, and authorized SVG-data queries with the resulting access token to https://api.fontawesome.com. This happens when connecting, loading Kits, searching the selected Kit, or rebuilding an expired local icon cache. Font Awesome’s terms and privacy policy apply.
- Font Awesome Terms of Service: https://fontawesome.com/tos
- Font Awesome Privacy Policy: https://fontawesome.com/privacy
Font Awesome Kit SVGs are defensively sanitized, cached by WordPress, and served from the site’s own domain. IconQuarry does not load executable code from Font Awesome in the editor or front end. Heroicons, Material Icons and Font Awesome Free are bundled locally and do not make external requests.
Installation
- Upload the plugin ZIP through Plugins Add Plugin Upload Plugin.
- Activate IconQuarry.
- Open Tools IconQuarry.
- Enable the desired icon sources.
- Optionally connect a Font Awesome API token and select a Kit.
FAQ
-
Can I use the picker in my own Gutenberg block?
-
Yes. Install the plugin directory as the local npm package
@fxchs/iconquarryand importIconPickerandIconRenderer. See README.md for an example. -
Does IconQuarry make external requests?
-
Heroicons, Material Icons and Font Awesome Free are bundled locally. External requests are only made when a Font Awesome account and Kit are explicitly connected.
-
Can each WordPress user choose a language?
-
Yes. IconQuarry follows the language selected in the WordPress user profile and includes complete English and German interfaces.
-
How are Font Awesome credentials stored?
-
The API token is encrypted with AES-256-GCM using a key derived from the WordPress authentication salt. It is only used server-side to obtain short-lived Font Awesome access tokens.
-
Are SVG uploads safe?
-
IconQuarry applies a restrictive XML sanitizer. Scripts, event handlers, external references, foreign objects and unsupported SVG features are removed.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“IconQuarry” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “IconQuarry” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.3.0
- Rename the plugin, installation directory, archive and npm package to IconQuarry.
- Move current slugs, REST routes, text domains, classes and build identifiers to
iconquarry. - Migrate settings, custom icon assignments and Font Awesome caches from previous installations automatically.
- Keep previously stored inline icon markup, local SVG URLs and REST integrations working.
1.2.1
- Replace the externally loaded Font Awesome Kit runtime with sanitized, locally served SVG assets.
- Cache authorized Pro and custom Kit icons in WordPress and protect their public URLs with signatures.
- Preserve older class-based Kit icon values through the new local SVG endpoint.
1.2.0
- Add automatic migration for existing settings and custom icon assignments.
- Preserve compatibility with previously stored inline icon markup and local SVG URLs.
1.1.2
- Build WordPress archives with
iconquarry/as the only top-level directory. - Include the complete scripts, webpack configuration and lockfile required for reproducible builds.
- Load the hosted Font Awesome Kit on the front end only when rendered IconQuarry markup needs it.
- Replace the global SVG KSES allowlist with narrowly scoped, re-sanitized IconQuarry save handling.
1.1.1
- Make the custom SVG Media Library picker reliable on the standalone settings page.
- Add a publication-ready English plugin description and animated product demonstrations.
1.1.0
- Add complete English and German translations for PHP and JavaScript interfaces.
1.0.3
- Render bundled icons as geometric-precision inline SVG for crisp small-size output.
- Upgrade previously stored local image icons to inline SVG while rendering.
1.0.2
- Fix Gutenberg RichText serialization so inline icon contents and closing tags persist after saving.
- Restore the front-end output of icons saved with older affected versions.
1.0.1
- Fix inline icon sizing in the toolbar, editor and front end.
- Store RichText icons with KSES-safe markup to prevent invalid blocks after reload.
- Load shared icon styles inside iframe-based block editors.
1.0.0
- Initial release.