FDX & Final Draft Files

What Is an FDX File? Final Draft XML Explained

An FDX file is a screenplay saved in the format Final Draft writes: a single XML document carrying every paragraph, its element type, scene numbers, the title page and revision marks. Because it is plain text rather than a binary or zipped format, other apps can read and write it without Final Draft installed.

Updated 2026-09-18 · About 6 sections · 5 answered questions

FDX is Final Draft's XML screenplay format

An FDX file is a screenplay saved in the format Final Draft writes: a single XML document with a .fdx extension. The letters come from the two halves of the name — Final Draft, and XML. Writers usually say Final Draft XML for exactly that reason.

Final Draft introduced FDX with version 7, replacing the older .fdr format used by Final Draft 5 and 6. Every version since writes .fdx, and it has become what production companies, producers and screenplay competitions ask for when they want a working script rather than a PDF.

FDX was built to be read by other software from the start. Final Draft does not publish a formal specification, but the structure is simple enough that anyone can open a file, look at it, and write a reader for it in an afternoon. That is the most useful thing to know about the format: it is text, and the text is legible.

The whole script is one plain-text XML document

There is no zip container, no compression and no binary section. Open an .fdx in any text editor and you are looking at the entire file in UTF-8. A short passage of screenplay looks like this:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<FinalDraft DocumentType="Script" Version="5">
    <Content>
        <Paragraph Type="Scene Heading">
            <Text>INT. NORTH POINT LIGHTHOUSE - NIGHT</Text>
        </Paragraph>
        <Paragraph Type="Action">
            <Text>The lamp sweeps the water and catches a dinghy drifting sideways.</Text>
        </Paragraph>
        <Paragraph Type="Character">
            <Text>MARA</Text>
        </Paragraph>
        <Paragraph Type="Parenthetical">
            <Text>(into the radio)</Text>
        </Paragraph>
        <Paragraph Type="Dialogue">
            <Text>You can see the whole coast from up here.</Text>
        </Paragraph>
        <Paragraph Type="Transition">
            <Text>CUT TO:</Text>
        </Paragraph>
    </Content>
</FinalDraft>

Reading it is mechanical. <FinalDraft> is the root element, and its Version attribute records which revision of the format wrote the file — versions released in the last decade or so write Version="5", older drafts carry lower numbers. <Content> holds the script body. Every block on the page, from a scene heading to a line of dialogue, is one <Paragraph>, and the words themselves live inside <Text>.

The Type attribute is the entire formatting system in one word. The values in a normal script are:

  • Scene Heading — the slugline.
  • Action — description.
  • Character — the cue above a speech, in caps.
  • Parenthetical — the bracketed direction inside a speech.
  • Dialogue — the speech itself.
  • TransitionCUT TO:, DISSOLVE TO: and friends.
  • Shot and General — rare, used for shooting-script language and free text.

Note what is missing: nothing in the file says how far a dialogue block is indented. The paragraph declares Type="Dialogue" and the app looks up its own settings for that element. That split — meaning in the file, layout in the app — is why software that has never heard of Final Draft can open an FDX and still show you a screenplay.

What an FDX file stores

Stored asWhat it holds
<Paragraph Type="…">The formatting element for every paragraph: scene heading, action, character, parenthetical, dialogue, transition.
<Text>The words, plus inline Style attributes on any run that is bold, italic or underlined.
<SceneProperties>The scene number and the page it was numbered on, so a number stays welded to its scene as pages shift.
<TitlePage>The title page, kept in its own block separate from the script body.
<DualDialogue>Dual dialogue: two speeches that sit side by side on the page.
Revision dataThe revision set, plus a RevisionID on each run of text that belongs to a revision — the data that colours a revised page.
<PageLayout> and <ElementSettings>Page size, margins and the per-element indentation the app uses to lay the script out.
Script notesNotes attached to paragraphs. Final Draft-specific, and usually the first thing other apps drop.

That table is what separates FDX from plain text. A .txt export of a screenplay has the words. An FDX has the words plus the structure, the numbering and the revision history — which is why it is the file you send when someone needs to work on the script, and a PDF is what you send when someone only needs to read it.

What an FDX file does not store

Three things people assume are inside the file and are not:

Font
No font is stored. Final Draft lays out a script in Courier Final Draft; open the same file in an app defaulting to a different Courier and the glyph widths change, which changes where lines wrap.
Pagination
No page breaks are stored. Page count is computed from page size, element settings and font metrics, so the same script can run a page or two longer in one app than another. This is why two writers comparing "page 84" are sometimes looking at different scenes.
Rendered appearance
There are no images, no embedded fonts and no fixed layout. An FDX is data for an app to render, not a finished document. If you need a document that looks identical everywhere, that document is a PDF.

Two more practical absences. The file carries no ownership or permission data, so nothing stops another app writing a valid one. And it knows nothing about your other scripts: scene numbers live inside each file rather than in a project database.

Why other apps can open an FDX without Final Draft

Parsing an FDX file means walking the paragraphs and reading the Type value. There is no schema to fetch, no key exchange and no licence check. That is why a free browser viewer can show you a script in seconds, and why phone and tablet apps can open one natively.

The reverse holds too. Anything that writes well-formed XML with the expected element types produces a file Final Draft will open, whether or not Final Draft wrote it. FDX behaves like an exchange format first and a proprietary asset second.

The catch is preservation rather than access. The core elements — scene heading, action, character, parenthetical, dialogue, transition — survive a round trip almost anywhere. The fragile ones are script notes, revision colours, dual dialogue and any custom element settings. If a draft is going back to a producer or a writer who lives in Final Draft, either keep those elements out of the shared copy or verify one round trip before you trust it with a whole script.

Opening, editing and converting FDX: where to start

Three jobs, three different answers:

  1. Reading it. Double-clicking an .fdx on a computer with no screenplay app installed gives you an XML tree, not a script. A free browser viewer opens it properly — correct indents, a page count, a scene list — and needs no account.
  2. Editing it. Zen Writer imports FDX on iPhone, iPad, Mac and Android, and exports FDX back out, so the file you return is the same format you received.
  3. Converting it. PDF when you need a fixed, sendable document; Fountain when you want plain text you can edit anywhere. Keep the FDX as the master file and treat both as exports.

The rest of this cluster covers each path in detail: how to open an FDX file with or without Final Draft, how to edit one without owning Final Draft, how to convert between FDX, PDF and Fountain, and how FDX compares with Fountain as a working format.

Frequently asked questions

Is an FDX file the same thing as a Final Draft file?

Yes. FDX is the format Final Draft has written since version 7, so a .fdx file is a Final Draft file in the same way a .docx is a Word file. Files ending in .fdr come from Final Draft 5 and 6 and are an older, different format.

Can I open an FDX file without Final Draft?

Yes. FDX is plain XML, so a free browser viewer, a phone or tablet app, or even a text editor can open the file. What differs is what you can do next: reading is easy anywhere, while editing with correct element indents and exporting a valid FDX back needs an app that understands the format.

Does an FDX file store page numbers?

No. Scene numbers are stored, but page numbers are not: the app computes them from the page size, the indentation settings and the font's metrics. Export the same script from two different apps and the page count can differ by a page or two.

Can I convert an FDX file to a PDF?

Yes, and it is the right move when you are sending a script to someone who only needs to read it. Bear in mind that a PDF is a fixed layout: it cannot be edited as a script, so keep the FDX as the working file and treat the PDF as an export.

Is FDX only for Final Draft, or can other apps write it?

Other apps can write it, because a valid FDX is just well-formed XML using the expected element types. Verify one round trip before you rely on it with a whole script, since apps differ in how much of the format they preserve.

Ready to turn this idea into a screenplay?

Zen Writer imports FDX files, so you can open a Final Draft script on iPhone, iPad, Mac or Android, edit it, and export a valid FDX straight back.

Open an FDX in Zen Writer

Free on iPhone, iPad, Mac and Android.

Continue reading

More in fdx & final draft files