Description

TWISTER is a web-based algorithm editor and visualizer for twisty puzzles such as Rubik's Cube and related puzzles. It translates algorithms between notations, animates them on an interactive 3D puzzle, and provides tools to invert, mirror, rotate, and expand algorithm sequences.

Contents

1.1 Supported Puzzles

TWISTER supports eleven twisty puzzles across three puzzle families:

Key Puzzle Shape
2xCube 2x2 Pocket Cube Cube
3xCube 3x3 Rubik's Cube Cube
4xCube 4x4 Revenge Cube Cube
5xCube 5x5 Professor Cube Cube
6xCube 6x6 V-Cube 6 Cube
7xCube 7x7 V-Cube 7 Cube
3xPyraminx 3x3 Pyraminx Tetrahedron
4xPyraminx 4x4 Master Pyraminx Tetrahedron
5xPyraminx 5x5 Professor Pyraminx Tetrahedron
3xMegaminx 3x3 Megaminx Dodecahedron
5xMegaminx 5x5 Gigaminx Dodecahedron

The default puzzle is the Rubik's Cube. Selecting a different puzzle reloads the page and adapts the notation tables, translation engine, and 3D player accordingly.

2.1 Interface Overview

The main interface consists of three areas: the control panel at the top, the 3D puzzle player in the center, and the algorithm field below it.

2.1.1 Control Panel Dropdowns

Three dropdowns are always visible:

Control Description
Puzzle selects the active puzzle.
Changing this option submits the form immediately.
Notation switches between SSE and TWIZZLE notation.
Changing this option translates the current algorithm and reloads the page.
Stickering available for all puzzles except the 2x2 Pocket Cube and the 3x3 Pyraminx.
Switches between Full Stickering (standard colored faces) and Super Cube 'Pochmann', which loads a texture image that makes center orientation visible.

2.1.2 Options Panel

The gear icon in the page heading opens the options panel, which provides the following settings:

Option Description
Player position controls the solved state position:
Solved at start places the solved puzzle before the algorithm;
Solved at end places it after.
Player speed sets the animation speed of the Twisty Player from 0.1 to 6.0 moves per second.
The default is 2.0.
Algorithm tools shows or hides the algorithm tools panel.
The preference is stored in a browser cookie.
Appearance switches between Light mode and Dark mode.
The preference is stored in a browser cookie.

2.2 Algorithm Field

The algorithm field is the central input of TWISTER. It accepts an algorithm in the currently selected notation (SSE or TWIZZLE). The field grows automatically up to eight rows for longer algorithms. When the content differs from the last submitted value, the text turns blue — a visual reminder that the page has not yet been refreshed. Clicking the algorithm label opens the notation documentation.

A clipboard icon next to the label copies the algorithm to the clipboard with a single click.

The move count is displayed next to the field label. It shows the BTM count (Block-Turn Metric) for all twisty puzzles. Clicking the move count opens the metric documentation.

Below the input field, a second read-only translation field shows the algorithm translated into the other notation: if the input is in SSE, the output shows TWIZZLE, and vice versa. This translation field also has its own clipboard copy button.

Three buttons act on the algorithm field directly:

Button Description
Display opens the current puzzle and algorithm in TWIZZLE Explorer in a new tab.
Clear empties the algorithm input field without submitting the form.
Update submits the form to refresh the translation, move count, and player.

iOS keyboard note: The prime character ' is missing from the default iOS keyboard. TWISTER accepts the Unicode left and right single quotation marks ( and ) as well as the standard double quote " as substitutes and converts them automatically.

2.3 Algorithm Tools

When the algorithm tools panel is enabled, four transformation buttons appear below the algorithm field. All tools operate entirely in the browser and update the algorithm field without a page reload.

Tool Description
Rotate Applies a full-cube rotation to every move in the algorithm.
The rotation axis is either the U-face (CU / y) or the R-face (CR / x), selectable via a small arrow button.
The choice is remembered in a cookie.
Mirror Mirrors the algorithm along the Y-axis, swapping left and right moves.
For example, UU', RL', FF'.
Expand Expands grouped and repeated notation into a flat move sequence.
For example, (R U)3 becomes R U R U R U.
Invert Reverses the algorithm and flips all move directions.
For example, R U F becomes F' U' R'.

Move optimizer: When building an algorithm by clicking on the puzzle's faces in the 3D player, TWISTER automatically simplifies consecutive identical moves. The simplification respects the rotation order of the selected puzzle (4 steps of 90° for cubes, 3 steps of 120° for Pyraminx, 5 steps of 72° for Megaminx). Examples for the Rubik's Cube:

R' R'R2
R2 R'R
R R'(cancelled)

Once an algorithm is entered, TWISTER generates a shareable URL that encodes the current puzzle, notation, and algorithm. Three link formats are available, selectable from a dropdown:

Link Description
Link TWISTER a link to TWISTER itself at randelshofer.ch/cube/twister/, with all current parameters encoded.
Link TWIZZLE Explorer a link to TWIZZLE Explorer at alpha.twizzle.net/explore/ with the algorithm in TWIZZLE notation.
Link TWIZZLE Editor a link to TWIZZLE Editor at alpha.twizzle.net/edit/ with the algorithm in TWIZZLE notation.

The link field can be clicked to copy the URL to the clipboard.

3.1 Notation Systems

TWISTER supports two notation systems that can be translated into each other:

Name Description
SSE Superset ENG — the native notation of TWISTER. An extended English notation with a systematic prefix scheme that covers all layer types for all supported puzzles. Based on the notation from Christoph Bandelow's book Inside Rubik's Cube and Beyond (1982) it was later enhanced for big cubes and other twisty puzzles.
TWIZZLE The notation used by the cubing.net Twisty Player and TWIZZLE Explorer. Broadly equivalent to the WCA standard notation and SiGN. Uses x, y, z or Rv for cube rotations, M, E, S for middle layer moves, Rw for wide (tier) moves, and 2R for inner layers.

TWISTER performs full bidirectional translation between SSE and TWIZZLE for all eleven supported puzzles. The translation is computed server-side in PHP using puzzle-specific mapping tables.

3.2 SSE Notation

SSE (Superset ENG) is a compact, systematic notation for twisty puzzles. Every move follows the pattern [prefix][face][modifier].

3.2.1 Face Letters

Face letters identify the direction of the twist for the cubes and dodecahedron. For the pyraminx corner letters are used instead:

Cube faces:
U (up), R (right), F (front), D (down), L (left), B (back)

Pyraminx corners (tips):
U (up), R (right), L (left), B (back)

Dodecahedron faces:
U (up), R (right), F (front), L (left), UL (up left), UR (up right), D (down), BL (back left), B (back), BR (back right), DR (down right), DL (down left)

3.2.2 Modifiers

Modifiers describe the direction and angle:

(none)
clockwise 90° (or 72° for Megaminx, 120° for Pyraminx)

'
counterclockwise 90° (or 72° for Megaminx, 120° for Pyraminx)

2
clockwise 180° (or 144° for Megaminx, invalid for Pyraminx)

2'
counterclockwise 180° (or 144° for Megaminx, invalid for Pyraminx)

3.2.3 Prefixes

Prefixes identify which layer or set of layers is moved:

Prefix Name Meaning Example
(none) Face twist The outermost single face only R, U', F2
T Tier twist The outermost two layers together (wide move).
Numbered variants such as T3R move the outermost three layers.
TR, T3R'
N Numbered layer A specific individual inner layer.
NR is the second layer from the right face. N3R is the third layer.
NR, N3R'
M Mid-layer The single middle layer of a 3x3 cube.
Equivalent to NR for the 3x3.
MR, MU', MF2
S Slice twist Both opposing outer faces simultaneously — the right face and the left face are moved together. SR, SU
C Cube rotation The entire puzzle rotated as one piece.
CR = x, CU = y, CF = z in TWIZZLE.
CR, CU', CF2
V Void twist A tier twist without the outermost face — inner layers only, leaving the outer face fixed. Used primarily for big cubes. VR, V3R'
W Wide-layer twist All inner layers except the outermost layer.
The complement of two tier twists.
WR, WU'

3.2.4 Algorithm Syntax

SSE also supports structured algorithm syntax beyond simple move sequences:

Syntax Meaning Example
A B Sequence of moves (separated by spaces) R U R'
(A B)' Inverse of a group: equivalent to B' A' (R U)' = U' R'
(A B)3 Repetition: the group repeated n times (R U)3 = R U R U R U
[A: B] Conjugation: A B A' [R: U] = R U R'
[A, B] Commutator: A B A' B' [R, U] = R U R' U'
// comment Single-line comment; ignored by the translator R U R' // sexy move
. or · Visual separator; no semantic effect R U · R' U'

The Expand tool in the algorithm tools panel resolves all grouping, repetition, conjugation, and commutator syntax into a flat move sequence.

3.2.5 Notation Documentation

See the notation documentation for further informations.

4.1 3D Puzzle Player

The 3D puzzle player is the interactive core of TWISTER. It is powered by the open-source Twisty Player web component from cubing.net, embedded directly in the page.

4.1.1 Viewing and Interaction

Action Description
Puzzle view The puzzle is shown in a side-by-side view with both the front and back faces visible simultaneously.
Dragging The view can be freely rotated by dragging the puzzle with a mouse or finger.
Control panel Standard playback controls (play, step, rewind) appear below the player.
Player speed The animation speed is set by the Player speed option.

4.1.2 Clicking to Build Algorithms

Clicking directly on a face of the puzzle adds a move to the algorithm field:

Action Description
Click adds a face twist.
For example, R
Shift + Click adds a second-layer move.
For example, NR for cubes, MU for the 3x3 Pyraminx
Ctrl + Click adds a whole-puzzle rotation.
For example, CR

The newly added move is automatically translated to the active notation and, with a move optimizer, merged or cancelled with the preceding move where possible.

4.1.3 Solved State Anchor

The Anchor option controls where the solved state sits in the animation:

Option Description
Solved at start The puzzle begins solved and the algorithm is applied forward; useful for viewing how an algorithm modifies a solved puzzle (generator mode).
Solved at end The algorithm is applied in reverse so the puzzle ends up solved; useful for viewing how an algorithm restores a scrambled puzzle (solver mode).

4.1.4 Super Cube Stickering

The Super Cube 'Pochmann' stickering option loads a photographic texture onto the puzzle faces using the Pochmann layout. This makes center-piece orientation visible, which matters when solving or analysing algorithms for Super Cube variants.

5.1 URL Parameters

All TWISTER settings can be set via URL query parameters (GET) or form fields (POST). This makes it straightforward to create direct links to a specific puzzle and algorithm.

Parameter Accepted values Default
puzzle 2xCube, 3xCube, 4xCube, 5xCube, 6xCube, 7xCube,
3xPyraminx, 4xPyraminx, 5xPyraminx,
3xMegaminx, 5xMegaminx
3xCube
notation sse, twizzle sse
alg Any algorithm string (URL-enbd) (empty)
stickering "" (full), Super (Pochmann) (empty)
anchor start, end start
tempo 0.16.0 2
algTools "" (hidden), 1 (visible) (from cookie)
darkMode "" (light), 1 (dark) (from cookie)
link sse, twizzleExplorer, twizzleEditor sse

Example link open TWISTER with the Rubik's Cube, and the T-perm algorithm, in SSE notation:

https://www.randelshofer.ch/cube/twister/?puzzle=3xCube&alg=R%20U%20R%27%20U%27%20R%27%20F%20R2%20U%27%20R%27%20U%27%20R%20U%20R%27%20F%27

Copyright © 2020-2026 randelshofer.ch.
All rights reserved.