Superformula

Draw shapes with the superformula, the one-line formula Johan Gielis published in 2003 that bends a circle into stars, flowers, rounded squares and polygons: r(φ) = (|cos(mφ/4)/a|^n2 + |sin(mφ/4)/b|^n3)^(−1/n1). Type m, n1, n2, n3, a and b, and the tool works out every point of the curve from the formula and draws it over exactly the number of turns it needs to close, so whole-number and fractional m both give a clean closed outline. Draw one shape, nested or turned copies, or a sheet of shapes for stickers or a cutter, as an outline, filled or as a 0.1 mm laser cut line. Download a PDF at real size or fitted to the page, a 300 DPI PNG or an SVG. Nothing is uploaded.

100% private — everything runs in your browser. Everything runs in your browser; nothing is uploaded.

100% private — runs in your browser

Print at 100% (Actual size). Real size prints each shape at the size you type when the design fits on one sheet. The SVG holds every curve as one closed path.

Shape

Layout

Page

Runs in your browser with our own code: nothing you type is uploaded or saved. Every point of every curve is worked out from the formula by our own code. You may use what you make here, including commercially, with no credit needed.

How to make and print a superformula shape

  1. Pick a preset, or type m, n1, n2, n3, a and b.
  2. Choose one shape, nested copies, turned copies or a grid.
  3. Choose outline, filled, both or a laser cut line, and the colours.
  4. Type the size and choose Fitted to one page or Real size.
  5. Download the PDF and print at 100% (Actual size), or the PNG or SVG.

What you can use it for

  • Logo and icon shape studies
  • Laser, vinyl and plotter cutting from the SVG outline
  • Sticker sheets and badges at real size
  • Maths lessons on polar curves and the superellipse
  • Posters, cards and wall art
  • Shape ideas for tiles, stencils and textiles

The 16 presets

Presetmn1n2n3abTurns to closeLayoutLookPrint
m 4, n1 = n2 = n3 = 2: the unit circle4222111one shapeoutlinefitted
m 4, n1 = n2 = n3 = 40: rounded square4404040111one shapeoutlinefitted
m 4, n1 = n2 = n3 = 1: diamond (straight sides)4111111one shapeoutlinefitted
m 5, n1 0.3, n2 = n3 0.3: five-point star50.30.30.3111one shapeoutlinefitted
m 3, n1 4.5, n2 = n3 10: rounded triangle34.51010111one shapefilledfitted
m 6, n1 1, n2 = n3 7: six-petal flower6177111one shapefilled + outlinefitted
m 16, n1 0.5, n2 = n3 0.5 nested: spiky ring160.50.50.5111nested copies (6)outlinefitted
m 8, n1 0.5, n2 0.5, n3 8: eight lobes80.50.58111one shapefilledfitted
m 2.5, n1 = n2 = n3 1: closes after 2 turns2.5111112one shapeoutlinefitted
m 0.5, n1 = n2 = n3 0.3: two turns, nested loops0.50.30.30.3112one shapeoutlinefitted
m 7, n1 0.2, n2 = n3 1.7: 8 copies turned 6.43° apart70.21.71.7111turned copies (8)outlinefitted
m 2, n1 1, n2 4, n3 8, a 1, b 0.8: leaf-like oval214810.81one shapefilled + outlinefitted
m 1, n1 0.5, n2 0.5, n3 0.5: heart-like loop10.50.50.5111one shapefilledfitted
m 6, n1 = n2 = n3 1: real-size sheet of 12 (45 mm) for cutting6111111grid sheet (4 × 3)laser cut linereal size, 45 mm
Real size: 120 mm, m 5, n1 2, n2 = n3 75277111one shapeoutlinereal size, 120 mm
Real size: 4 in, m 3, n1 = n2 = n3 3, laser cut line3333111one shapelaser cut linereal size, 4 in

Turns are worked out by the tool from m and checked by our tests. Names describe what the computed curve looks like.

Special cases, checked at every point

Settings (a = b = 1)Shapex at 45°On the shape at every vertex
m 4, n1 = n2 = n3 = 1diamond: |x| + |y| = 10.5yes (all 1,440 points)
m 4, n1 = n2 = n3 = 2unit circle: x² + y² = 10.70711yes (all 1,440 points)
m 4, n1 = n2 = n3 = 4superellipse |x|⁴ + |y|⁴ = 10.8409yes (all 1,440 points)
m 4, n1 = n2 = n3 = 40rounded square |x|⁴⁰ + |y|⁴⁰ = 10.98282yes (all 1,440 points)
m 4, n2 = n3 = 2, n1 = 40unit circle again: cos² + sin² = 1, so n1 does nothing0.70711yes (all 1,440 points)

The x value at 45° shows how square the corner is: 0.70711 is a circle, 0.98282 is nearly a square corner.

How many turns before the curve closes

mTurns, a = b and n2 = n3Turns, otherwise
0.2548
0.524
112
1.524
2.524
312
3.524
4.2548
512
712
12.524

The tool refuses an m that would need more than 20 turns; use fewer decimals.

What prints

DownloadWhat is in it
PDFThe design fitted to one page or at real size, vector, with the formula values, the number of turns and a check bar
PNG 300 DPIThe same sheet as a picture
SVGEvery curve as one closed path, at the printed size

For a cutter that needs DXF, use SVG to DXF; to edit points by hand, use the SVG Path Editor.

Which tool to use

You wantUse
Stars, flowers and rounded polygons from one formulaSuperformula (this page)
Rounded-square corners for app icons and CSSSquircle Generator
Curves drawn by gearsSpirograph Art Generator
Soft random organic shapesBlob Generator
Engraving-style rosettesGuilloche Pattern Generator

Other tools: the Squircle Generator makes superellipse corners, the Spirograph Art Generator draws gear curves, the Blob Generator makes organic blobs and the Guilloche Pattern Generator draws rosettes.

More free tools

Curves, patterns and printables?

Drawing and print tools that run privately in your browser, with no sign-up and no watermark.

See all free tools →

Frequently asked questions

What is the superformula?

It is a formula for curves in polar form, a generalisation of the superellipse, proposed by Johan Gielis in 2003 in the American Journal of Botany (“A generic geometric transformation that unifies a wide range of natural and abstract shapes”). Gielis suggested it can describe many shapes and curves found in nature. The curves it draws are often called Gielis curves or supershapes.

What do m, n1, n2, n3, a and b do?

m sets the symmetry: with a = b and n2 = n3 a whole-number m gives m lobes or points. n1 sets how puffed out or pinched the shape is, n2 and n3 shape the two halves of each lobe, and a and b stretch them. Small n values make sharp stars; large equal values make rounded polygons.

When does the curve close?

The tool works out the number of full turns from m: with a = b and n2 = n3, m = p/q in lowest terms closes after q turns, otherwise after 2q / gcd(p, 2q) turns. So m = 2.5 closes after 2 turns, or 4 turns when n2 and n3 differ. The table below lists more, and our tests check every case against a brute-force search.

Which special cases does it include?

With m = 4 and n1 = n2 = n3 = n it is the superellipse |x|^n + |y|^n = 1: n = 2 is the unit circle, n = 1 a diamond with straight sides and n = 40 a rounded square. With n2 = n3 = 2 and a = b the formula is a circle whatever n1 is, because cos² + sin² = 1. Every one of these is checked at every point by our tests.

Is every point exact?

Each vertex is the formula worked out at an even step of the angle, 1,440 points for each turn, and joined by straight lines. In our tests every printed vertex is within 0.2 mm of its true place on US Letter and A4, as long as you print at 100% (Actual size).

Can I cut it on a laser cutter or plotter?

Yes. Choose the laser cut line look for a 0.1 mm red outline, or any look, and download the SVG: each curve is one closed path at the printed size. For DXF, convert the SVG.

Does it make 3-D supershapes?

No. This page draws the flat 2-D curve only.

Is it free?

Yes. There is no sign-up, no watermark and no limit.

Is anything uploaded?

No. Every point, line and filing is worked out by JavaScript in your browser. Nothing you type is sent anywhere or saved when you close the page.