Wire-and-String Puzzles

Initializing live version
Download to Desktop

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

This Demonstration simulates wire-and-string puzzles. Using the default settings, the dark blue segments represent the parts that cannot be changed (the wire). The green loop represents a closed piece of string. Your task is to disentangle the string from the wire.

Contributed by: Karl Scherer (April 2011)
Open content licensed under CC BY-NC-SA




In this Demonstration you are faced with the task of disentangling a closed loop of green string from a given fixed dark blue wire. You have succeeded when you have turned the green string into a small ring outside the wire structure. Some challenges (like the African puzzle) ask for a special target configuration; hit the "goal" button to see what the target is.

The various challenges can be accessed via the "variant" dropdown menu.

Challenges 3-13 are based on classic wire-and-string puzzles. Most of these traditionally come with a wooden board to which the wire is fixed. Also, the wire is usually not a simple loop.

Challenges 14-21 are based on a series of wire-and-string puzzle pendants invented by the author. Here the wire is always a single closed loop. Therefore the puzzles look very pretty, don't need a board to be fixed to, and small versions can be worn as pendants.

Since only right angles are available in this Demonstration, the challenges presented here are simplified and slightly altered versions of the original puzzles.

Once you have disentangled the string, return it to the entangled state you started from. In the challenges you are not allowed to cut the rope and rejoin it (that would be cheating!).

Note that there are also two "Free Play" variants (on the 18×18 and the 30×30 boards) and a tutorial (see below) where you can try out the string manipulations. There is no wire in the Free Play or tutorial variants.


All string and wire segments are horizontal or vertical straight lines, right-angled corners, or crossings. The option "curved" smooths the display by using 90° arcs instead of right angles.

The system allows many ways to pull and push the string, with the direction of movement always being along one of the eight main directions. The handles of the string segments are always at the grid points. Explore!

Due to its huge size, the program is a bit sluggish to react to mouse clicks; hence do not move the mouse pointer away from the clicked position too quickly.

To manipulate the string, click a grid point with a string part to choose a from-position. The from-position will be highlighted. If you have selected the wrong from-position, click it again and it will be unselected. Then click another grid point to define the target position.

You can move a string orthogonally or diagonally over any distance, but some restrictions apply, depending on the configuration of the string.

For starters, try "pulling" corners and straight pieces.

Note that two horizontal strings cannot be positioned on top of each other, since all rope pieces have to be visible at any time. The same is true for two vertical segments.

See "tutorial" for more information.

Crossing segments

Where two strings cross, the new part will usually be on top of the existing segment. There is one exception:

To pass a loose string end, a corner, or a straight piece underneath an orthogonal line, move the end onto the straight segment. The string will automatically be run underneath the crossing segment and be lengthened toward the next free position.

If it has to cross several segments, then the new segment will run below the first crossed segment only (which is the one clicked) and will run above all the others.

If you overshoot or if there are several lines crossing and you want to pass under all of them, you can move the loose end back to the intersection that you want to pass under. Note that this retraction move has only been implemented for loose ends, since it would be too cumbersome to encode other cases. However, in order to simulate swapping layers of finger-like protrusions or loop pieces and so on, we use a special and very powerful mechanism called the "H-move".

The H-move

The letter H symbolizes two vertical parallel lines crossing a long straight piece. Now assume the crossed horizontal line is at the bottom level. The top tips of the H are connected by a part of the string that is situated completely at the top level, which means it has no line crossing over it. In such a case you can click the left crossing, then the right one, and the finger will slip underneath the horizontal line of the H-configuration. This identical H-move can also be used to lift a finger from under the line.

The H-move even works if the horizontal bar has lines crossing below it between the two parallel crossings of the H.

To swap the crossings of a top-layer finger connecting the lower tips of the H from "both over" to "both under" or vice versa, simply click the right intersection first, then the left intersection.

Finally, four similar manipulations are available if a finger is fully placed at the bottom level of the diagram.

Control buttons

Click the "curved" button to toggle between smooth corners and right angles.

Once you have selected the option "auto-select", the system will always take your last to-position as the next from-position (as long as this position still contains a string segment). Unselect by clicking the same position twice. Using "auto-select" can speed up the design of a knot dramatically.

Hit the "undo move" button to undo the last from-to movement.

The "reset" button takes you back to the default setup.

Unselecting the "auto-select", "undo move", or "reset" option will cause the system to automatically unselect and forget any highlighted from-position.

The "goal" option shows you the target configuration.


A complete tutorial is included in the "variant" dropdown menu.

The title of each exercise is the name of the move type you are being taught.

The setup of each tutorial variant contains a red and a blue dot. To execute the specific manipulation, first click the red dot, then the blue dot. If there is more than one blue dot given in the setup, select one of them as a target.

After the first move the red and blue dots disappear, and you are free to try out any manipulation. Hit the "reset" or "undo" button to do the same exercise again or to use a different blue target dot.

Please note that the "mixed-level x-step" shifts the moved bar only one position at a time. (That is why it is called a step, not a slide.)

If you cannot find a move that you can use for your planned manipulation, break your task down into smaller steps.

Most of the manipulations that are applied in the tutorial to a string segment in the upper level also work when you apply them to string parts that are positioned at the lower level. Tutorial 16 shows an example.


This Demonstration is based on similar publications by the author, namely the Zillions games "Knots", "Knots 2", "Knots 3", and "Knots 4", which go deeper into the problem area of knots and also offer much better graphics and much faster manipulations.

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.