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 SiGN and the WCA standard notation.
Uses Rv (SiGN) or x, y, z (WCA) for cube rotations,
M, E, S (WCA) for middle layer moves,
Rw (WCA) 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], of which only the face is mandatory.
3.2.1 SSE Face Letters
Face letters identify the direction of the twist for the cubes and dodecahedron.
For the pyraminx corner letters are used instead.
In SSE face and corner letters are always capitalized:
| Puzzle |
Letters |
Type |
| Cube |
U (up), R (right), F (front),
D (down), L (left), B (back)
|
Face |
| Pyraminx |
U (up), R (right), L (left), B (back)
|
Corner (tip) |
| Dodecahedron |
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)
|
Face |
In SSE lowercase letters are reserved for the description of permutation cycles.
3.2.2 SSE Modifiers
Modifiers describe the direction and angle:
| Modifier |
Description |
| (none) |
clockwise 90° (or 72° for Megaminx, 120° for Pyraminx)
|
| ' |
clockwise 180° (or 144° for Megaminx, invalid for Pyraminx)
|
| 2' |
counterclockwise 180° (or 144° for Megaminx, invalid for Pyraminx)
|
3.2.3 SSE 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.3 TWIZZLE Notation
The TWIZZLE notation includes SiGN and the WCA standard notation.
SiGN (Simple General Notation) is a notation for a wide range of twisty puzzles.
Every move follows the pattern [prefix][group][modifier], of which only the group is mandatory.
3.3.1 TWIZZLE Groups
Group describes the name of a handle;
if it's capitalized, it's (by default) a slice twist;
if it's lowercase, it's a block twist.
If the group name ends with v, it's a puzzle rotation (very wide twist).
The group also identifies the direction of the twist for the cubes and dodecahedron.
For the pyraminx the name of the handle can be a corner (tip) or a face:
| Puzzle |
Letters |
Groups |
| Cube |
U (up), R (right), F (front),
D (down), L (left), B (back)
|
Slice twist |
| Cube |
u (up), r (right), f (front),
d (down), l (left), b (back)
|
Block twist |
| Pyraminx |
U (up), R (right), L (left), B (back)
|
Slice twist (corner) |
| Pyraminx |
u (up), r (right), l (left), b (back)
|
Block twist (corner) |
| Pyraminx |
BR (back right), F (front), BL (back left), D (down)
|
Slice twist (face) |
| Pyraminx |
br (back right), f (front), bl (back left), d (down)
|
Block twist
| Dodecahedron |
U (up), R (right), F (front), L (left), BL (back left), BR (back right),
D (down), DL (down left), B (back), DR (down right), FR (front right), FL (front left)
|
Slice twist |
| Dodecahedron |
u (up), r (right), f (front), l (left), bl (back left), br (back right),
d (down), dl (down left), b (back), dr (down right), fr (front right), fl (front left)
|
Block twist |
| All puzzles |
v (very wide twist)
|
Puzzle rotation |
|
3.3.2 TWIZZLE Modifiers
Modifiers describe the direction and angle:
| Modifier |
Description |
| (none) |
clockwise 90° (or 72° for Megaminx, 120° for Pyraminx)
|
| ' |
clockwise 180° (or 144° for Megaminx, invalid for Pyraminx)
|
| 2' |
counterclockwise 180° (or 144° for Megaminx, invalid for Pyraminx)
|
If the prefix is omitted then it defaults to the first slice for a slice twist, or the first two slices for a block twist.
If the prefix is a single integer, it says what single slice to turn for a slice twist, or how many consecutive outer slices to turn for a block twist.
If the prefix is a range, it gives the range of slices to turn.
| Prefix |
Meaning |
Example |
| (none) |
The first slice of a slice twist or the first two slices of a block twist |
R, u |
| Integer |
The number of a single slice twist or the amount of outer slices for a block twist |
2R, 3r' |
| Range |
The range of slices |
2-3R |
SSE and TWIZZLE also support 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 |
| . |
Visual separator; no semantic effect (SSE and TWIZZLE) |
R U . R' U' |
| · |
Visual separator; no semantic effect (SSE only) |
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.
See the notation documentation for further informations.
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.
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.
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).
|
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.
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 |
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