What is Fountain?
Fountain is a plain-text markup language for screenplays. Think of it as Markdown for scripts. You don't click buttons or apply styles. You type a scene heading in capitals, put a character's name above their line, and any app that reads Fountain lays the page out in standard screenplay format.
Fountain is free and open source. It was created by John August, Nima Yousefi, and Stu Maschwitz, and the official spec lives at fountain.io. This cheat sheet follows version 1.1 of the spec.
It's also how a Film Room works: you write in Fountain, and the script is formatted as you type.
The 30-second version
Most of a screenplay needs only four rules:
Script
Fountain
INT. DINER - NIGHT
Rain against the window. JUNE (40s) stirs a coffee she isn't going to drink.
JUNE
(not looking up)
You're late.
CUT TO:- A line that starts with INT. or EXT. is a scene heading.
- A normal paragraph is action.
- A name in CAPITALS with a line right under it is a character, and the line is dialogue.
- A line in capitals that ends in TO: is a transition.
Everything else below is for when you need more.
The complete cheat sheet
Scene headings
| You type | You get |
|---|---|
INT. KITCHEN - NIGHT | A scene heading. Also works with EXT., EST., INT./EXT., INT/EXT and I/E. Upper or lower case. |
.FLASHBACK | A forced scene heading. A leading period turns any line into a scene heading. |
INT. KITCHEN - NIGHT #12# | A scene heading with scene number 12. Numbers can include letters, like #12A#. |
Leave a blank line before and after each scene heading.
Action
| You type | You get |
|---|---|
| Any ordinary paragraph | Action. |
!SUDDENLY, A SCREAM. | Forced action. Without the !, a line in all capitals could be read as a character name. |
Line breaks in action are kept exactly as you type them, and so are tabs and spaces at the start of a line.
Characters and dialogue
| You type | You get |
|---|---|
JUNE followed directly by a line of text | A character name with dialogue. There's a blank line before the name and no blank line between the name and the dialogue. |
JUNE (V.O.) / JUNE (O.S.) / JUNE (CONT'D) | A character extension. |
@McCLANE | A forced character, for names with lower-case letters. |
(whispering) on the line under the name or inside dialogue | A parenthetical. |
BRICK ^ as the second of two back-to-back character names | Dual dialogue. The two speeches print side by side. |
A character name has to contain at least one letter, so R2D2 works but 23 doesn't.
Transitions and centered text
| You type | You get |
|---|---|
CUT TO: | A transition: all capitals, ending in TO:, with a blank line before and after. |
> FADE OUT. | A forced transition, for ones that don't end in TO:. |
> THE END < | Centered text. |
Emphasis
| You type | You get |
|---|---|
*italics* | italics |
**bold** | bold |
***bold italics*** | bold italics |
_underline_ | underlined text |
\*not italic\* | A backslash escapes the asterisk, so it prints as a literal *. |
Lyrics, page breaks, and line breaks
| You type | You get |
|---|---|
~Happy birthday to you | Lyrics. |
=== on its own line | A page break. |
| Two spaces on an otherwise empty line inside dialogue | A blank line that stays part of the same speech. |
Things that never print
These keep your thinking inside the script file without showing up on the page.
| You type | You get |
|---|---|
[[Check this joke with Sam]] | A note. |
/* an old version of the scene */ | The "boneyard": anything between the marks is ignored, across as many lines as you like. Perfect for cut scenes you can't let go of. |
# ACT ONE | A section, for organizing. Use ## and ### for sub-sections. |
= June realizes he's not coming. | A synopsis, a one-line summary of a scene or section. |
The title page
Put the title page at the very top of the file as Key: value lines:
Title: THE LAST DINER
Credit: Written by
Author: June Calloway
Draft date: October 6, 2026
Contact:
[email protected]
(555) 555-0100
Common keys are Title, Credit, Author, Source, Draft date, and Contact. Values can continue on indented lines underneath, like Contact above.
A full worked example
Here's one page of Fountain. On the left is the finished page; on the right is everything that was actually typed.
Script
Fountain
EXT. DINER PARKING LOT - NIGHT
Rain. Neon. One car with its lights on.
JUNE (O.S.)
I can see you, you know.
LEO, 40s, rain-soaked suit, steps out of the shadows holding two umbrellas. Neither is open.
LEO
I brought you one.
JUNE
(stepping into the light)
You brought me a closed umbrella in a rainstorm.
LEO
It's a metaphor.
JUNE
For what?
He thinks about it. Too long.
CUT TO:
INT. DINER - CONTINUOUS
They sit. A WAITRESS sets down two coffees without being asked.Why write in Fountain?
- It works anywhere. Any text editor on any device can open a .fountain file, today or in 30 years. Nothing's locked inside one app.
- It's fast. No mouse, no style menus, no Tab key. Write like you think, and the format happens.
- It's easy to version. Plain text works with Git, file history, and side-by-side comparisons, so you can see exactly what changed between drafts.
- It travels. Fountain apps export to PDF, and many convert to Final Draft's .fdx format.
Apps that read Fountain
Fountain is supported across lots of tools. A few to know:
| App | Platform | Good for |
|---|---|---|
| Highland Pro | Mac, iPad, iPhone | Distraction-free Fountain writing |
| Fade In | Mac, Windows, Linux | Full screenwriting software that imports and exports Fountain |
| WriterDuet | Web | Real-time co-writing |
| Afterwriting | Web | Fountain-to-PDF with adjustable layout |
| Slugline | Mac, iOS | A native Fountain writing app |
| Film Room | Web, iPhone, Android | Writing with your crew: shared script, table read link, teleprompter, and a countdown for film challenges |
fountain.io keeps the full list of Fountain apps, including plugins for code editors like Sublime Text, Vim, and Emacs.
Moving Fountain in and out of other tools
- To PDF: Most Fountain apps export a standard screenplay PDF in Courier 12 pt.
- To Final Draft: Final Draft's help center says it can't open .fountain files directly. Save the script as a plain-text .txt file and import that, or convert to .fdx first with a tool like Highland.
- From PDF: There's no perfect converter. Text copied out of a PDF loses its layout, so expect to tidy up scene headings and character names by hand. The four rules above make that quick.
- From Word or Google Docs: Copy the text into a plain-text file. If scene headings start with INT./EXT. and character names are in capitals, most of it will convert on its own.
Want a starting file? Download our free Fountain template from the screenplay template page. Google Docs and Word versions are there too.
Frequently asked questions
Is Fountain free?
Yes. Fountain is free and open source, and you can write it in any text editor. Some apps that read it are paid, but the format itself costs nothing.
Do I need special software to write Fountain?
No. Any plain-text editor works, including Notepad, TextEdit (in plain-text mode), or a notes app. You only need a Fountain app when you want to see or export the formatted pages.
Can I import a Fountain file into Final Draft?
Not directly, according to Final Draft's help center. Save the script as a .txt file and import that, or convert it to Final Draft's .fdx format with a Fountain app first.
What's the file extension for Fountain?
.fountain. Because it's plain text, you can also save a Fountain script as .txt and it'll still read correctly in Fountain apps.
Does a Film Room keep Fountain formatting when I paste a script in?
Yes, for everything most scripts use: scene headings, action, characters and extensions, parentheticals, dialogue, transitions, centered text, emphasis, and page breaks. Notes, boneyard, sections and synopses stay in your file and don't print. A few rarer elements, like dual dialogue, lyrics, and scene numbers, show up as you typed them.
Is Fountain the same as Markdown?
No, but it's inspired by it. Some of the syntax is borrowed, like *italics* and # for sections, but Fountain's rules are built around screenplay elements.
