Cute avatars for people, apps and AI agents.

Six original styles, sixteen expressions, real animation. Make one by hand, or generate millions from a username.

Six styles, one engine

Every style supports the same expressions, animations, colors and controls, so you can switch styles without losing anything. A test suite enforces it.

Try the API

Same style and seed always gives the same avatar. Use a username, email hash or agent name as the seed.

Image URL

Replace the host with your deployment. SVG and JSON run on any edge runtime; PNG and GIF on the Node server.

Built for developers and agents

No accounts, no tracking. Pick the way that fits your stack.

Web component

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>

React

Server-rendered inline SVG, no effects.

import { Avatar } from '@poppet/web/react'

<Avatar pack="snack" seed={user.id}
  expr="love" size={64} />

HTTP API

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

MCP server

Let Claude, Cursor or any agent design avatars: list_styles, create_avatar, avatar_url.

{ "mcpServers": { "poppet": {
  "command": "npx",
  "args": ["-y", "@poppet/mcp"] } } }

How it compares

Other tools are good at what they do. This is where Poppet differs.

PoppetSingle-mascot buildersStyle-library generators
Generate from a seedYesNoYes
Hand-design a custom mascotParts, colors, custom facesYesLimited
Expressions and animation16 + your own, sequencesYesMostly static
HTTP API, web component, MCPAll threeExport onlyAPI, no MCP
ExportSVG, PNG, GIF, WebM, ZIP, ReactSVG, PNG, React, JSSVG, PNG
LicenseOne permissive licenseVaries (some copyleft)Varies per style