Write the cue
where the idea
happens.

CueScript is a shared notation, plain text, open standard, that lets everyone in the production work the same way across roles, tools, and disciplines.

Read the Specification ↗ Get Involved

How a cue is written

Cue type LX · SQ · MQ · CAMERA · VIDEO

Any uppercase identifier. Use domain conventions or define your own.

Number 1 · 5a · 12b · 1.5 · A3

Letter suffixes and decimals for inserting cues between existing numbers.

Trigger on "word" · after 3s · with action optional

When the cue fires — on dialogue, after a delay, or simultaneous with an action.

fade=3s · level=80% · file="x.wav" optional

Key-value pairs for technical parameters. Standard keys defined; custom keys always allowed.

The format

CueScript is plain UTF-8 text. It sits naturally inside Fountain scripts, but the notation is tool-agnostic — any parser can read it from any text source that contains it.

Write in whatever tool you already use — Final Draft, Word, Pages, Google Docs, any text editor. The notation travels with the text.

No lock-in. No required tools. No accounts. The specification is open and published under CC BY-ND 4.0.

File extensions

.fountain

Maximum compatibility. Opens in any Fountain app. Share with writers and directors.

.cuescript

Signals CueScript-aware tooling. Use for production calling scripts and technical documents.

Both contain identical UTF-8 text. Rename freely.

In practice

theatre_scene.cuescript
INT. STAGE - NIGHT

The doors open. The orchestra swells from the pit.

LX (cue 12) on "The doors open" : Fade up to full stage wash
SQ (cue 5) with door slam : Thunder rumble

ANNA steps into the light, centre stage.

LX (cue 12a) after 2s: Tighten spot on Anna
SQ (cue 6) on "Juliet" : Music swell out

She crosses downstage. The lights shift.

LX (cue 13) : Slow fade to cold blue
FLY (cue 4): Fly out upstage gauze
LX (cue 14) after 4s: Blackout
ballroom.cuescript
INT. STAGE - THE BALLROOM - NIGHT

The band strikes up. Couples begin to fill the floor.

LX (cue 20) : Warm amber wash, full stage
MQ (cue 8) : Waltz begins — live band in
SQ (cue 9) with first chord: Crowd ambience under

ELEANOR and THOMAS move to centre. The crowd parts.

ELEANOR
          May I have this dance?

LX (cue 20a) on "dance" : Isolate couple, drop surrounds to 30%
SPOT (cue 3) on "dance": Pick up Eleanor, centre stage

Thomas takes her hand. They begin to turn.

MQ (cue 8a) : Waltz swells to full
LX (cue 21) after 8s : Slow fade, keep spot
SPOT (cue 3a) after 8s: Tighten to two-shot
rooftop.cuescript
EXT. ROOFTOP - NIGHT

A city skyline. MARCO stands at the edge, back to us.

CAMERA (shot 14) : Wide — Marco against skyline
LIGHT (setup 6) : Practical streetlight, motivated left
SOUND (take 1) : Production dialogue — city ambience under

Marco turns. He sees her.

CAMERA (shot 14a) : Push in on Marco's face
CAMERA (shot 15) : His POV — SARA across the roof

MARCO
          You came.

SOUND (take 2) : Overlap — Sara's footsteps approach
CAMERA (shot 16) : Close on Sara — slightly unstable
conference.cuescript
INT. CONFERENCE HALL - DAY

The house lights are up. Delegates take their seats.

LX (cue 1) : Dim house to presentation level
VIDEO (cue 1) : Play opening titles on main screen
AUDIO (cue 1) : Music under titles

The MC takes the stage.

LX (cue 2) on "Good morning" : Bring up podium spot
VIDEO (cue 2) on "Good morning": Cut to live camera — wide stage
AUDIO (cue 2) : Open podium mic

MC
          Good morning, and welcome.

GRAPHICS (cue 1) after 4s : Lower third — MC name and title
VIDEO (cue 3) after 10s: Confidence monitor — presentation slides
LX (cue 3) after 10s : Drop house further for slides

For developers

CueScript is designed to be parsed. The syntax is unambiguous, the spec is exhaustive, the format is stable enough to build on.

A compliant parser reads plain text and can output whatever the production needs — cue sheets, prompt books, show control files, breakdowns. Any domain, any toolchain. The full specification is on GitHub, licensed CC BY-ND 4.0.

Read the Specification

Core pattern

CUETYPE (label NUMBER) [TRIGGER] []: description

Numbering — Pattern A

[0-9]+[a-z]* 1 · 5a · 23b

Numbering — Pattern B

[0-9]+\.[0-9]+ 1.5 · 5.5 · 10.5
CC BY-ND 4.0
UTF-8 plain text
Fountain compatible
QBook

QBook

The First CueScript Parser

QBook is the first application built on CueScript.

A separate, commercial macOS tool made by meikr.

It reads your Fountain or Final Draft scripts, detects every cue automatically, and exports professional prompt books, cue sheets, and QLab workspaces ready for tech rehearsal.

Invite-only beta · Free during beta · macOS only

Request Beta Access ↗
📄
Automatic cue detection
Imports Fountain & Final Draft
🎛️
QLab export
OSC or AppleScript cue lists
🎭
Prompt books
PDF export for stage managers