What the bubbles are doing
A text story is not a screenshot with a caption pasted underneath. The thread is the plot. Each new bubble is a cut. The viewer cannot skim ahead, because the next line does not exist on screen until the recording reaches it. That constraint is the form. If your scene needs a paragraph of explanation, it does not belong in this shape. Put the explanation in a later episode, or cut it.
The useful shape is short and strict: a hook, an escalation, a twist, and an ending. Four jobs, in that order. You can spend several bubbles on the middle. You should not spend the opening on setup the viewer did not ask for, and you should not spend the ending on a moral. The five scripts on this page are complete versions of that shape. They load from the menu. The notes under each title say which job each beat is doing, so you can steal the structure without stealing the plot.
Controls for the phone, the script box, and the file buttons live in the tool above. The line format is documented on the fake iMessage generator. This page does not repeat that table. It assumes you can load a script, and it spends the words on how a thread becomes a story someone watches to the receipt.
Hook: the first bubble is already late
Open in the middle of a problem. “I put the spare key back” is a hook because the word “back” admits the key was gone. “Don’t come up the main stairs” is a hook because it forbids an ordinary action. “Is Pinto still scratching the cone?” is a hook because a stranger used a private name. A hook is not a teaser caption you plan to add in an editor. It is line one of the thread.
Say the names only if the viewer needs them to parse the next bubble. A one-to-one thread can leave both people half-known. A group thread should put the conflicting names on screen quickly, because the viewer is tracking voices. Do not open a group with a hello from every member. Open with the accusation, and let the denials introduce the cast.
The header clock can support the hook without a sentence. A late clock and a dark frame tell the viewer the building is quiet before anyone says so. A bright frame and a midday clock tell them the lobby is public. Set those in the phone block so you do not waste a bubble on “it’s late”.
Escalation: every line adds a fact
The middle is a stack of facts that make the hook harder to walk away from. In a hallway story the door is not only open; the light is out, then the kettle is on, then someone is already inside the doorway. Each fact should be harder to undo than the one above it. If a line restates the previous line in different words, delete it. The recording will feel faster and the twist will arrive while the viewer still cares.
Escalation can be social instead of physical. A family thread escalates when each person produces an alibi and the brick is still in the door. A hiring thread escalates when the ask gets more improper: first a screen, then a passport picture. Keep the blue side slightly behind the incoming side. If you, the blue bubbles, solve the problem in the second line, there is no story. Ask a short question. Refuse a small thing. Move one step closer. Save the reversal for later.
Pauses belong on the lines where a person would actually hesitate. A pause before a denial reads as guilt or as care, depending on the words that follow. A pause before a new speaker in a group reads as an interruption. Dots do the same job with a face. Use one of them before the line that raises the stakes, not both on every row. The shared gap in the tool is the baseline. The row pause is the emphasis.
Twist: re-label the thread
A twist does not require a jump scare. It requires the viewer to re-read the hook with a new label. The spare key was not a neighbor being helpful; there is a key on the counter that does not belong to the apartment. The dog’s name was not a threat; it was a slip at a clinic. The hiring text was not a rushed recruiter; the candidate wrote the posting. The family argument was not private; the front desk can see it. The kettle did not get turned off by a person; it stopped when the door latched.
Put the twist in one bubble if you can. A twist that needs three bubbles of explanation is a speech, and speeches die in this format. If you need a second bubble, make it a consequence, not a glossary. “The key on the counter is not ours” is the twist. “Step into the hall” is already the ending’s first move. Do not insert “so what I mean is” between them.
A new name is a clean twist in a group, with one condition: the script has to be a group from the first line. This tool does not morph a one-to-one thread into a group halfway down the file. If the surprise is a person who was on the thread all along, write the whole piece as a group and hold that person’s first line until the turn. Ellis does not speak until the family has finished blaming each other. The viewer meets Ellis as an intrusion, even though the header was a group the entire time.
Ending: a decision, then stop
End on a choice. Stay on the phone until the knock. Take the thread off the lobby phone and move the brick. Leave the cone on until Friday. Delete the fake recruiter and say what a real desk does. Meet on the landing and do not go back up alone. Those are endings because a person has committed to the next physical act. “Wow” is not an ending. A bubble that explains the theme is not an ending.
After the last word, leave the receipt. Delivered, then Read, is the story’s final cut: someone saw it. Do not add a bubble after that in the script just to fill time. If the landing line is too short to read, lengthen the gap before it, not the gap after a redundant goodbye. When you export, watch the file once with the sound off. If you are bored before the twist, the middle is long. If you do not understand the last act, the twist was a riddle instead of a re-label.
Five scripts, and the job of each beat
Load any of these from the example menu. The full text is also printed here so you can read the shape before you press record. They are fiction written for this page. Change any name that collides with a real person in your life before you post.
The spare key
Hook: the key was returned, which means it left. Escalation: the mat is rotated, then she is already in the kitchen against instructions. Twist: the key on the counter is a stranger’s. Ending: the building super is coming, and she stays on the phone until the knock. One dark frame, two people, no group. The question-mark tapback sits on the moment she admits she went inside.
Ellis from the desk
Hook: a garage door propped on a brick, asked in a family thread. Escalation: three alibis, none of which move the brick. Twist: Ellis at the front desk has the thread on the lobby phone. Ending: the brick’s owner claims it, and someone goes downstairs. Four names. The double-exclamation tapback marks the intrusion, not the brick.
The dog’s name
Hook: an unknown number uses the dog’s name and the cone. Escalation: the sender knows yesterday’s call but the blue side never gave out a nickname. Twist: it is the clinic’s after-hours line, and the day desk wrote the name on a slip. Ending: a concrete instruction, cone on until Friday, and a last line that sounds like a person rather than a pamphlet. The heart tapback is relief, not romance.
The interview that flipped
Hook: a fast screen for a job the blue side recognizes. Escalation: the sender demands a passport photo. Twist: the blue side wrote the posting, and the posting does not recruit this way. Ending: the sender retreats, and the last line draws the boundary in one sentence. The question-mark tapback is on the reversal, where the sender has to absorb it.
Apartment 4B, part one
Hook: do not use the main stairs. Escalation: an open door, a dark hall, a kettle. Twist: the kettle stops because the door was pulled shut, not because a person turned the stove off. Ending: meet on the landing with the flashlight, and nobody goes back up alone. The thumbs-up is grim, not cheerful. This one is built to continue. The next part should start on the landing, flashlight in hand, without retelling the kettle.
Voice and background, in your editor
This site does not record a voiceover and does not supply a background clip. The download is the phone, the bubbles, the receipt, and a plain backdrop, plus the optional blip if you checked the tone. Anything else is a second pass you do somewhere else.
If you want speech, record it after the picture is locked. Play the silent export and talk only in the gaps, or talk under the bubbles if your voice is not competing with a line the viewer must read. A voice that reads the bubbles out loud usually fights the text. A voice that adds what the bubbles cannot show — a breath in the stairwell, a kettle you claim to hear — earns its place. Keep it quieter than you think. The words on screen are the loud object.
If you want a background picture, put the downloaded file on an upper track and a clip you have rights to on a lower track. Scale the phone down if you need the background to show at the edges. Do not stretch the 1080 by 1920 file into a square. Crop in the editor, or leave the vertical frame alone. Titles, captions, and end cards are the same pass. This page will not add them, which is deliberate: the story file stays free of a trailer card.
Music is the same deal. If you use a track, you are responsible for the license. Fade it under the twist rather than under the hook, so the opening is intelligible. None of that mixing happens here. Export the story, then leave the site and finish the cut.
A series without a recap
A series is several files that share names and a rule. It is not one enormous thread. Viewers meet each part at the start of that file. If part two opens by quoting part one, you have written a recap, and recaps burn the hook. Open part two on the next physical beat. Apartment 4B’s landing is that beat. The flashlight is a prop the previous ending already named, so you do not have to explain the cupboard again.
Keep the header stable. Same contact name, same light or dark choice, same way of writing the clock. Change the clock so time has passed, unless the next part is continuous. A continuous part can keep the clock and the battery and simply continue the lines. A next-day part should look slightly later: a new clock, a battery that is not identical, a first line that assumes the landing already happened.
Give each part its own twist. A series that only withholds the same secret gets dull by part three. Part one can reveal the kettle. Part two can reveal who is in the stairwell. Part three can reveal why the door was open. Write those as three exports. Post them as three pieces. The tool stores one draft per browser for this page, so copy a script you want to keep before you load the next part over it. The box is the backup you can paste into a note.
End a part on a decision that the next part can contradict. “Nobody goes back up alone” is strong, and it is also a promise a later part can break. If you break it, show the break in line one of the new file. Do not hide the break under four bubbles of small talk. The viewer’s memory of the promise is the hook.
Pacing the read, not a stopwatch
Readability is a writing problem before it is a number. Short bubbles. One idea each. Names when a new person enters, then pronouns and bare replies. A group thread that repeats full names every line looks like a transcript, not a fight. Let the color and the label do that work, and spend the text on the brick, the door, the desk.
Put the hardest sentence on its own bubble. A passport demand should not share a bubble with a friendly emoji and a scheduling question. Split them. The viewer’s eye stops on the ugly ask, which is what you want. Then let the blue side answer only that ask. A reply that answers three things at once teaches the viewer to skim, and skimming is how they miss the twist.
Watch the file on a phone if you can, not only in the wide preview on a desktop. The preview here is the same frame the file uses, but your posture is different when the phone is in your hand. If you have to pause the export to finish a line, that line is too long or the gap in front of it is too short. Fix the script and export again. The page does not charge you for the second file.
Fiction, posted as fiction
These recordings are made up. Say so in the caption if there is any chance a viewer could think the thread is a capture from a real phone. Do not use a neighbor’s name, a coworker’s name, or a photo from someone who did not agree to be the header. Do not build a thread that accuses a real person of a real act. The spare key, the clinic, the fake recruiter, the lobby phone, and apartment 4B are invented. Keep them that way, or invent your own with the same care.
ChatGPT2Word is not Apple. The bubbles are a lookalike for storytelling. They are not a message that will arrive on someone’s phone, and they are not a record you can hand to anyone as proof. If a plot needs a true transcript, this is the wrong tool. The generator page is the same studio aimed at mockups and the line-format reference. Stay on this page when you are writing episodes.
The scripts
The spare key
A neighbor text that starts with a returned key and ends with a super on the way up.
::contact Nia
::carrier Mobile
::time 18:42
::battery 58
::theme dark
Nia: I put the spare key back under the mat.
Me: I have mine. Why was it out?
(pause 1)
(typing)
Nia: The mat was sideways when I got home.
Me: Sideways how?
Nia: Corner toward the door. I always leave it square.
(pause 2)
Me: Don't go in. I'm two stops away.
(typing)
Nia: Too late. I'm in the kitchen.
(react ❓)
Nia: The key on the counter is not ours.
Me: Step into the hall and call the building line.
Nia: Already ringing. The super is on the way up.
Me: Stay on the phone with me until you hear his knock.
Ellis from the desk
A family argument that was never as private as the group thought.
::group
::contact Building chat
::carrier Mobile
::time 12:16
::battery 71
::theme light
Mom: Who left the garage door on a brick?
Me: Not me. I used the side door.
Dad: I came up the elevator.
(pause 1)
Mom: Then why is the brick still there?
(typing Ellis)
Ellis: Hi. Front desk. This thread just showed up on the lobby phone.
(react ‼️)
Me: Who added the desk?
Mom: I thought this was only us.
Ellis: A resident forwarded it. I can see the last four lines.
Dad: Sorry. That brick is mine. I was holding the door for a delivery.
Me: We're taking this off the desk phone.
Ellis: Please do. And move the brick. The door won't latch.
Mom: Dad is on the way down.
The dog's name
A stranger knows the dog. The twist is a slip of paper at the clinic, not a stalker.
::contact Unknown
::carrier Mobile
::time 07:05
::battery 33
::theme light
Unknown: Is Pinto still scratching the cone?
Me: Who is this?
(pause 2)
Unknown: Brown dog. Cone of shame. You called yesterday after lunch.
(typing)
Me: I called the vet. I did not give this number a name.
Unknown: This is the after-hours line. The day desk wrote Pinto on the slip.
(react ❤️)
Me: He hates the cone. He is also fine.
Unknown: Leave it on until Friday. Call the day desk if the paw swells.
Me: Friday. Day desk. Thank you.
Unknown: Give Pinto a boring evening. Boring is the treatment.
The interview that flipped
A hiring text asks for a passport photo. The candidate wrote the job post.
::contact Remy Cole
::carrier Mobile
::time 15:30
::battery 84
::theme light
Remy Cole: Quick screen for the archivist role. You free?
Me: I am. Which library?
(pause 1)
Remy Cole: We move fast. Send a photo of your passport and today's availability.
(typing)
Me: A passport photo is not a screen. Which branch are you hiring for?
Remy Cole: Downtown. The posting is live. I can send the link.
(pause 2)
Me: I wrote that posting. It does not ask for a passport, and it does not recruit over text.
(react ❓)
Remy Cole: You wrote it?
Me: Yes. Send the role from the careers address, or stop.
Remy Cole: Wrong thread. Deleting this.
Me: Do that. The real desk does not hire in a bubble.
Apartment 4B, part one
A hallway cliffhanger. The next episode can open on the landing without restating the kettle.
::contact Jo
::carrier Mobile
::time 23:11
::battery 19
::theme dark
Jo: Don't come up the main stairs.
Me: I'm in the lobby. Why?
(pause 1)
(typing)
Jo: 4B's door is open and the hall light is out.
Me: Did you knock?
Jo: I knocked. Nobody answered. The kettle is screaming.
(pause 2)
Me: I'm taking the side stairs. Stay out of the doorway.
(typing)
Jo: Too late. I pulled it shut.
(react 👍)
Jo: The kettle stopped when the door latched.
Me: That's worse. Meet me on the landing.
Jo: Landing. Bring the flashlight from the meter cupboard.
Me: Nobody goes back up alone.
Questions
What is a fake text story?
A short fiction told as a phone thread. The viewer reads bubbles instead of a caption. This page plays that thread as a vertical video, and it can also freeze the same thread as a PNG. It is a writing surface plus a recorder, not a posting app.
How should the first line work?
Open on a line that is already in trouble. A returned key, a wrong name, a closed door. Do not spend the opening on hello, on introductions, or on a line that explains the format. The first bubble is the hook. The viewer should need the second line.
What is the escalation for?
Each middle line should make the first problem harder to ignore. Add a detail the first line did not have, or a person who was not supposed to be in the thread. If a line could be deleted without the ending changing, cut it before you export.
Where should the twist sit?
After the viewer thinks they understand the thread, and before you spend the last lines explaining the joke. A twist can be a new speaker, a fact that reverses the blame, or a quiet line that re-labels everything above it. Put a pause or a typing beat in front of it so the cut has a breath.
What belongs in the last line?
A decision or a picture the viewer can leave on. Who stays on the phone, who goes downstairs, who stops answering. Do not add a bubble that restates the twist in plainer words. End, then let the read receipt sit, then stop the recording.
How do I load a sample script?
Use the example menu above the script box and press Load example. This page opens with the first story already loaded and with video mode selected, unless this browser already has a draft saved for the story page. Loading a sample replaces the message list.
Can this page record my voiceover?
No. The optional tone is a short synthesized blip when a bubble appears. It is not a voice, and it is not a music bed. Record speech in the editor you already use, then lay that audio next to the downloaded video.
Can this page add a background video behind the phone?
No. The video file is the phone on a plain backdrop, at 1080×1920. If you want a street clip, a title, or a crop, do that in an external editor after you download. This site does not host stock footage and does not promise a second compositing step.
How do I turn one story into a series?
Write the next part as its own thread. Open on the place the last line left, and do not replay the previous episode in the first three bubbles. Keep the same names and the same header clock style so the parts look related. Export each part as its own file.
Will the video show a read receipt?
Yes. After the last line, the blue side shows Delivered, then Read. That beat is part of the recording. The still PNG can show Delivered, Read, or neither, from the receipt menu. Hiding it on the still does not remove it from the video.
Can I change how long each line waits?
Yes. Seconds between lines sets the gap for any message that does not have its own pause. A (pause 2) in the script, or a pause on that row, replaces the shared gap for that one line. Typing dots borrow time from the same gap.
Can I post the sample scripts?
Yes, as fiction. The five stories on this page are original examples, and you may record them. Change the names if a name is someone real in your life. Do not present the file as a captured conversation, and do not put a real person’s photo in the header.