Catenary

Work out a catenary, the curve of a chain hanging from two points, from its span and sag, or turn it upside down for a catenary arch from its span and rise. You can also give the span and the length of the chain. The tool solves y = a cosh(x/a), shows the length of the curve, the angle at the ends and how far a parabola of the same size would be off, and prints the curve at real size across as many sheets as it needs, with an offset table (height at every step along the base) so you can mark it out on a board, wall or floor. Download a PDF, PNG, SVG or CSV. 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 across as many sheets as it needs: cut each sheet on its dashed line and butt the edges together, matching the corner marks. The SVG holds the whole drawing at real size.

Catenary

Draw

Lines

Page

Runs in your browser with our own code: nothing you type is uploaded or saved. Every line and number is worked out from y = a cosh(x/a) by our own code. This is geometry only, not structural advice. You may use what you make here, including commercially, with no credit needed.

How to draw a catenary and print it at real size

  1. Pick a preset, or choose Hanging or Arch and type the span and the sag (or rise), or the span and the length of the curve.
  2. Tick the parabola to compare the two curves, and the offset stations to see where the table measures.
  3. Set the offset step (for example every 50 mm or every 2 in).
  4. Choose Fitted to one page for a diagram, or Real size for a full-size template on tiled sheets.
  5. Download the PDF (the offset table is on its own page) and print at 100% (Actual size), or the SVG or the CSV of offsets.

What you can use it for

  • Marking out an arch shape on plywood, card or a wall
  • Garden arches, doorway and niche shapes for models and crafts
  • Drapes, swags and chain or bead loops for jewellery and decor
  • Maths and physics lessons: the hanging chain and the hyperbolic cosine
  • Comparing a catenary with a parabola of the same size
  • Pen plotter and laser cutting of exact curves

The 14 presets

PresetShapeSpanSag or riseaCurve lengthGap to a parabola
Hanging chain: 1 m span, 250 mm sagHanging1000 mm250 mm537.2 mm1150.8 mm4.4 mm
Necklace drape: 200 mm span, 80 mm sagHanging200 mm80 mm72.9 mm268.8 mm2.9 mm
Shallow sag: 2 m span, 100 mm sagHanging2000 mm100 mm5016.6 mm2013.3 mm0.1 mm
Deep loop: 300 mm span, 450 mm sagHanging300 mm450 mm50.2 mm995.3 mm64.6 mm
Rope 1.5 m long between posts 1.2 m apartHanging1200 mm398.2 mm507.3 mm1500 mm11.1 mm
Garden arch: 1200 mm span, 2100 mm riseArch1200 mm2100 mm188.1 mm4560.7 mm332.7 mm
Doorway arch: 36 in span, 80 in riseArch36 in80 in5.14 in169.98 in14.51 in
Window head: 24 in span, 12 in riseArch24 in12 in7.43 in35.9 in0.6 in
Shelf niche: 400 mm span, 600 mm riseArch400 mm600 mm66.9 mm1327 mm86.2 mm
Low arch: 1 m span, 200 mm rise, with the parabolaArch1000 mm200 mm655.9 mm1099.7 mm2.4 mm
Tall arch: 300 mm span, 900 mm riseArch300 mm900 mm38.6 mm1875.7 mm188.5 mm
Rise equal to span: 50 cm × 50 cmArch50 cm50 cm10.14 cm118.55 cm5.27 cm
Table-top model arch: 150 mm span, 150 mm rise (real size)Arch150 mm150 mm30.4 mm355.7 mm15.8 mm
Arch of a given length: 600 mm curve over a 300 mm spanArch300 mm238.9 mm68.9 mm600 mm20.4 mm

Every value is worked out by the tool from the span and the sag, rise or length. The gap is the largest vertical distance between the catenary and a parabola with the same span and depth.

Depth, length and the parabola gap

Depth / spanaCurve lengthEnd angleParabola gapGap as % of depth
0.052.5083 L1.0066 L11.3°0.00004 L0.1%
0.11.2663 L1.0262 L22.1°0.00032 L0.3%
0.250.5372 L1.1508 L47.0°0.00439 L1.8%
0.50.3094 L1.4958 L67.5°0.02503 L5.0%
10.2027 L2.3710 L80.3°0.10540 L10.5%
20.1487 L4.2871 L86.0°0.34253 L17.1%

L is the span. Shallow curves are close to a parabola; deep ones are not. The end angle is measured from level at each support.

An offset table: 1 m span, 300 mm sag or rise, every 100 mm

Distance from the left endHeight (arch) or drop (chain)
0 mm0.0 mm
100 mm114.6 mm
200 mm198.5 mm
300 mm255.8 mm
400 mm289.1 mm
500 mm300.0 mm
600 mm289.1 mm
700 mm255.8 mm
800 mm198.5 mm
900 mm114.6 mm
1000 mm0.0 mm

The tool makes this table for any span, depth and step, prints it on its own PDF page and saves it as a CSV.

What prints

DownloadWhat is in it
PDFThe drawing fitted to one page or at real size on tiled sheets, then the offset table page(s); vector, with a check bar on every sheet
PNG 300 DPIThe same sheets as pictures (a ZIP when there is more than one)
SVG (real size)Only the drawing at real size: the curve as one path, guides as separate paths
Offsets CSVThe offset table for a spreadsheet

For a cutter that needs DXF, use SVG to DXF.

Which tool to use

You wantUse
A hanging chain or catenary arch, its length and a real-size templateCatenary (this page)
An evenly spaced spiralArchimedean Spiral
A flat pattern for a cone or a lampshadeCone Template
Gears and gear curvesGear Generator
Squared paper for drawing your own curvesGraph Paper

Other drawing tools: the Cone Template makes flat patterns, the Gear Generator draws spur gears and the Graph Paper maker prints grids at real size.

More free tools

Curves, templates and generative art?

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 a catenary?

The curve that a chain or rope of even weight takes when it hangs freely from two points. Its equation is y = a cosh(x/a), where a sets how flat it is. The word comes from the Latin catena, chain.

What is a catenary arch?

The same curve turned upside down. On this page the arch shape is exactly the hanging curve flipped, with the same span and the rise in place of the sag. This page gives the geometry only; it does not size or check any structure.

How does the tool find a from the span and the sag?

With span L and sag s it solves (cosh u − 1)/(2u) = s/L for u by repeated halving, then a = L/(2u). Our tests check that the solved curve gives back the typed sag (or rise) and span to within one billionth.

How long is the curve?

The length is 2a sinh(L/2a). For a span of 1 m and a sag of 300 mm, a = 459.4 mm and the curve is 1209.4 mm long. Our tests check the formula against a numerical integration to one millionth.

Is a catenary the same as a parabola?

No. With the same span and depth the two curves differ, and the gap grows as the curve gets deeper: the table below gives it for several shapes, and the tool shows it for yours.

What is the offset table?

A list of heights (for an arch, above the springing line; for a chain, the drop below the line between the supports) at every step along the base, measured from the left end. Mark each one and join the marks with a flexible batten. The values come from the same formula as the drawing and are rounded to 0.1 mm or 0.01 in.

Can I set the length of the chain instead of the sag?

Yes. Choose Span and the length of the curve. The tool solves sinh(u)/u = length / span for u, then the sag follows. The length must be longer than the span.

How does the real-size print work when the drawing is bigger than the paper?

Choose Real size. The tool splits the drawing over as many sheets as it needs, each with a dashed edge, corner marks and a label such as A1 (row A, column 1). Cut each sheet on its dashed line, butt the edges together in order and tape them. Every printed point is at its true position to within 0.2 mm in our tests, on US Letter and A4, as long as you print at 100% (Actual size); the check bar on each sheet lets you confirm the scale.

Can I use it on a plotter or cutter?

Yes. The SVG holds the curve at real size as one path, with the base line, the centre line and any parabola or stations as separate paths. For a program that wants DXF, convert the SVG with our SVG to DXF tool.

Is it free?

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

Is anything uploaded?

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