Sednicon is a lightweight icon rendering API that lets developers generate customizable icons instantly using simple URLs. No installation. No dependencies. Just a URL.
<img src="https://sednicon.sednium.com/api/render?q=rocket&color=000000&size=64" alt="Rocket Icon" />
Everything Sednicon supports out of the box.
The easiest way to use Sednicon — drop this into any HTML page:
<img src="https://sednicon.sednium.com/api/render?q=rocket&color=000000&size=64" alt="rocket" />
That's it. The icon will be generated automatically.
GET https://sednicon.sednium.com/api/render
All parameters are passed as query strings to the /api/render endpoint.
| Parameter | Required | Type | Description |
|---|---|---|---|
| q | Yes | String | Icon name (e.g. rocket, google) |
| color | No | Hex | Icon color without # (default: 000000) |
| size | No | Number | Icon size in pixels (default: 24) |
https://sednicon.sednium.com/api/render?q=rocket
https://sednicon.sednium.com/api/render?q=rocket&color=ff0000
https://sednicon.sednium.com/api/render?q=rocket&size=128
https://sednicon.sednium.com/api/render?q=rocket&color=000000&size=64
A full OpenAPI 3.1 spec is available for importing into Postman, Insomnia, Swagger UI, or any code generator:
https://sednicon.sednium.com/openapi.json
Drop a URL into any <img> tag. Works in Webflow, WordPress, Framer, and raw HTML — no build step required.
<img src="https://sednicon.sednium.com/api/render?q=home&color=0066ff&size=64" alt="Home Icon" />
Use as a background-image for styled buttons, pseudo-elements, or any element that needs an icon without extra markup.
.icon-rocket { width: 64px; height: 64px; background-image: url("https://sednicon.sednium.com/api/render?q=rocket&color=000000&size=64"); background-size: 64px 64px; }
Create a reusable component:
function Icon({ name, color = "000000", size = 64 }) { return ( <img src={`https://sednicon.sednium.com/api/render?q=${name}&color=${color}&size=${size}`} alt={name} /> ); }
Usage:
<Icon name="rocket" color="ff6600" size={80} />
Bind the icon URL reactively using a template expression. Works with Vue 3 Composition or Options API.
<img :src="`https://sednicon.sednium.com/api/render?q=rocket&color=000000&size=64`" alt="rocket" />
Sednicon works anywhere an <img> tag or URL can be used, including:
Sednicon never returns a broken image. If q doesn't match any icon across all fallback sets, a generic placeholder icon is returned instead — your layout never breaks, even for typos or unsupported names. The response is always 200 OK with a valid SVG body.
Every response includes a custom header indicating which icon set ultimately served the request — useful for debugging why an icon looks different than expected:
X-Sednicon-Source: iconify:material-symbols
All responses from /api/render include:
Content-Type: image/svg+xml; charset=utf-8 Cache-Control: public, max-age=86400, s-maxage=604800, stale-while-revalidate=2592000, immutable Access-Control-Allow-Origin: *
CORS is enabled for all origins, so Sednicon can be called directly from browser-side fetch() as well as used in <img> tags.
Check API health and version at:
GET https://sednicon.sednium.com/api/status
Returns JSON with current status, version, upstream dependency health, and response latency:
{
"status": "operational",
"version": "3.0.0",
"dependencies": { "iconify": "operational" },
"upstream_check_ms": 142
}For better performance:
16px, 24px, 32px, 48px, 64px, 128pxFuture versions may use:
/api/v1/render
This ensures compatibility with future updates.
Sednicon is released under the MIT License and is free to use, including for commercial projects.
Icons are sourced from the open-source Iconify project, including Material Symbols, Lucide, Simple Icons, and other community icon sets — each retaining their respective open-source licenses.
Built by Sednium. Source code available on GitHub.
Suggestions and improvements are welcome — help make Sednicon a better icon API for developers. Open an issue or pull request on GitHub.