How to Turn a Character or Product Cutout into an Animated Sticker

A sticker lives in a tray next to other stickers, gets tapped at chat speed, and plays at 60 to 150 pixels wide. The mask, preset, duration, and format decisions are tighter than they are for a feed post. Most of the bad stickers we see are good wobbles in the wrong place.

A sticker is a wobble that survives a 60-pixel chat tray, autoplays inline, and loops without becoming annoying. The constraints are different from a feed post.

Stickers have the strictest constraints of any wobble destination. Inline autoplay matters. Size caps are tight. The viewing size is small enough that you cannot hide a weak mask. The notes below are the rules we keep relearning every time we make a sticker pack.

The four real constraints of a sticker

  1. Inline autoplay. Most chat surfaces play GIFs automatically and require a tap to play video. Stickers are GIFs.
  2. Upload cap. Discord caps animated stickers at 256 KB for the official sticker system and at 10 MB for inline chat. Slack caps inline GIFs at 2 MB. Telegram caps stickers at 500 KB. The cap you hit depends on where the sticker will live.
  3. Small viewing size. A sticker tray shows stickers at 60-100 px wide. The actual chat message shows them at 100-150 px. Detail that reads at desktop size vanishes at sticker size.
  4. Tireless loop. A sticker may play hundreds of times in a busy conversation. A motion that is delightful once becomes annoying on the sixth repeat.

Most "the sticker feels off" complaints trace back to one of these four. Get them in order, and the sticker usually survives.

Begin with a readable silhouette

A character with a clear head and limbs, a product with a distinctive package, or a bold icon works better than a crowded scene. The outer shape is what viewers recognize at chat size; fine details only support it. Leave a modest margin around the widest motion so the painted region has room to travel without colliding with the frame edge in Wobble mode.

Decide what the sticker says before animating it. A gentle nod can mean hello, a quick shake can mean no, a springy bounce can celebrate, a slow float can feel dreamy. That intention controls the mask and the preset. If you cannot describe the concept in a short phrase, simplify the subject before adding motion.

Separate the rigid body from the expressive part

Stickers feel stronger when one area provides stability. On a character, keep the torso or feet outside the painted region while hair, cheeks, ears, or an accessory goes inside it. On a product, keep the main package outside the mask while a label corner, topping, or decorative mascot is painted. The contrast between painted and unpainted is what makes the wobble readable.

Paint the expressive part as one connected region whenever you can. Leave a narrow anchor where it joins the rigid body. If two features need different behavior, such as both ears, test whether a single region feels coherent before splitting the mask. Too many independently moving fragments make a small sticker look noisy and inflate the file.

Match the preset to the message

Each of Purupuru Maker's four presets carries a distinct mood. Soft wobble suits friendly greetings, food, plush characters, and relaxed reactions. Spring bounce carries more energy and works for excitement, surprise, or a product reveal. Quick shake reads as nervousness, urgency, sparkle, or a comic refusal. Zero-G float supports sleepy, magical, or space-themed ideas. Start with the emotional category, then tune strength under Fine tuning.

Preview at the size where the sticker will be seen. A subtle motion visible on a desktop canvas may vanish in a chat tray, while a dramatic stretch can overwhelm a small face. Increase amplitude only until the gesture reads at a glance.

Protect faces, logos, and text

Eyes, mouths, wordmarks, and product names attract attention, so distortion there is easy to notice. If a face should remain readable, paint the cheek or hair around it rather than the whole head. If a logo sits on flexible packaging, raise Cohesion and keep Stretch restrained so the label moves as one surface instead of bending into illegibility.

Keep small text outside the painted region. Don't rely on the live preview for readability: download the final GIF, open it at chat size, and confirm the wordmark still reads. If it does not, cut the text or move it onto the rigid part of the subject.

Create a loop with a clear resting pose

A sticker repeats frequently, so its return to rest matters. Begin with the subject near its neutral position, perform one gesture in Wobble mode, and let the painted region settle before stopping the recording. Abrupt cuts look like glitches when replayed.

The Looping motion buttons (Side-to-side, Jump up and down, Circle around) make consistent cycles without you touching the image, which is useful for hands-free stickers. Hand-driven gestures need a short practice run in Wobble mode first. Two or three seconds is often enough for a reaction.

Pick the duration by the upload cap, not by feel

This is the rule that catches people out. Sticker duration is constrained by where the sticker will live, not by what feels right.

DestinationGIF capRecommended recordingWhy
Discord inline10 MB free / 25 MB Nitro1.0 - 1.5 sThe cap is generous; the loop readability is the real constraint.
Slack inline2 MB1.0 s or underThe cap is tight. A 2 s GIF on the same source usually exceeds it.
Telegram stickers500 KB0.5 - 1.0 sThe cap is the tightest common one. Stick to short gestures.
iMessage, WhatsAppNo hard cap1.5 - 3 sCaps are loose, but anything over 3 s starts to feel like a video, not a sticker.
Twitch / Discord official sticker256 KB0.5 sAggressive. Most short wobbles still need to be cropped tight to fit.

The numbers above are not guesses. They come from the platform documentation as of 2026 plus our own upload tests. They shift occasionally, so verify the cap against the platform's current upload dialog before you commit a sticker pack to a specific duration.

Crop the source for sticker viewing size

A 1024-pixel source exported as a sticker is 1024 pixels of sticker data downsampled to 100 pixels on the receiver's screen. The recorder already caps the longer side at 480 pixels, but for sticker work the source itself usually wants to be tighter. Crop the source so the subject occupies 60-80% of the frame, not 20-30%. The wobble is bigger in the final sticker and the mesh has more resolution per subject pixel.

The brush size is normalized to the shorter side of the image, so a tighter source also means a brush that covers more subject per stroke. The same default brush (5% of the shorter side) covers twice as much of the subject on a 512-pixel crop as it does on a 1024-pixel uncropped source.

Export and test in the destination

Use GIF in Record and save when the destination treats animated stickers as images and accepts the file size. Stickers in chat surfaces should almost always be GIF. Use MP4 only if the destination explicitly accepts video stickers; most chat surfaces do not.

Test the sticker in context, not only by opening the downloaded file. Place it beside a short message, view it against both light and dark conversation backgrounds, and replay it several times. Check whether the first frame is recognizable before motion begins, whether the gesture still reads at the platform's displayed size, and whether repeated movement becomes distracting.

Save one clean master source and create separate delivery exports from it. A chat reaction may need a compact GIF, a story may need a vertical MP4, and a product page may benefit from WebM. Naming each export with its destination, dimensions, and duration makes later revisions faster and avoids recompressing an already compressed sticker.

Things that look right locally and look wrong as stickers

  1. The first frame is unrecognizable. The sticker starts mid-motion and the viewer sees a stretched object before they know what it is. At sticker size, this is worse than at desktop size because there is less context. Fix: start the recording from rest, not from peak displacement.
  2. The loop pauses between cycles. The hand-driven recording does not exactly meet itself at the loop point. At desktop size the pause is invisible; at sticker size the loop becomes obviously choppy. Fix: use a Looping motion button, or stop the recording on a frame that visually matches the first frame.
  3. The motion is tiring on repeat. A 2-second Spring bounce with low damping is delightful once and exhausting by the sixth repeat. Fix: pick a preset with built-in damping (Soft wobble, Quick shake) for stickers that will play often.
  4. The subject is small inside the frame. The wobble happens but is too small to read at 100 px wide. Fix: crop the source so the subject occupies most of the frame before exporting.
  5. The file is over the platform cap. The sticker fails to upload or is silently recompressed until it fits. Fix: pick the duration from the table above before recording, not after.
  6. Important text inside the painted region. The text bends with the wobble. At chat size the bend is obvious; at sticker size the text becomes unreadable. Fix: paint around text, not over it.

What we keep with each sticker

The exported GIF is the disposable artifact. The reusable creative asset is the original source image, the painted mask, and the chosen preset. We keep all three together, and we export a fresh copy for each channel rather than recompressing one master file. A 2-second MP4 master that we recompress to a 1-second GIF for chat looks worse than a 1-second GIF we record directly from the same source and mask.

For a sticker pack, we also keep a small text note with the per-platform settings: the destination, the duration we picked for that destination's cap, the format, and any Fine tuning values that worked. Without that note we end up re-tuning the wobble from scratch the next time we add a sticker to the same set.