Six original styles, sixteen expressions, real animation. Make one by hand, or generate millions from a username.
Every style supports the same expressions, animations, colors and controls, so you can switch styles without losing anything. A test suite enforces it.
Same style and seed always gives the same avatar. Use a username, email hash or agent name as the seed.
Replace the host with your deployment. SVG and JSON run on any edge runtime; PNG and GIF on the Node server.
No accounts, no tracking. Pick the way that fits your stack.
Animated, works in any framework.
<script type="module" src="https://cdn.jsdelivr.net/npm/@poppet/web"></script> <poppet-avatar pack="agent" seed="my-bot" expr="happy" anim="idle" size="96"> </poppet-avatar>
Server-rendered inline SVG, no effects.
import { Avatar } from '@poppet/web/react'
<Avatar pack="snack" seed={user.id}
expr="love" size={64} />SVG, PNG, GIF or JSON from a URL.
GET /v1/critter/ada.svg?expr=wink&size=128 GET /v1/agent/my-bot.gif?anim=dance GET /v1/chibi/ada.png?bg=linear-ffd1dc-b9d8ff GET /v1/packs
Let Claude, Cursor or any agent design avatars: list_styles, create_avatar, avatar_url.
{ "mcpServers": { "poppet": {
"command": "npx",
"args": ["-y", "@poppet/mcp"] } } }Other tools are good at what they do. This is where Poppet differs.
| Poppet | Single-mascot builders | Style-library generators | |
|---|---|---|---|
| Generate from a seed | Yes | No | Yes |
| Hand-design a custom mascot | Parts, colors, custom faces | Yes | Limited |
| Expressions and animation | 16 + your own, sequences | Yes | Mostly static |
| HTTP API, web component, MCP | All three | Export only | API, no MCP |
| Export | SVG, PNG, GIF, WebM, ZIP, React | SVG, PNG, React, JS | SVG, PNG |
| License | One permissive license | Varies (some copyleft) | Varies per style |