Website profiles · Technology insights · Alternatives

twinery.org No paid content found

Categories: Games & Board Games

Visit website

Updated: 2026-09-23 14:34 Language: English (default) Access: Normal

Profile views 9 Outbound visits 1
Twine / An open-source tool for telling interactive, nonlinear stories Full homepage screenshot
Editorial Review

Website Review

What is Twine?

Twine is a free, open-source tool for building interactive, nonlinear stories. You assemble a story as a set of linked passages, and Twine publishes the result as a single HTML file you can post almost anywhere. The page states that no coding is required for a simple story, but you can add variables, conditional logic, images, CSS, and JavaScript as your ambitions grow. It also says anything you create with it is free to use however you like, including commercially.

What that means in practice

  • Nonlinear by default. Instead of one linear document, you write branching passages and connect them. This suits choose-your-own-adventure stories, dialogue-heavy games, training scenarios, and exploratory essays.
  • A low floor, a high ceiling. You can start by clicking passages together and only later learn macros and styling. The trade-off is that the simple version looks simple; polish comes from the story format and your own CSS.
  • HTML output. A finished story is a web page, so it can live on a personal site, an itch.io page, or a school intranet without a special player.

Story formats are the real decision

Twine's page describes story formats as being "like game engines": they determine which features you get and how you write code. Four are built in — Chapbook, Harlowe, Snowman, and SugarCube — and each has its own online guide. This is the choice that will shape your project most, so make it early rather than after writing 40 passages.

If you want… Lean toward
A gentle start with readable, writer-friendly syntax Harlowe or Chapbook
Fine control, custom styling, and a large body of existing examples SugarCube
To write your own JavaScript and treat Twine as a shell Snowman

The page points to the Twine Cookbook for help choosing a format and for worked examples of common tasks, and to the Twine Reference for learning the interface itself.

Ways to run it

You can download the desktop app or use it in your browser. The desktop app keeps your project files on your own machine, which is easier to back up and version; the browser version is convenient on a shared or locked-down computer, but you should export your work regularly.

Where to get help

The Interactive Fiction Community Forum and the Twine Discord are the two named places for questions and feedback. Both are worth joining before you get stuck, since answers arrive faster than in a search engine.

A concrete first step

Pick a story format before you write anything: skim the Cookbook's comparison, then open the guide for the one that matches your table row above. Build a three-passage story — a start, a choice, and two endings — and publish it to HTML. That small loop teaches you the passage-linking model, the publish step, and whether your chosen format's syntax feels comfortable, all in under an hour.

Cost and support

Twine itself is open source and free to use, and your finished work carries no restrictions from the tool. If you want to support it, the page mentions Chris Klimas's Patreon and donations to the Interactive Fiction Technology Foundation, a registered nonprofit, as well as non-financial help such as answering questions, contributing to the Cookbook, fixing bugs, or translating the interface. Individual story format developers may also accept donations.

How do I create a simple interactive story with Twine without coding?

Twine is built for exactly this: you write passages of text, link them together, and it produces a playable story in a browser. No programming is required for a basic branching narrative.

The basic loop

  1. Create a new story in the Twine editor (desktop app or in-browser).
  2. Write a passage of text — a scene, a description, a choice prompt.
  3. Create another passage for each outcome.
  4. Link them by putting the target passage name in double square brackets inside your text, e.g. [[Open the door]] or [[Open the door->Hallway]].
  5. Repeat until the branches converge or end, then use the Play/Test view to click through it.

Twine publishes directly to HTML, so the finished story is a single file you can host almost anywhere or send to a reader.

A worked example

A three-passage story might look like this:

  • Start: "The lighthouse door is unlocked. [[Go inside]] or [[Walk to the cliffs]]."
  • Go inside: describes the interior, then links back or ends.
  • Walk to the cliffs: describes the view, with its own ending.

That is the whole technique. Everything else — variables, conditional logic, images, CSS, JavaScript — is optional extension you can add later, as the project page notes.

Choosing a story format

Story formats are the engines your story runs on, and they decide what features and syntax you get. Twine ships with several, each with its own online guide and examples in the Twine Cookbook:

Format Roughly suited to
Harlowe Beginners who want readable, built-in macros for common tasks
Chapbook Writers who want a gentle, prose-first feel with less markup
SugarCube Larger projects needing state, saves and more control
Snowman Authors comfortable with JavaScript and templates

If you are starting out, pick one format and stay with it while you learn; switching later means rewriting syntax, not just text.

Practical next steps

  • Read the Twine Reference first for the interface itself, then the guide for your chosen format.
  • Keep passages short so the map view stays readable as branches multiply.
  • Test by clicking, not by reading — dead ends and unreachable passages are easy to miss.
  • When you get stuck, ask in the Interactive Fiction Community Forum at Interactive Fiction Community Forum or the Twine Discord linked from the site.

Twine itself is free to use for any purpose, including commercial work, and its development is supported through Patreon and the Interactive Fiction Technology Foundation.

Which Twine story format should I choose for my project?

Choose based on how much control you want over presentation and logic. Twine's story formats are like game engines: they decide which features you can use and how you write code. For a first project, pick Harlowe or Chapbook; reach for SugarCube or Snowman only when you need deeper customization.

Quick comparison

Format Best for Trade-off
Harlowe Beginners and most text-heavy stories; built-in macros for variables, conditions, links, and basic styling Less direct control over the underlying HTML/CSS than SugarCube or Snowman
Chapbook Clean, readable stories with a gentle learning curve; good for short games and interactive essays Smaller ecosystem of third-party extensions than Harlowe or SugarCube
SugarCube Larger projects needing save systems, complex state, inventory, and heavy customization More concepts to learn; easier to over-engineer early
Snowman Authors comfortable with JavaScript who want near-total control over rendering You supply more of the structure yourself; less guidance for beginners

How to decide

  • Just starting out: Harlowe. It lets you build a simple story without writing code, then add variables and conditional logic as you grow.
  • Want a tidy, low-friction writing experience: Chapbook. It keeps markup readable, which helps when a project gets long.
  • Building something game-like with saves and state: SugarCube. Its feature set matches that ambition, at the cost of a steeper start.
  • You already write JavaScript and want to control the page: Snowman. Expect to handle more plumbing yourself.

A practical next step: write the same two-scene opening in your top two candidates. If one feels natural after an hour, that's your format. Whichever you pick, the built-in guides for Chapbook, Harlowe, Snowman, and SugarCube cover each one, and the Twine Cookbook explains how to choose and shows common tasks per format. You can also ask working authors on the Interactive Fiction Community Forum or the Twine Discord.

One caution: Twine's older Q&A and forum archives are read-only and were closed in 2017 and 2019, so treat answers there as likely out of date. For current behavior, rely on the format guides and the Cookbook.

Can I sell a game made with Twine commercially?

Yes. Twine's own page states that anything you create with it is completely free to use any way you like, including for commercial purposes. There is no royalty, revenue share or license fee attached to the tool itself.

What that covers in practice

  • Selling a finished game on itch.io, Steam or your own site.
  • Publishing a Twine story inside a paid app, a book, or a course.
  • Using Twine output in client work you invoice for.

Because Twine publishes directly to HTML, a commercial release is usually just the exported file hosted wherever you sell or distribute it.

What it does not cover

The tool's license is not the same as the licenses of everything you put into the game. Check separately:

  • Images, music, fonts and sound effects you did not make yourself. These carry their own terms, and "free to download" is not the same as "free to sell with."
  • The story format you choose. Story formats are like game engines and determine your features and code style; each has its own project and its own terms. Chapbook, Harlowe, Snowman and SugarCube are the built-in options, and each has an online guide.
  • Third-party code or plugins you add for variables, conditional logic, CSS or JavaScript.

A useful next step

If you are planning a paid release, make a short asset list before you publish: every file that is not your own writing or your own art, plus where you got it and under what terms. That list is what you would need if a storefront ever asks you to confirm you have the rights to ship what you are selling.

For learning the tool itself, the Twine Reference covers the interface, and the Twine Cookbook has advice on choosing a story format plus examples for each built-in one. Questions from other authors tend to get answered on the Interactive Fiction Community Forum and the Twine Discord.

How do I run or download Twine on my computer or in a browser?

Twine runs in two ways: as a downloadable desktop app, or directly in your web browser. Both are offered by the same project, so you can pick whichever fits how you work.

Desktop app

  • Download it from Twine and install it like any other application.
  • Best when you want your story files stored locally, want to work offline, or prefer a dedicated window rather than a browser tab.

Browser version

  • Choose "Use in your browser" on the same site; nothing to install.
  • Best on a borrowed or locked-down computer, or when you want to start writing immediately.

The two are not identical in feel: the browser version depends on your browser's local storage, so clearing site data can affect your work, whereas the desktop app keeps files on your disk. For anything you care about, export or save your story regularly regardless of which you use.

As a concrete example: a teacher setting up a classroom exercise can point students at the browser version so nobody has to install anything, while a writer working on a long branching novel across many sessions will likely prefer the desktop app for reliable local files.

Next step: whichever you choose, read the Twine Reference first — the site describes it as the guide to the interface and the recommended starting point for newcomers. After that, pick a story format, since the format acts like a game engine and determines which features and coding style you get; the Twine Cookbook explains how to choose one. Built-in formats include Chapbook, Harlowe, Snowman and SugarCube, each with its own online guide. If you get stuck, the Interactive Fiction Community Forum and the Twine Discord are the two community venues the project points to.

One practical note: the site lists the current version as 2.12.0, and an older 1.x line is kept separately on the IF Archive — if a tutorial looks unfamiliar, check which version it was written for.

Where can I get help or learn more about using Twine?

Start with the official documentation, then join the community when you get stuck on a specific problem.

Official learning resources

  • Twine Reference — a guide to the Twine user interface. This is the intended starting point for newcomers.
  • Story format guides — Twine's built-in formats (Chapbook, Harlowe, Snowman, SugarCube) each have their own online guide. The story format is what determines which features you get and how you write code, so it's worth picking one early and reading its guide.
  • Twine Cookbook — advice on choosing a story format plus worked examples of common tasks for each built-in format. Best used once you know the basics and want to do something specific.

Community help

  • Interactive Fiction Community Forum — a web forum for interactive fiction authors, useful for design and craft questions as well as tool problems.
  • Twine Discord — live chat with other Twine authors, better for quick back-and-forth troubleshooting.

A practical order to follow

  1. Build a tiny branching story with no code to get comfortable with passages and links.
  2. Read the Twine Reference to understand the interface properly.
  3. Choose a story format and read its guide.
  4. Search the Cookbook for the specific thing you're trying to do.
  5. Ask the forum or Discord only after that — you'll get better answers with a concrete question.

If you want to go further

The page also points to source code repositories for the Twine application, its file-format specs, and each story format, plus ways to contribute non-financially: answering questions, improving the Cookbook, writing tutorials, fixing bugs, or translating the interface. Note that the older Q&A and forum archives hosted on the site were closed in 2019 and 2017, so treat anything there as likely out of date.

For a concrete case: if you're building a short choice-based story for a class and links stop behaving as expected, the story format guide usually explains the behaviour, while the Discord is faster for "why did this break" questions. If your question is about structure or pacing rather than the tool, the forum is the better fit.

Related questions

More questions →
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.

What Are Open-Source UI Element Libraries and How Do They Differ From UI Frameworks?

An open-source UI element library is a collection of individual, ready-made interface pieces—buttons, cards, inputs, toggles, loaders—that you copy into your own project and adapt. A UI framework, by contrast, is a structured system of components, conventions, and often a theming layer that governs how your whole interface is built. The practical difference: an element library gives you a snippet; a framework gives you a way of working. If you need a polished button in ten minutes, reach for the element library. If you're building a 40-screen product with a team, you probably want the framework.

What "open-source UI element library" actually means

The term gets used loosely, so it helps to separate the parts:

  • Open-source: the code is publicly available, and the license tells you what you may do with it—copy, modify, redistribute, or use commercially.
  • UI element: a single, self-contained piece of interface, usually small enough to read in one sitting. A button with hover states, a pricing card, a search field.
  • Library: a browsable, searchable collection of those elements, typically contributed by many different people.

On a site like Uiverse, elements are shared by a community and written in plain CSS or Tailwind. You find one you like, copy the markup and styles, paste them into your project, and adjust colors, spacing, and text to fit. There's no package to install and no build step required—which is exactly the appeal, and also the source of most of the confusion.

Element library vs. UI framework: the core differences

Dimension Open-source UI element library UI framework / design system
Unit of reuse A single snippet you copy A component you import or call
Installation None; paste into your code Package install, config, sometimes a provider
Consistency Depends on you; each element may look different Enforced by shared tokens and APIs
Theming Manual edits per element Central theme/config file
Updates You own the copy; no upstream updates Version bumps bring fixes and changes
Accessibility Varies per contributor; must be checked Usually tested and documented
Best for Prototypes, landing pages, small sites, one-off needs Multi-page apps, teams, long-lived products
Learning curve Low—read the CSS Higher—learn the API and conventions

The table isn't a verdict. It's a map of trade-offs. Element libraries win on speed and freedom; frameworks win on consistency and maintenance.

Licensing and attribution: what to check before you paste

This is where people get into trouble, and it's worth slowing down for.

  1. Find the license. Every element or collection should state one. Common open-source licenses include MIT, Apache-2.0, and BSD. Some projects use copyleft licenses like GPL, which can impose obligations if you redistribute your code.
  2. Understand what the license permits. MIT and Apache-2.0 are permissive: you can typically use the code in commercial and closed-source projects. Copyleft licenses may require you to release derivative source under the same terms.
  3. Check attribution requirements. Permissive licenses usually require you to keep the copyright notice and license text somewhere in your project. That's a real obligation, not a formality.
  4. Look for per-element terms. On community sites, the site's overall terms and the individual contributor's stated wishes may differ. If a contributor asks for credit, honor it.
  5. When in doubt, ask or avoid. If a snippet has no license at all, you don't have clear permission to reuse it. Treat "no license" as "not open source," even if the code is publicly visible.

This article is general information, not legal advice. For commercial products with real exposure, have someone qualified review the licenses you're relying on.

How to use a community element in your project: a practical workflow

Here's a repeatable process that avoids most of the usual mess.

1. Start from a real need, not a browsing session

Decide what you need first—"a compact primary button with a loading state"—then search. Browsing aimlessly produces a pile of pretty snippets that don't fit together.

2. Copy the smallest version that works

Take the markup and the styles. Strip anything you don't need: demo wrappers, extra animations, decorative layers. Less code means fewer surprises.

3. Convert it to your conventions

If your project uses design tokens or CSS variables, replace hard-coded values:

/* Before: hard-coded */
.button { background: #4f46e5; border-radius: 8px; }

/* After: token-based */
.button { background: var(--color-primary); border-radius: var(--radius-md); }

This one step is what keeps a copied element from looking like a foreign object in your UI.

4. Check accessibility before you ship

Community elements vary widely here. Verify at minimum:

  • Keyboard focus is visible and the element is reachable by Tab.
  • Color contrast meets WCAG AA (4.5:1 for normal text).
  • Interactive elements use semantic HTML (<button>, not a clickable <div>).
  • Form inputs have associated labels.
  • Motion respects prefers-reduced-motion.

5. Test in context

Paste it into a real page with real content. Long labels, small screens, and dark mode break more copied elements than anything else.

6. Note where it came from

Keep a short comment or an internal credits file: source, license, date. Future you—and your legal reviewer—will be grateful.

Where element libraries genuinely shine

  • Prototypes and demos: you need something clickable today, not a design system.
  • Landing pages and marketing sites: a handful of distinctive elements, each custom.
  • Filling gaps: your framework lacks one specific component, and you don't want to build it from scratch.
  • Learning: reading well-made CSS is one of the fastest ways to improve.
  • Small projects: a personal site doesn't need a theming architecture.

Where they fall short

  • Consistency at scale: ten elements from ten contributors rarely look like one product.
  • Maintenance: you own every copy. When your design changes, you edit each one.
  • Accessibility debt: you inherit whatever the contributor did or didn't do.
  • No upstream fixes: a bug fixed in the original won't reach your copy.
  • Integration friction: different naming conventions, different units, different assumptions about resets.

When to choose which

Choose an element library when the scope is small, the timeline is short, or you need a few distinctive pieces rather than a whole system.

Choose a framework or design system when multiple people build multiple screens over months, when consistency is a product requirement, or when accessibility and theming need to be guaranteed rather than checked.

A hybrid works well for many teams: adopt a framework for the structural components—forms, navigation, layout—and borrow individual elements for the places where you want personality. Just route every borrowed element through the same token and accessibility checks, so it lands as part of your system rather than beside it.

The short version: open-source UI element libraries are a fast, flexible way to get good-looking interface pieces into a project. They are not a substitute for a design system, and the license and accessibility details are the part worth reading carefully.

Is Twine free to use, and where can you find its source code and archives?

Yes. Twine is an open-source tool, and anything you create with it is completely free to use any way you like, including for commercial purposes. The application itself is also open source, with public repositories for both the Twine app and its story formats. The twinery.org site additionally hosts read-only archives of its old Q&A section and forum, but those were closed in 2019 and 2017 respectively, so treat their information as likely out of date.

What "free" covers

The twinery.org homepage states two separate things, and it's worth keeping them apart:

  • Your work: "Anything you create with it is completely free to use any way you like, including for commercial purposes." This is a statement about your output, not a license summary of the Twine application itself.
  • The tool: Twine is described as an open-source tool, and source code is published (see below).

The site does not present pricing tiers, paid plans, or account requirements for the desktop app or the browser version. It also doesn't describe any login restriction, so don't read the absence of a price as a promise about every future version — just note that nothing on the page indicates a cost or an account gate.

Where the source code lives

The site says there are repositories for the Twine application, plus specs describing the files it works with. Story formats have their own repos:

  • Chapbook
  • Harlowe
  • Snowman
  • SugarCube

There is also an archive repository. If you want to inspect how a particular format behaves — or fork it — the format's own repo is the place to start, since story formats are the layer that determines features and how you write code.

Old Q&A and forum archives

Read-only archives exist for the Q&A section and forum that were once hosted on twinery.org. Two caveats from the site itself:

Archive Closed Status
Q&A section 2019 Read-only, likely out of date
Forum 2017 Read-only, likely out of date

Because both closed years ago, answers there may reference older Twine versions, retired story formats, or workflows that no longer match current releases. Use them for historical context or for problems that haven't changed, and verify anything version-specific against current documentation.

Where to get current help instead

For live questions, the site points to two active venues:

  • The Interactive Fiction Community Forum — a web-based forum for interactive fiction authors.
  • The Twine Discord — a live chat for Twine authors.

For learning the tool, the recommended path on the site is: start with the Twine Reference (a guide to the user interface), then learn your chosen story format, and use the Twine Cookbook for advice on choosing a format and examples of common tasks. Each built-in format — Chapbook, Harlowe, Snowman, SugarCube — has its own online guide.

Version context

The latest version listed on the site is 2.12.0, released 10 April 2026. If you specifically need the older 1.x line, the site notes it's available on the IF Archive. That matters when following archived tutorials, since 1.x and 2.x differ in interface and workflow.

Supporting Twine

If you want to give back, the site lists several routes:

  • Chris Klimas, who created Twine and leads development, has a Patreon.
  • Donations can go to The Interactive Fiction Technology Foundation, described as a registered 501(c)(3) nonprofit supporting interactive fiction community infrastructure.
  • Some story format developers accept donations — check your format's website.
  • Non-financial help counts too: answering questions, contributing to the Cookbook, writing tutorials, fixing bugs in Twine or its story formats, or translating the Twine interface.

Practical takeaways

  • You can build and sell a Twine story without paying for the tool or seeking permission for your content.
  • Go to the per-format repos (Chapbook, Harlowe, Snowman, SugarCube) for source and specs, not just the main app repo.
  • Skip the 2017/2019 archives for current troubleshooting; use the forum or Discord instead.
  • Match any tutorial you follow to your Twine version and story format, since both change what code you write.
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.
Where can you learn Twine and get help from the community?

Twine's own site points to a small set of official learning resources and two main community channels. Start with the Twine Reference if you're new to the interface, move to the Cookbook and your story format's guide once you start writing, and use the Interactive Fiction Community Forum or the Twine Discord when you get stuck. All of these are linked from twinery.org, and the current version listed there is 2.12.0 (released 10 April 2026).

Learning resources

Twine Reference

The Twine Reference is described on the site as "a guide to the Twine user interface." If you're new to Twine, the site says to start here. Use it to learn what the editor's panels, menus, and story map do before you worry about writing logic.

Story format guides

Story formats are "like game engines," according to the site: they determine which features you have access to and how you write code. Each built-in format has its own online guide:

  • Chapbook
  • Harlowe
  • Snowman
  • SugarCube

Once you're comfortable with the Twine interface, the site recommends learning more about the specific story format you're using, because that's what governs your available features and syntax.

Twine Cookbook

The Twine Cookbook covers how to choose a story format and gives "easy-to-follow examples of how to accomplish common tasks with each of Twine's built-in formats." It's the practical companion to the format guides: reach for it when you know what you want to do but not which format or code gets you there.

Community and help channels

Channel What it is Best for
Interactive Fiction Community Forum A web-based forum for interactive fiction authors Searchable, longer-form questions and answers
Twine Discord A live chat for Twine authors Quick questions and real-time back-and-forth

Both are linked from twinery.org. The site also notes that the old Q&A section and forum it used to host are now read-only archives, closed in 2019 and 2017 respectively, and that information in them is likely out of date — so treat those as historical reference, not current answers.

Supporting Twine

Twine is open source, and the site lists several ways to contribute:

  • Financial: Chris Klimas, who created Twine and leads its development, has a Patreon. Donations can also go to the Interactive Fiction Technology Foundation, described as a registered 501(c)(3) nonprofit that supports the infrastructure of the interactive fiction community. Some story format developers accept donations too — check your format's website.
  • Non-financial: The site explicitly calls this important. Options include helping someone with a question, contributing to the Cookbook, creating your own tutorials, helping fix bugs in Twine or its story formats, or translating Twine's user interface into another language.

Practical notes

  • Anything you create with Twine is, per the site, "completely free to use any way you like, including for commercial purposes."
  • Twine publishes directly to HTML, so you can post your work nearly anywhere.
  • You don't need to write code for a simple story, but you can extend stories with variables, conditional logic, images, CSS, and JavaScript when you're ready.
  • If you specifically need the older 1.x version of Twine, the site says it's on the IF Archive rather than the main download.

Website Overview

An established domain and managed infrastructure suggest continuity of operations and may support dependable delivery, although neither guarantees service quality. Several search or sharing settings need attention. Together they may make snippets, preview images or preferred URLs less consistent across platforms.

Domain and Registration

Registered in 2013, this domain has about 13 years of history. That suggests continuity, although ownership and purpose may have changed. Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The registrar is Tucows Domains Inc., a widely used domain service provider. The domain uses the common .org extension, which is not an independent safety signal.

DNS and Email

The observed email authentication setup is incomplete: DMARC is missing. Nameservers are provided by Cloudflare, indicating managed DNS hosting. MX records point to the Fastmail email service. No CNAME was found; the observed records resolve directly to addresses. DNSSEC signatures were not detected, so this additional DNS authenticity protection is not confirmed.

TLS and Certificates

The public key uses EC with 256 bits. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued within the Google Trust Services cloud or CDN ecosystem. The certificate's total validity is about 90 days, consistent with a short renewal cycle.

HTTP and Browser Security

The checked browser-security headers were not detected, leaving fewer explicit browser-side safeguards. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The cf-ray response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers. The Server header identifies cloudflare without an exact version.

Technology Stack Analysis

The public page identifies Cloudflare without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

The title has 70 characters and may be truncated in search results. No homepage meta description was detected, leaving snippet selection more dependent on page text. No homepage canonical URL was detected. If duplicate URLs exist, consolidation may be less explicit. No Open Graph metadata was detected, so social previews may depend on platform inference. The observed directives allow indexing and link following.

Hosting and Email

DNSCloudflare
HostingCloudflare
EmailFastmail
Location Location unknown 104.21.53.208

User reviews (0)

  • No reviews yet.

Pages, Search and Sharing

Meta descriptionNot detected
Canonical URLNot detected
LanguageEnglish (default)
Twitter CardNot detected

Unknown

No rules found

No sitemaps found

Registration details RDAP / WHOIS

RegistrarTucows Domains Inc.
Registered2013-04-05
Expires2027-04-05
Domain statusclient transfer prohibited、client update prohibited
Nameserverscortney.ns.cloudflare.com、hayes.ns.cloudflare.com
DNSSECunsigned

DNS records

TypeNameValueTTLPriority
Atwinery.org104.21.53.208300—
Atwinery.org172.67.218.212300—
AAAAtwinery.org2606:4700:3032::ac43:dad4300—
AAAAtwinery.org2606:4700:3033::6815:35d0300—
MXtwinery.orgin1-smtp.messagingengine.com30010
MXtwinery.orgin2-smtp.messagingengine.com30020
NStwinery.orgcortney.ns.cloudflare.com86400—
NStwinery.orghayes.ns.cloudflare.com86400—
TXTtwinery.orgv=spf1 include:spf.messagingengine.com ?all300—

TLS and certificates

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjecttwinery.org
IssuerGoogle Trust Services
Valid until2026-12-10T08:43 · Remaining when checked: 77 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HeaderValue
content-typetext/html
servercloudflare

Identified technologies

Cloudflare

Recent Updates

  • Website profile