For full functionality of this site it is necessary to enable JavaScript. Here are the instructions how to enable JavaScript in your web browser.

(Canvas drawing not supported by your browser.)

Add stitches:

Edit pattern:

Syntax:

cchain
sc-nsingle crochet joined to the stitch from n stitches ago
sc-n-msingle crochet joined to two stitches: from n stitches ago and from m stitches ago (can be used for an 'invisible decrease')
(seq)nrepeat seq for n times

Examples:

(c)20chain 20
(c)20,sc-19make a loop of 20 chained stitches joined with a single crochet
c,c,c,c,sc-2,sc-4make two rows of 3 stitches

(You can copy-paste these examples into the 'Edit Pattern' box on the left and then hit 'Update'.)

Controls:

mouse up and downmoves the viewpoint up and down
mouse clickstarts or stops the spinning

Specify the row lengths:

The section above is powerful but hard to use. If you are crocheting in the round then you can just specify how many stitches are in each row and it will compute the stitches for you.

Enter comma-separated row lengths in the box below, and hit the 'Go' button. E.g. 6,12,18,24,30


What am I looking at?

This is a crochet simulator. It shows you what shape you might get if you follow a crochet pattern.

To try it out, type c in the 'Add stitches' box above and hit the 'Add' button. The new chain stitch is added to the pattern and appears in the 3D view. Do it a few times, or type cccc to add several at once.

Other commands are shown in the section on the right. Commas between stitches are optional.

Here's the pattern for a granny square: (c)12(c,sc-2,sc-4,sc-6,sc-8,sc-10,sc-12,sc-14,sc-16,sc-18,sc-20,sc-22)11

See the project wiki for more patterns: https://github.com/timhutton/crochet-simulator/wiki

More details here: https://github.com/timhutton/crochet-simulator


Load a target mesh:

This is an experimental feature. Paste in the contents of a Wavefront OBJ format mesh and we will try to make a pattern that crochets it. Constraints: mesh must be triangular, manifold and have approximately equal sized faces - we assign one stitch per face. The OBJ should have vertices and faces only, with no normals or texture coordinates.