Fake WhatsApp Chat Generator
Paste a conversation and get a WhatsApp mockup with correct tails, ticks and group sender colours.
For parody, education, and mockups only
Leave blank to hide.
One per line. Prefix with a name and > for incoming, e.g. Hut 8 > text.
Shows sender names above incoming messages.
This is a generated image for entertainment purposes.
Everything here runs on your device. Nothing you enter is uploaded or stored.
Type a chat name, paste a conversation one message per line, and this draws a WhatsApp thread with the right bubble geometry, the right tick marks, and proper group sender colours.
How to use it
- Enter the chat or group name for the header, and optionally a presence line such as
onlineorlast seen today at 09:14. - Write the conversation with one message per line. Prefix an incoming line with a sender name and
>, likeHut 8 > Rotor settings are through. - Turn group mode on to show sender names above incoming messages.
- Choose the tick state for outgoing messages: sent, delivered or read.
- Pick light or dark, then Download PNG or Copy image.
WhatsApp and iMessage tail their bubbles at opposite ends
This is the detail that catches out every generator that tries to serve both platforms with one layout, and it is genuinely counterintuitive.
In iMessage, when someone sends several messages in a row, the tail — the small pointed flick that marks who is speaking — goes on the last bubble of that run, at the bottom corner. The earlier bubbles in the run are tail-less.
WhatsApp does the reverse. The tail goes on the first bubble of the run, at the top corner. Every subsequent message in that run is a plain rounded rectangle. So a run of three messages from the same person has its flick at the top of the first bubble in WhatsApp, and at the bottom of the third bubble in iMessage.
The corner radius differs too. WhatsApp uses a much tighter radius — around 8 pixels against iMessage’s 18 — which is why WhatsApp threads look boxier and iMessage threads look like capsules. Using 18px radii on a WhatsApp mockup produces something that reads as an iMessage screenshot wearing green paint.
The third structural difference is where the metadata lives. iMessage puts the delivery receipt below the final bubble, right-aligned, as separate small text. WhatsApp puts the timestamp and the tick marks inside the bubble, at the bottom right, in muted text. That has a real consequence for layout: the bubble has to be wide enough for its last line of text plus the timestamp block beside it, otherwise the text and the timestamp collide. This tool measures for that, which is why a very short message still produces a bubble around 90 pixels wide rather than shrinking to fit two words.
Group sender colours are from a fixed rotating palette
In a group chat, WhatsApp labels each incoming message with the sender’s name in colour. The colours are not random — they come from a fixed palette of around six, assigned per participant, and they stay stable for the life of the chat.
This tool hashes each sender name to pick from that palette, which means the same name always produces the same colour within a mockup and across sessions. That stability matters: a mockup where the colours reshuffle every time you edit a line looks wrong, and if you are producing a series of screenshots for a presentation the participants need to keep their identities.
Sender names only appear on the first message of a run, never on every message, and never on outgoing messages.
What it does not do
It renders text messages only. Voice notes with waveforms, image and document attachments, reply quotes, forwarded labels, and emoji reactions are not implemented. The background is the flat chat colour rather than the doodle wallpaper, and there is no way to import a real conversation.
Nothing is uploaded. The canvas is drawn in your browser and the PNG is produced on your device.
Tail and radius, compared with iMessage
| Property | iMessage | |
|---|---|---|
| Tail position | First bubble of a run | Last bubble of a run |
| Tail corner | Top | Bottom |
| Corner radius | 8px | 18px |
| Timestamp location | Inside the bubble | Below the thread |
| Sent bubble, light | #d9fdd3 | #0b93f6 |
| Sent bubble, dark | #005c4b | #0b93f6 |
Tick states
| State | Appearance |
|---|---|
| Sent | One grey tick |
| Delivered | Two grey ticks |
| Read | Two blue ticks (#53bdeb) |
Questions
How do I write a group conversation?
Prefix each incoming line with the sender name and a greater-than sign, like "Hut 8 > message text". Each distinct name is automatically assigned a colour from WhatsApp's own rotating palette, and the same name always gets the same colour.
Why is the tail on the first bubble and not the last?
Because that is how WhatsApp does it, and it is the opposite of iMessage. WhatsApp tails the first message of a consecutive run at the top corner; iMessage tails the last one at the bottom. A generator that uses one layout for both platforms has one of them wrong.
What do the tick marks mean?
One grey tick means the message left your phone. Two grey ticks mean it reached the recipient's device. Two blue ticks mean they opened the chat and read it. Only outgoing messages carry ticks, never incoming ones.
Is this legal to use?
For parody, education, design mockups and screenwriting, yes. Fabricating messages to present as genuine evidence, to impersonate someone, or to defraud is not, and can be a criminal matter. The output is a generated image.
Last updated