WhatsApp Sticker Maker
Any photo into a sticker: the background cut away, a white outline round it, 512 × 512 WebP.
Runs entirely in your browser
Loading the tool…
Drag the line to compare with the original.
A sample is in. Choose your own, or drop it on the picture.
Crisp for objects and logos, soft for hair and fur.
Saved the way WhatsApp asks: 512 × 512, WebP, a transparent background, under 100 KB.
Your photo is opened by this page and never uploaded. The background is found by a small neural network running in this tab, so the page keeps working with the network off.
Choose a photo of a face, a pet, a friend mid-laugh, and it comes back as a sticker: the background cut away by a small neural network running in this tab, a white outline traced round what is left, and a caption if you want one. It is saved the way WhatsApp asks for a sticker: 512 × 512 pixels, WebP, with a transparent background, under 100 KB, with the outline WhatsApp suggests so it stands out on a light chat or a dark one.
The photo is never uploaded. Sticker sites usually send your picture to a server to cut it out; this page has the network in it and is served with a rule that forbids it from opening a connection at all. Once it has loaded, it works with the network off.
If the cut missed something, Erase and Restore fix it by hand: paint over what should go or stay, and the sticker is redone round your strokes. The outline can be made thicker, thinner or turned off, and the caption sits above or below the picture in the colour you choose.
How to use it
- Choose a photo, or drop it on the picture. It is never uploaded.
- Wait a few seconds while the subject is cut out, on your device.
- Set the white outline, and add a caption if you want one.
- Fix anything the cut missed with Erase and Restore.
- Download the WebP sticker, then in WhatsApp go to Stickers, Create, and pick it; or send it once and add it to your favourites.
Questions
How do I get the sticker into WhatsApp?
Two ways, both inside WhatsApp. The first is WhatsApp's own Create sticker: in a chat, open the emoji panel, go to Stickers, choose Create, and pick the file you downloaded. It is in WhatsApp Web, WhatsApp Desktop and recent versions of the phone apps, and what you create is kept in your stickers. The second works everywhere: send the sticker once, to any chat (a chat with yourself is fine), then on your phone tap it and choose Add to Favourites. It stays under the star in your sticker panel, ready to use again. Menu names can differ a little between WhatsApp versions.
How do I save it to my WhatsApp sticker library?
Add it to your favourites, or make it with WhatsApp's Create sticker, as above: both keep it in your sticker panel. What a web page cannot do is add a sticker pack to the tray. WhatsApp only takes packs, of 3 to 30 stickers with a 96 × 96 icon, from an app installed on the phone, and no browser can hand one over. To build a large pack, a sticker app from your app store can import the WebP files made here from your gallery and add them to WhatsApp.
What does WhatsApp ask of a sticker?
Exactly 512 × 512 pixels, in WebP, with a transparent background, and no more than 100 KB for a still sticker. It suggests a white outline of about 8 pixels, and a margin of a few pixels round the edge. This page saves to that: if the first WebP is over 100 KB it is saved again at a lower quality until it fits.
Why WebP and not PNG?
Because WhatsApp's stickers are WebP files. Chrome, Edge and Firefox write WebP; Safari cannot yet, and there this page saves a PNG and says so. Copy puts a PNG on the clipboard, since clipboards do not take WebP.
Is my photo uploaded?
No. The network that finds the subject is part of this page and runs in your browser, and the page is served with a security policy that forbids it from opening a network connection. Your photo stays on your device.
Your data stays on your device
Everything above runs inside your browser as WebAssembly compiled from Rust. Nothing you type is uploaded, logged or stored on a server. You can load this page once, go offline, and it still works.
This page makes no requests at all, to anywhere. That is not a promise in the copy: it is a Content-Security-Policy header your browser enforces, and connect-src on it is none. Open the network tab and watch nothing happen.