What Are Twine Story Formats and How Do You Choose One?

A Twine story format is the engine that runs your story: it decides which features you can use and how you write code inside a passage. Twine ships with four built-in formats — Chapbook, Harlowe, Snowman, and SugarCube — and you choose one per story. If you're writing plain text with links and no scripting, any format will work and you can pick on feel. If you need variables, conditional logic, inventory systems, or custom styling, the choice matters, and the Twine Cookbook is the site's own starting point for comparing them.

What a story format actually does

Twine itself is an editor: you create passages, link them, and publish to HTML. The story format is the code that gets bundled into that HTML file and interprets what you wrote.

That has three practical consequences:

  • Syntax differs between formats. The same idea — "show this text only if the player has the key" — is written differently in Harlowe than in SugarCube. Switching formats later usually means rewriting your markup.
  • Feature sets differ. Some formats lean toward simple prose with light logic; others expose a fuller scripting environment with macros, custom widgets, and JavaScript access.
  • Published output is self-contained. Twine publishes directly to HTML, so a finished story is a file you can post nearly anywhere, and the format travels inside it.

Anything you create with Twine is free to use however you like, including commercially.

The four built-in formats

Format General character Reasonable fit when
Harlowe The default for many new projects; markup-oriented with a large macro set You want a gentle start but expect to add variables and conditions later
SugarCube Long-established, heavily documented, extensive macro and widget system You're building something game-like with state, stats, or save systems
Snowman Minimal markup, closer to writing plain HTML and JavaScript You already know JavaScript and want direct control
Chapbook Designed around readable, prose-first markup with built-in conveniences You want a clean writing experience with common features available without deep scripting

Treat this as orientation, not a ranking. The site's own guidance is that story formats are like game engines, and the Cookbook exists specifically to help you choose and then show worked examples of common tasks in each built-in format.

How to choose

Work through these in order:

  1. Check whether you need scripting at all. Twine's own framing: you don't need to write any code to create a simple story, but you can extend stories with variables, conditional logic, images, CSS, and JavaScript when you're ready. If you're at the "simple story" stage, pick a format whose basic link syntax reads well to you and move on.
  2. Look up one task you know you'll need. Find it in the Cookbook and read the example in two or three formats. The one that looks most legible to you is a strong signal, because you'll be writing that syntax hundreds of times.
  3. Read that format's online guide. Each built-in format has its own guide, and the format's documentation quality is a real long-term factor.
  4. Check the community. If your format has an active following, questions get answered faster.

A concrete example

Suppose you want a passage that only appears once the player has picked up a key. In one format that might be a single inline conditional written into the passage text; in another it might be a macro block or a JavaScript expression. Both work. The difference is how much of that syntax you want to look at while drafting prose — which is why reading the Cookbook example for your specific task beats reading a feature list.

Where to learn more

  • Twine Reference — a guide to the Twine user interface; the site recommends starting here if you're new.
  • Twine Cookbook — advice on choosing a story format plus examples of common tasks in each built-in format.
  • Per-format online guides — one for each of Chapbook, Harlowe, Snowman, and SugarCube.
  • Community — the Interactive Fiction Community Forum for discussion, and the Twine Discord for live chat.

Common sticking points

  • Choosing before you know your requirements. The format decision is cheap at the start and expensive later, so it's worth spending twenty minutes in the Cookbook before you write much.
  • Assuming you can swap formats freely. You generally can't without reworking your markup.
  • Confusing Twine with the format. Twine is the editor and publisher; the format is the runtime. Problems with macros, variables, or styling are usually format questions, not Twine questions.
  • Trusting old answers. Twine's own Q&A section and forum were closed in 2019 and 2017 respectively, and the site notes that information in those read-only archives is likely out of date. Prefer the current guides and the Cookbook.
twinery.org