BGPeel

KakaoTalk Emoticon Sizes and Clean Transparent PNGs

KakaoTalk emoticons sit directly on top of the chat room background. That makes a transparent PNG the default, and even a one-pixel line of leftover background color stands out in a dark chat theme. This guide walks through turning an AI-generated or hand-drawn character into a clean transparent PNG at proposal size, with real measurements along the way.

The sizes to know

Below are the proposal specs that Kakao Emoticon Studio has listed for a long time. On November 26, 2025, Kakao announced a redesigned Emoticon Studio with simplified production steps and specs, and opened mini emoticon proposals to everyone. Details such as counts and file size limits may have changed, so check the studio's current production guide before you submit. This guide focuses on what every spec needs: a clean transparent PNG at an exact size.

TypeCount (proposal)SizeBackground
Still emoticons32360×360pxTransparent PNG
Animated emoticons24360×360pxTransparent
Big emoticons16540×540px baseTransparent

Every type shares three requirements: a square canvas, a transparent background, and consistent size and margins across the whole set.

Edges show up in dark chat rooms

Emoticons appear on whatever chat background the user chose. A pink outline you can't see on a light background becomes obvious in a dark theme. Below, a spirit character generated on magenta has been scaled to 360px and placed on a dark background. The left version was made the way a simple “remove color” tool works, deleting only pixels close to the background color. The right one is BGPeel's default result.

A 360px spirit emoticon on a dark background. The left version has a purple outline and a sparkle mark; the right is clean
360px on a dark chat background. Left: only background-like pixels removed (purple outline and the corner mark remain). Right: BGPeel.

On the left, a purple band survives around the body and the Nano Banana mark is still in the bottom-right corner. Edge pixels are partly mixed with the background color, so deleting only pixels that closely match it leaves that mixed band behind. The mechanism is illustrated in Why color fringes appear. BGPeel makes each pixel only as transparent as its background share and subtracts the mixed-in color, so no outline appears on dark backgrounds.

Deal with the margins first

AI generators often draw the character small in the middle of the canvas. Our test slime covered only 58% of the width and 48% of the height of its 2048px canvas. Scaled straight down to 360px, the slime would be about 208px wide, with the rest empty space. Emoticons are viewed small, so a character that fills its square reads much better.

A slime inside a 360px square. Left: scaled from the original canvas and small. Right: margins cropped so it fills the square
The same slime at 360×360. Left: the original canvas scaled down. Right: margins around the object cropped first.

BGPeel scales images but doesn't crop margins. There are three ways to tighten them:

from PIL import Image
im = Image.open("slime.png")          # transparent PNG from BGPeel
body = im.crop(im.getbbox())          # crop transparent margins
side = int(max(body.size) * 1.08)     # 4% margin on each side
canvas = Image.new("RGBA", (side, side), (0, 0, 0, 0))
canvas.paste(body, ((side - body.width) // 2, (side - body.height) // 2))
canvas.resize((360, 360), Image.LANCZOS).save("slime_360.png")

Making 360px transparent PNGs with BGPeel

  1. Generate the characters on a solid background (magenta in most cases). For a set, using the same background color for all 32 is easiest.
  2. Drop the folder onto BGPeel and click “Convert”.
  3. Switch the preview background between black and white to check that no background color remains on the edges. It's a preview of light and dark chat rooms.
  4. Under “Download size”, choose a custom size and enter 360 (540 for big emoticons).
  5. Keep “Format” on PNG. If the file size limit is tight, turn on “Reduce to 256 colors”.
  6. Click “Download zip”. Your folder structure and file names are preserved.

BGPeel scales by the long side and keeps the aspect ratio, so a non-square original comes out as something like 360×270 rather than 360×360. Generate at 1:1 or put the character on a square canvas first, as above. BGPeel never enlarges, so originals must be larger than 360px.

How big are the files at 360px?

Actual file sizes of our three test characters saved from BGPeel at 360px and 540px (measured in Chrome):

Character360 PNG360 PNG 256 colors540 PNG540 PNG 256 colors
Slime (simple)55KB19KB118KB42KB
Plant (detailed)171KB44KB334KB80KB
Spirit (light effects)175KB41KB340KB70KB

A simple character is light even as a regular PNG, but detailed or glowing characters passed 170KB even at 360px. Reducing to 256 colors brings files down to roughly a quarter. With pixel art and simple illustrations the difference is hard to see, but smooth gradients can show banding, so zoom in and check. A fuller format comparison is in PNG vs WebP vs JPG.

Animated emoticons

BGPeel reads only the first frame of a GIF and doesn't create animations. For animated emoticons, export each frame as a separate PNG, remove the backgrounds of the whole folder in BGPeel, then assemble the PNGs in an animation tool. Every frame gets the same settings, so edge quality doesn't jump between frames. If order matters, name files with fixed-width numbers such as 001, 002.

Pre-submission checklist