Your work is in this browser from the first keystroke. Everything below is about getting it somewhere else — into a PDF, into another tool, onto another machine.
In this browser, on this computer, saved as you type. No account, no upload, no Save button.
The consequences are the ones you would expect. Clearing your browser data clears your projects. A project written on a laptop is not on your phone. Two browsers on the same machine are two separate libraries.
Whatever else you do, export a bundle now and then. It is one file, it needs no account, and it depends on nobody staying in business.
The screenplay as plain text, in the Fountain format that other screenwriting tools read. It carries the title page, the sections and the synopses.
It does not carry the story line, the treatment, the character profiles
or the notes, because a .fountain file is a screenplay and
nothing else. That is the point of the format, not a limitation of the
export.
The screenplay in the .fdx format, so it opens in Final
Draft and the other tools that read it. It carries the elements, the
dual dialogue and the title page; the outline — sections and synopses —
travels as script notes.
.fdx is an open XML format its maker publishes and shares
with third-party tools, so exporting one is interoperability, not a copy
of anyone's software. Fabula One is not affiliated with, endorsed by, or
certified by Final Draft; "Final Draft" is their trademark, named here
only to say which format this file is compatible with.
Opens a dialog. Tick the parts you want:
A part with nothing in it is offered greyed out, so no export produces an empty section.
Whether the parts arrive as one file or several is not asked here — it is a setting of the project, under Options ▾ → PDF export, because the answer rarely changes between exports: somebody sending a package wants one file every time. With more than one part ticked, this dialog says which way it will go.
The screenplay as an e-book — the version to read on a phone or an e-reader rather than one to print. It carries the title page, and the poster becomes the cover; a project with no poster gets a plain cover with its title on it. Acts become the chapters — or the scenes do, where there are no acts — so a reader can move through it.
An EPUB reflows to fit whatever screen opens it, which is what makes it comfortable to read and, in the same breath, the wrong file to shoot from: it has no fixed pages, so the page-a-minute the PDF keeps does not survive it. Export a PDF for a production document and an EPUB for a reader.
The whole project as a folder of ordinary files. This is the one to keep, and the one to send yourself.
script.fountain the screenplay, in Fountain
storyline.txt the story line, as plain text
treatment.md the treatment, in Markdown
characters.json character profiles
settings.json what you have written about the places
reading.json how this script's scene headings are to be read
beatsheet.md the structure, with the page each part starts on —
and, where a named structure was used, the page it
aims at
meta.json what kind of project this is, and which version of
this format the bundle uses
versions/ earlier drafts, each in this same shape
Nothing in a bundle is locked to this app. Open any of it in a text editor.
reading.json is the small one and the easiest to overlook.
A scene heading is a place and usually a time, and which word is which
is a matter of what language you write in — so the app asks you, once
per word, and this is the answer for the words this script
depends on. Without it a draft you send somebody could come apart
differently at their end. See
Settings. The same file carries the
other two judgements the app cannot make for you: the headings you said
were not locations, and the shouted words you said were not people. It
is written only where there is something to say — a project that raised
no question has no such file.
beatsheet.md is the one file here that is derived rather
than stored: the headings live in script.fountain and the
structure in meta.json, and this is a rendering of both. It
is written out because a beat sheet is the part of a project that gets
read away from the app — sent to a producer, or stuck on a wall — and
nothing is gained by making somebody open this program to see it.
Editing it does nothing: importing the bundle reads the screenplay, not
the sheet.
meta.json names the kind of project — a screenplay today,
and the field exists so that a stage play or an audio play can say so
later. It is the one thing in the bundle that nothing else carries:
Fountain has no key for it, and what a project is decides how
the rest of it should be read. The title and author are copied there
too, so a folder of bundles can be listed without parsing each
screenplay — but script.fountain remains the authority on
both, and is what gets read back.
Import in the toolbar reads three things from your computer, each into a new project:
.fountain file — any Fountain
screenplay, from this app or another one.
.fdx) — the
screenplay, its title page and its script notes. What Final Draft
keeps and this app has nowhere to put — revision marks and colours,
locked pages, the SmartType lists — is left behind, and the import
says what it left.
.zip) — everything
comes back: script, story line, treatment, characters and any drafts
inside it.
Import never replaces what you have open. It opens a new project beside it.
Optional, free, and off unless you ask for it. Sign in with an email address — a code arrives, there is no password — and your projects are copied to the server as you write.
Signing in gets you:
A session lasts 120 days. Space is 50 MB per account, which is a great many screenplays — a long one is a couple of hundred kilobytes.
Both backup dialogs — Open from backup… and Manage backup… — search by title and sort by name, by when a project last changed, or by when it was started, in either direction. The list itself is a fixed five rows deep and scrolls, so nothing below it moves as a search narrows it.
Sorting by when a project was started only knows about projects backed up from September 2026 onward: the server did not record that date before, and inventing one from the last change would say a screenplay revised for two years was started this morning. Anything older sorts to the end of that list, in both directions.
It is backup, not sync. The server never merges two versions of a screenplay and never picks a winner. If the same project has changed in two places, the app tells you and lets you decide, rather than quietly resolving it and hoping you agree.
Individual projects can be kept off the server. From the backup dialog you can also delete the server's copy of a project while keeping the one on this computer — the two are separate, and the app is explicit about which one an action touches.
The ✕ on a project in the Projects panel is Close, not Delete: it takes the project out of this browser and never touches the backup.
If the project is backed up and you are signed in, it closes without a prompt — it is one sign-in away from coming back. If it is not backed up, the app stops and suggests exporting a bundle first, because then closing really is the end of it.