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.
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, U ↔ U', R ↔ L', F ↔ F'.
|
| 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)
2.4 Sharing Links
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.1 … 6.0 |
2 |
| algTools |
"" (hidden), 1 (visible) |
(from cookie) |
| darkMode |
"" (light), 1 (dark) |
(from cookie) |
| link |
sse, twizzleExplorer, twizzleEditor |
sse |
5.1.1 Example Link
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