User Tools

Site Tools



This page is written by Leon Arnott and is separate from the Twine documentation.

This page collects a number of useful external Twine resources, macros and scripts. Don't forget that more resources and hints are available on the frequently asked questions page and the example files page.

Story formats

See the story formats page to learn how to install other story formats.


SugarCube, by Thomas M. Edwards, is an alternative version of Sugarcane. It comes with a rewritten game engine, several additional utility macros, and a save slot menu instead of a bookmark link. Several SugarCube features inspired the development of Twine 1.4.

Tin Cans

Tin Cans is a story format designed for making mobile phone games - it includes a macro for changing between jQuery UI themes,


Snowman is a minimal story format by Chris Klimas, designed solely for Javascript programmers. It offers no macros and no ability to import macros, instead requiring the author to write Javascript code directly into the passage.


Leon Arnott has developed a number of macros:

  • <<cyclinglink>>: A popular macro. It creates a link that, when clicked, changes its text and alters a variable.
    • Gregory Weir has made a version of this macro for use in SugarCube, available here.
  • <<hoverlink>>: A passage link whose text changes when your cursor hovers over it.
  • <<goto>> and <<timedgoto>>: A macro that sends the player to another passage, either immediately or after a delay.
  • <<playsound>>: A macro that uses HTML5 audio to play MP3 or Ogg files. An easy way to add sound to Twine! Comes with a number of supplementary macros to control playback.
  • <<replace>>: A macro that makes links that transform or modify the passage. Comes with a broad suite of variant macros that provide a good deal of variety to Twine interactions:
    • <<timedreplace>> changes, adds or removes text after time has passed.
    • <<hoverreplace>> alters text when the mouse is over it.
    • <<revise>> creates a link that transforms text inside a <<revision>> macro.
  • <<timedloop>>: A macro similar to «timedreplace» that simply re-runs the contained macros over and over until the passage is left.
  • <<autolink>>: A macro that automatically turns words inside it into links to passages.
  • <<rememberall>>: A macro that causes every variable used in the story to be <<remember>>ed. Comes with a <<forgetall>> equivalent for resetting all the variables.

Other macros by other people:

  • <<playbgm>>: An alternative music macro that plays a YouTube movie invisibly in the background of your story.
  • <<pane>>: This macro adjusts Sugarcane so that two passages can be displayed at the same time, horizontally apart.
  • <<map>>: A macro for creating and controlling a “mini-map” in the StoryMenu. (Note: code may need modification to work in 1.4.1 or later)
  • <<randomword>> by Darius Kazemi: A macro that uses Wordnik to produce random English words based on certain parameters.
  • These Google Sheets macros by Devon Baumgarten potentially allow Google Sheets to be used as a Twine game's offline data storage.
  • <<googleForms>> is, in the same vein, a macro that can use your Google Drive to store high scores (or other data).
  • <<fsyoutube>> puts a full page background video from YouTube behind your Twine passages.


  • Leon has also developed several stylesheets which can be used directly in Twine games, available here.
  • Richard Sharpe has a number of stylesheets, too.

Web design resources

  • Google Fonts is the most common host of web fonts that you can use in your Twine stories. See here to learn how to use them in your story.
  • Mozilla Developer Network is a respected and accurate reference for information about CSS, Javascript and HTML. You can look up the intricacies of CSS attributes by Googling “mdn” followed by the name of the CSS property or attribute you're interested it.
  • Many sites offer resources for working with CSS. Some of these include:
    • ColorZilla's Gradient Editor for generating CSS backgrounds with gradient colour fills.
    • Paletton is a colour palette generator. Fiddle with the colour wheel, then click “Color Tables” to obtain the HTML colour values of each part of the palette.

Source code

To obtain the source code of any Twine game, simply do the following:

  • Download the HTML file of the game.
  • Open Twine, and select Import → Compiled HTML File, from the File menu.
  • You can then open the HTML file to import all of its passages.

Note: this will not import the story format used for the game, nor any of its metadata.


  • Twine Garden is a tumblr blog celebrating aesthetics in Twine node maps, run by noted Twine author Porpentine. It accepts submissions.
resources.txt · Last modified: 2017/10/09 20:39 (external edit)