How Forgemoji Works
Last updated: May 2026
The short version
You pick two emojis. Forgemoji sends them through a multi-step AI pipeline and returns a unique, transparent-background PNG in about 15 seconds. There is no database of pre-made combinations β every result is generated from scratch, which means the same two emoji inputs can produce a different image each time.
Step 1 β Emoji interpretation
When you hit Generate, Forgemoji reads the Unicode characters you selected and resolves them into a semantic description. An emoji like π₯ carries visual traits (orange flame, tapered shape, glow) as well as cultural meaning (intensity, hype, danger). The same applies to π (skull, mortality, dark humour) or πΈ (cherry blossom, fleeting beauty, Japanese aesthetic).
The pipeline combines the visual and semantic traits of both inputs into a single generation prompt β not just a literal average, but a coherent synthesis. A π₯ + π prompt might lean into βblazing skull with a glowing eye socketβ, while πΈ + π might produce βa royal crown wrapped in delicate pink petalsβ.
Step 2 β Generative image synthesis
The combined prompt is passed to a generative image model. The model is tuned to produce kawaii-style illustrations β soft lines, clean shapes, bold colours β so that results look like actual emoji rather than photorealistic renders. This style keeps every generated image compatible with chat apps and sticker packs even when the subject matter is unusual.
Because the model is stochastic (it introduces controlled randomness at inference time), the same prompt produces a different result on every run. This is intentional: it lets you hit Try Again multiple times until you land on the version that feels right.
Step 3 β Background removal
Most AI image models output a square image with a solid background. Forgemoji runs a separate AI background-removal pass on every generated image before returning it to your browser. The result is a clean transparent PNG β no white box, no manual editing required.
This step is why the output is ready to drop directly into Discord, Telegram, Slack, or WhatsApp as a custom emoji or sticker. You can also paste it into a design tool like Figma or Canva and it will sit on top of any background without a halo.
Step 4 β Resize and deliver
The transparent PNG is resized to 256Γ256 pixels, which is the standard size accepted by Discord custom emoji, Telegram sticker packs, and most other platforms. The final file is returned directly to your browser β it is never stored on our servers after delivery.
Optional: Animated export (GIF / WebP)
Once you have a static PNG you can open the GIF / WebP export panel. Forgemoji offers six animation styles β bounce, spin, pulse, shake, float, and explode β each available in three sizes (64 px, 128 px, 240 px). The animation is applied entirely in-browser using a Web Worker, so no image data is sent to a server during this step.
GIF output works in every chat app. WebP output produces a smaller file with transparency preserved on platforms that support it (most modern apps do). Discord custom emoji work best with GIF; Telegram stickers prefer WebP.
Optional: Custom photo mode
Instead of two emoji inputs, you can upload your own photo and use it as one of the inputs. The AI will style-transfer your photo into a kawaii emoji aesthetic and then blend it with the second input (an emoji or a second photo). Your uploaded image is sent to the generation API for this request only β it is not stored, indexed, or used for any other purpose.
Why results vary between runs
Unlike a Google Images search or Emoji Kitchen, Forgemoji does not look up a pre-made image. It generates one. Generation models introduce randomness at a step called sampling β this is what allows them to produce novel outputs rather than always returning the same cached result. The trade-off is that a given pair of emoji might produce a brilliant result one time and a mediocre one the next. The Try Again button exists for exactly this reason.
Privacy and data handling
Emoji inputs are sent to the generation API as part of the generation request. Custom photo uploads are also sent to the API for that request only. No inputs or outputs are stored on our servers after the generation completes. Generated images are saved to your browser's local storage as part of the in-app history feature β they never leave your device unless you choose to download or share them.
For full details see our Privacy Policy.
Technical questions
Have a question about the pipeline, an unusual result, or a bug? Email us at hello@forgemoji.com.