What Is Twine and What Can You Use It For?

Twine is a free, open-source tool for creating interactive, nonlinear stories. You can build a simple branching story without writing any code, then extend it with variables, conditional logic, images, CSS, and JavaScript as your needs grow. Twine publishes directly to HTML, so finished work can be posted almost anywhere, and anything you create with it is free to use however you like, including commercially. It suits writers, game designers, educators, and anyone who wants readers to make choices that change the narrative.

What Twine actually produces

Twine is not a hosted publishing platform or a game engine in the traditional sense. It is an authoring tool that outputs a self-contained HTML file. That file is your story: it runs in a browser, can be uploaded to a web host, embedded in a site, or distributed as a download.

The practical consequences:

  • No server required. A finished Twine story is static HTML, so it works on any basic web host or even opened locally from a file.
  • No lock-in to Twine. Because the output is standard HTML, you are not dependent on Twine's servers to keep your work alive.
  • Commercial use is permitted. The site states that anything you create is completely free to use any way you like, including for commercial purposes.

What you can build with it

Twine's scope runs from a short branching story to a fairly complex interactive fiction game. The site describes the progression clearly: no code is needed for a simple story, but variables, conditional logic, images, CSS, and JavaScript are available when you are ready.

Typical uses include:

Use case What it looks like in Twine
Branching narrative Reader picks between passages; the story splits and reconverges
Interactive fiction game State tracked with variables, choices gated by conditions
Educational scenario A decision tree where each choice leads to a different outcome
Prototype for a larger game Quick text-based test of structure before committing to an engine

If your goal is a linear novel or a graphical action game, Twine is probably not the right fit. Its strength is choice-driven, text-centered structure.

How the pieces fit together

Twine separates the editor from the story format, which the site compares to a game engine. The story format determines which features you can use and how you write code. Twine ships with four built-in formats:

  • Chapbook
  • Harlowe
  • Snowman
  • SugarCube

Each has its own online guide. This matters because a technique that works in one format may not work in another, so it is worth choosing a format early rather than switching later.

Getting started

  1. Choose how to run Twine. The site offers a desktop app download and a browser option. The browser version is the lower-commitment way to try it.
  2. Create a story and add passages. A passage is a single unit of text; links between passages create the branching structure.
  3. Pick a story format. If you are new, the site recommends starting with the Twine Reference, which covers the user interface, then learning the format you chose.
  4. Extend only when needed. Add variables, conditions, images, or CSS once the basic structure works.
  5. Publish to HTML. Export the story and post it wherever you like.

The current version is 2.12.0, released 10 April 2026. If you specifically need the older 1.x line, it is available on the IF Archive.

Where to get help and learn more

  • Twine Reference — a guide to the user interface; the site's recommended starting point for newcomers.
  • Twine Cookbook — advice on choosing a story format plus worked examples of common tasks for each built-in format.
  • Story format guides — separate online documentation for Chapbook, Harlowe, Snowman, and SugarCube.
  • Interactive Fiction Community Forum — a web forum for interactive fiction authors.
  • Twine Discord — live chat with other Twine authors.

Note that the Q&A section and forum formerly hosted on twinery.org were closed in 2019 and 2017 respectively. Read-only archives exist, but the site warns that information in them is likely out of date.

Support and source

Twine was created by Chris Klimas, who leads its development and maintains a Patreon. Donations can also go to the Interactive Fiction Technology Foundation, a registered 501(c)(3) nonprofit supporting interactive fiction community infrastructure. Some story format developers accept donations separately.

Non-financial help is also welcomed: answering questions, contributing to the Cookbook, writing tutorials, fixing bugs in Twine or its story formats, or translating the interface. Source code repositories exist for the Twine application, for the specifications describing the files it works with, and for each built-in story format.

Is Twine right for you?

Choose Twine if you want a no-cost, open-source way to build choice-driven stories, you value HTML output you can host anywhere, and you want the option to start simple and add code later. Look elsewhere if you need a hosted platform with built-in analytics, a graphical game engine, or a tool that produces something other than a browser-based interactive story.

twinery.org