Chladni Pattern
Make Chladni figures: the patterns of still lines that sand draws on a vibrating plate. This tool uses the standard idealised formula for a square plate held at its centre, cos(nπx/L) cos(mπy/L) − cos(mπx/L) cos(nπy/L) = 0, or the same two modes added with a plus sign. Choose the two whole numbers n and m from 0 to 12 and the tool traces every nodal line, the places where the formula is zero, so each point drawn sits on a line of the formula and not just near it. Show the lines, scatter sand dots that settle only where the plate barely moves, or colour the two sides of each line. Download a PDF at real size or fitted to the page, a 300 DPI PNG or an SVG for a cutter or plotter. Nothing is uploaded.
100% private — everything runs in your browser. Everything runs in your browser; nothing is uploaded.
Print at 100% (Actual size). Real size prints the plate at the side you type when it fits on one sheet. The SVG holds every nodal line as a path and every sand dot as a circle.
Plate
Page
Runs in your browser with our own code: nothing you type is uploaded or saved. Every nodal line point and sand dot is worked out from the plate formula by our own code. You may use what you make here, including commercially, with no credit needed.
How to make and print a Chladni pattern
- Pick a preset, or type n and m and choose minus or plus.
- Choose nodal lines, sand dots or a two-colour plate, and the colours.
- Type the plate size and choose Fitted to one page or Real size.
- Check the number of lines and their length under the preview.
- Download the PDF and print at 100% (Actual size), or the PNG or SVG.
What you can use it for
- Physics and maths lessons on standing waves and nodal lines
- Posters, cards and wall art
- Laser, plotter and vinyl art from the SVG paths
- Templates to compare with a real plate demonstration
- Colouring sheets from the two-colour plate
- Pattern ideas for textiles and tiles
The 15 presets
| Preset | n | m | Sign | Look | Nodal lines | Total line length (plate sides) | |
|---|---|---|---|---|---|---|---|
| n 1, m 2 (minus): nodal lines | 1 | 2 | minus | nodal lines | 3 | 2.5 | fitted |
| n 1, m 3 (minus): nodal lines | 1 | 3 | minus | nodal lines | 4 | 4.78 | fitted |
| n 2, m 3 (minus): sand dots | 2 | 3 | minus | sand dots (6,000) | 5 | 3.99 | fitted |
| n 1, m 4 (plus): nodal lines | 1 | 4 | plus | nodal lines | 7 | 4.82 | fitted |
| n 2, m 5 (minus): sand dots | 2 | 5 | minus | sand dots (6,000) | 10 | 6.18 | fitted |
| n 3, m 4 (minus): two-colour plate | 3 | 4 | minus | two-colour plate | 7 | 5.54 | fitted |
| n 3, m 5 (plus): two-colour plate | 3 | 5 | plus | two-colour plate | 10 | 6.82 | fitted |
| n 1, m 6 (minus): sand dots | 1 | 6 | minus | sand dots (6,000) | 11 | 7.04 | fitted |
| n 4, m 7 (minus): nodal lines | 4 | 7 | minus | nodal lines | 15 | 9.13 | fitted |
| n 5, m 8 (plus): sand dots | 5 | 8 | plus | sand dots (9,000) | 18 | 10.66 | fitted |
| n 2, m 9 (minus): two-colour plate | 2 | 9 | minus | two-colour plate | 19 | 10.54 | fitted |
| n 7, m 10 (minus): fine nodal lines | 7 | 10 | minus | nodal lines | 23 | 13.75 | fitted |
| n 3, m 3 (plus): nodal lines | 3 | 3 | plus | nodal lines | 6 | 6 | fitted |
| Real size: 150 mm plate, n 2, m 3, sand dots | 2 | 3 | minus | sand dots (6,000) | 5 | 3.99 | real size, plate 150 mm |
| Real size: 6 in plate, n 1, m 4 (minus), lines | 1 | 4 | minus | nodal lines | 7 | 4.82 | real size, plate 6 in |
Line counts and lengths are measured by the tool from the lines it traces. A line that touches the edge of the plate is counted as one piece.
Nodal line length for small n and m
| n | m | Length, minus (plate sides) | Length, plus (plate sides) | Centre on a line (minus) |
|---|---|---|---|---|
| 1 | 2 | 2.5 | 2.5 | yes |
| 1 | 3 | 4.78 | 3.52 | yes |
| 1 | 4 | 4.82 | 4.82 | yes |
| 1 | 5 | 6.76 | 5.64 | yes |
| 1 | 6 | 7.04 | 7.04 | yes |
| 2 | 3 | 3.99 | 3.99 | yes |
| 2 | 4 | 4.99 | 4.99 | yes |
| 2 | 5 | 6.18 | 6.18 | yes |
| 2 | 6 | 9.49 | 7.05 | yes |
| 3 | 4 | 5.54 | 5.54 | yes |
| 3 | 5 | 7.37 | 6.82 | yes |
| 3 | 6 | 7.49 | 7.49 | yes |
| 4 | 5 | 7.11 | 7.11 | yes |
| 4 | 6 | 7.99 | 7.99 | yes |
Longer lines mean a busier figure. With the minus sign the centre of the plate is always on a nodal line.
What prints
| Download | What is in it |
|---|---|
| The plate fitted to one page or at real size, vector, with n, m, the formula and a check bar | |
| PNG 300 DPI | The same sheet as a picture |
| SVG | Every nodal line as a path, every sand dot as a circle and the colour cells as rectangles, at the printed size |
For a cutter that needs DXF, use SVG to DXF.
Which tool to use
| You want | Use |
|---|---|
| Still lines of a vibrating square plate, with sand dots | Chladni Pattern (this page) |
| Fringes from waves spreading out of two or more points | Interference Pattern |
| Two line or dot screens laid over each other | Moiré Pattern Generator |
| Optical illusion stripes and grids | Op Art Generator |
| Engraving-style rosettes | Guilloche Pattern Generator |
Other tools: the Moiré Pattern Generator overlays two screens, the Op Art Generator makes optical illusion patterns and the Guilloche Pattern Generator draws rosettes.
More free tools
Patterns, geometry and printables?
Drawing and print tools that run privately in your browser, with no sign-up and no watermark.
Frequently asked questions
What is a Chladni pattern?
When a flat plate vibrates, some lines on it stay still while the parts between them move. Ernst Chladni made these lines visible by drawing a bow over a metal plate lightly covered with sand: the sand gathers along the still lines, called nodal lines. He first published the technique in 1787 in his book Entdeckungen über die Theorie des Klanges (Discoveries in the Theory of Sound).
Which formula does this tool draw?
For a square plate of side L held at its centre, the nodal lines are where cos(nπx/L) cos(mπy/L) − cos(mπx/L) cos(nπy/L) = 0, with n and m whole numbers. The plus option adds the same two terms instead. The tool works out every point of every line from this formula: in our tests each traced point gives a value smaller than one billionth, and no line found on a finer check grid is missed.
Is this exactly what a real plate shows?
No. It is a simple idealised model of a square plate, good for clear figures. A real plate also depends on its material, thickness, how it is held and the exact frequency, so its figures can differ. The tool does not work out any frequency.
What do n and m do?
They set how many times each wave fits across the plate. Small numbers give a few broad curves; larger numbers give a fine net of lines. Swapping n and m gives the same lines, and with the minus sign n and m must be different, because n = m makes the formula zero everywhere.
Why is the diagonal always a line with the minus sign?
On the diagonal x = y the two terms are equal, so their difference is zero: the diagonal from corner to corner is always a nodal line, and so is the centre of the plate. With the plus sign and n + m odd, the other diagonal is a nodal line instead. Every figure is also mirror-symmetric about the diagonal, which our tests check point by point.
What are the sand dots?
The tool scatters random points over the plate and keeps only those where the formula is close to zero (its size at most 0.06, where the largest possible value is 2), like sand that settles where the plate barely moves. The seed makes the same scatter every time; change it for a new one.
Can it print at real size?
Yes, when the plate fits on one sheet: it is printed at the side you type, and every line point is within 0.2 mm of its true place in our tests on US Letter and A4, as long as you print at 100% (Actual size). Bigger plates print fitted to the page.
Is it free?
Yes. There is no sign-up, no watermark and no limit.
Is anything uploaded?
No. Every line, dot and shade is worked out by JavaScript in your browser. Nothing you type is sent anywhere or saved when you close the page.