Write the cue
where the idea
happens.
Secuens is a shared notation, plain text, open standard, that lets everyone in the production work the same way across roles, tools, and disciplines.
Anywhere a cue needs to be called.

Write it the way
you think it.
It lives in your mind first.
Then in the margin, in a note, in an email...
Secuens is just a shared way to write it.
Plain text, in the script itself, in whatever tool you already use.
How Secuens
writes the cue.
Smoke, when she enters.
SQ(cue 5)on "she enters": Smoke effect
Lightning. Fast.
LX(cue 3): Lightning flash
That metallic sound.
SQ(cue 6): Metallic impact
Camera close, on her eyes.
CAMERA(shot 4): ECU — her eyes
Music swells here.
MQ(cue 8): Theme swells to full
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: BlackoutFor developers
Secuens is plain UTF-8 text. It sits naturally insideFountainscripts, 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.
Plain text means you already have everything you need.

designed to be parsed
Secuens 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 specification is open and published on GitHub under CC BY-ND 4.0.
[0-9]+[a-zA-Z]*1 · 5a · 23b · 5AStandard numbering. Insert 5a between 5 and 6.
[0-9]+\.[0-9]+1.5 · 5.5 · 10.5Alternative insertion. Insert 5.5 between 5 and 6.
[a-zA-Z]+[0-9]+[a-zA-Z0-9]*A5 · CA32 · LX1aQLab groups, broadcast and cart workflows.
Built on Secuens
Secuens is an independent open standard, created and maintained by its author. The specification is open, freely implementable, and not tied to any product or platform.
Anyone can build on it. Commercial tools, open source parsers, integrations, plugins.
Read the spec, implement it, ship it.
Building a tool?
If you're building a tool, integration, or parser, we'd love to hear about it and help amplify your implementation.
Submit an implementation
Submit your implementation
Tell us about the tool, parser, or integration you're building on Secuens.
Frequently Asked Questions
Theatre & Live Performance
Practitioners
What is Secuens?+
Secuens (Script Embedded Cue Notation Syntax) is an open, plain-text notation standard that lets you embed technical cues directly inside your production scripts, right where the creative idea happens. It's human-readable and machine-parseable, so your crew and your software can read the exact same document.
How does Secuens save time during tech rehearsals?+
Traditional workflows suffer from a costly translation gap: directors write notes on paper or digital scripts, which are then manually extracted, formatted into separate spreadsheets, and hand-typed into consoles or software like QLab. When scripts change during tight tech rehearsals, that manual chain breaks, causing errors and lost time. With Secuens, the script is the cue sheet — a single, unified source of truth for the entire production.
Do I need to abandon my favorite screenwriting software?+
Not at all. Secuens is entirely editor-agnostic and works with plain UTF-8 text. Because it's designed with Fountain-compatible fallback, you can keep writing in standard screenwriting tools like Final Draft, Word, or Fountain-based editors. A standard screenplay parser simply reads your technical cues as ordinary action lines or notes, so the notation travels with your text without breaking formatting.
How do I handle cues early in the writing process, when I don't know the technical details yet?+
This is where Secuens's Progressive Enhancement principle helps: you don't need to program your show while writing the first draft. Cues are valid at any stage of detail. Start with a placeholder to mark the event during drafting, such as LX (cue 5):. Add basic trigger events and descriptions as blocking takes shape during rehearsals, such as LX (cue 5) on "Juliet": Fade to blackout. Then append precise metadata parameters for your execution software during tech week, such as LX (cue 5) on "Juliet" [fade=3s, warn=30s, target=all]: Fade to blackout.
Cinema & Video Production
Filmmakers & Set Crews
I work in film, not theatre. We think in "setups" and "takes", not "cues". Does Secuens support this?+
Yes. Secuens is entirely domain-agnostic. Live performance relies on cue, but film production naturally speaks in setup, shot, or take. The syntax is fully flexible — you define identifier blocks to match your workflow, such as CAMERA (setup 2): or SOUND (take 1):. The one strict rule is label consistency: once a department like CAMERA starts using a label like shot or setup in a script, it must keep using that same label throughout the document to avoid parser ambiguity.
What kind of camera-specific details can I write directly into the script?+
Secuens includes a set of standard metadata keys built for film workflows, so you can track technical decisions right next to the action lines: lens (focal length), angle, frame (CU, MCU, WS, ECU, and so on), and movement (tracking, static, handheld). For example: CAMERA (shot 14) [frame=WS, lens=35mm, movement=static]: Wide shot — Marco against skyline, followed by CAMERA (shot 14a) [frame=MCU, lens=50mm]: Push in on Marco's face.
How does this help a busy crew on set? Who actually reads this?+
Secuens acts as a single source of truth that bridges the screenplay, the script supervisor, and post-production. Instead of maintaining separate, disconnected shot lists, camera logs, and sound sheets that all need updating by hand every time a scene changes, the script itself carries the technical blueprint. Once production begins, a compliant parser can read the script and generate clean, standardized shot lists, camera logs, or sound sheets for the crew — no manual transcription, no transcription errors.
Can I use Secuens to document lighting and audio setups on set?+
Yes. Secuens handles multi-department setups in the same text file: lighting as LIGHT (setup 6) [type=key, angle=low, intensity=30%]: Practical streetlight, motivated left; sound as SOUND (take 2) [source=boom, prewait=0.5s]: Overlap — Sara's footsteps approach; VFX as VFX (cue 4) [plate=green, element=city_background]: Background replacement. Keeping this metadata embedded means anyone opening the file, including post-production editors and VFX artists, has immediate, unambiguous context for how the shot was designed on set.
Parsers, Integrations & Standards
Developers
Is Secuens a software application or an open standard?+
Secuens is strictly an open notation specification — a formal grammar — and is entirely tool-agnostic. QBook, built by meikr, is a free macOS application, currently in public beta via TestFlight, that acts as the reference desktop tool for managing scripts and prompt books and exporting cue sheets using the Secuens standard.
Under what license is the Secuens specification released?+
The specification is published under the Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0) license. That lets anyone read, share, and implement the specification in open-source or commercial software, while protecting the syntax from unauthorized forks that could fragment the language.
Where can I find parser tools and documentation to build an integration?+
The official GitHub repository (github.com/nmds/secuens) has the complete formal specification and domain-specific examples for theatre, film, broadcast, and live events. It also includes reference parser and validator implementations for both JavaScript (tools/js/parser.js, tools/js/validator.js) and Python (tools/python/parser.py, tools/python/validator.py) to help you get started.
