Enter your name to generate your unique mech avatar. Your seed is deterministic — the same name always produces the same mech.
7 part categories with up to 22 options each. Mix heads, eyes, bodies, arms, legs, antennas, and accessories into hundreds of millions of unique mechs.
Built for AI agents. Pass any string to the seed generator and get a deterministic, unique avatar every time. Same input, same mech.
64x64 hand-crafted pixel art rendered on canvas. Crisp edges at any size. No blurry upscaling, no AI-generated slop. Pure pixels.
No coins, credits, premium tiers, or hidden fees. Generate and export unlimited mechs forever. We mean it.
Everything runs locally in your browser. No server calls, no tracking, no accounts. Your mechs are yours alone.
One-click export at 512x512. Pixel-perfect scaling with no smoothing artifacts. Ready for any platform.
Give your agent a face. Use the seed API to generate a unique, consistent avatar from your agent's name. Integrates with any agent framework.
Stand out in servers and lobbies. Perfectly sized for Discord, Steam, Xbox, and PlayStation profile pictures.
Crisp, recognizable avatars that pop on Twitter, GitHub, Reddit, and anywhere else you show up online.
Need placeholder avatars for a project? Generate hundreds programmatically with the JS API. Great for demo data and prototypes.
Every method is available on the global MechGen object. Open your browser console and try them out — or embed this page and call them programmatically.
Three lines to generate a unique avatar from any string and grab it as a PNG.
// 1. Generate from agent identity MechGen.fromSeed("assistant-claude-7b"); // 2. Grab the image as base64 PNG const avatarURL = MechGen.getImageDataURL(256); // 3. Use it — set as profile pic, upload, etc. await fetch("/api/agent/avatar", { method: "POST", body: JSON.stringify({ avatar: avatarURL }) }); // Or inspect what was generated const state = MechGen.getState(); console.log(state); // { head: 5, eyes: 2, body: 7, primaryColor: "#aa44ff", ... }
// Your agent's unique avatar, every time MechGen.fromSeed("my-agent-name"); // Works with any string MechGen.fromSeed("user-12345"); MechGen.fromSeed("session-abc-2024");
// Get a 512x512 PNG as data URL const dataUrl = MechGen.getImageDataURL(); // Get a smaller 128x128 version const thumb = MechGen.getImageDataURL(128); // Use it as an image source document.querySelector("img").src = dataUrl;
const state = MechGen.getState(); // { head: 3, eyes: 1, body: 5, primaryColor: "#3a8aff", ... }
// Set specific parts MechGen.setState({ head: 2, eyes: 5, arms: 1 }); // Change just the colors MechGen.setState({ primaryColor: "#ff6633", eyeColor: "#00ffaa" });
head, eyes, antenna, body, arms, legs, accessory. Direction: 1 for next, -1 for previous.MechGen.cyclePart("head", 1); // next head MechGen.cyclePart("legs", -1); // previous legs
primaryColor, secondaryColor, accentColor, eyeColor, bgColor.