An instrument you manufacture
One Straight Cut
Fold a sheet flat. Make one complete straight cut. Open it out. You can get any shape with straight sides this way, and any number of them at once, however awkward. Choose a shape below and the page will work out the creases, fold the sheet in simulation to see whether they actually do it, and print the result at true millimetres.
The surprising part is not that some shapes work. It is that all of them do. A five-pointed star, the letter G, a swan, a hundred disjoint triangles, the outline of your own signature rendered in straight segments: one fold-flat, one cut, done. Every pattern of straight-line cuts can be made by folding flat and one complete straight cut. Martin Gardner was the first to pose it as a problem, in 1960, and it was answered at the end of the 1990s. How completely it was answered, and by which of the two answers, is the second half of this page.
What follows is the theorem made operable, and honest about where it stops. The page hands you no crease pattern it has not checked, and it will refuse rather than print a shape it cannot certify.
the sheet, flat: your creases
the same sheet, folded
ridge fold gutter fold perpendicular fold the cut the blade's path, recovered from the fold
Drag any corner of the red shape. Double-click an edge to add a corner, double-click a corner to remove it.
The certificate
The construction this page uses is the one nearly every implementation uses, and it is not a promise. So the page does not offer you one. Instead it folds the sheet: it walks from region to region across the crease pattern, composing one reflection per crease, until every region has an isometry saying where it lands. Then it asks four questions of the result, and the fourth is the one that matters.
The fourth check never looks at your shape. It takes the blade's line in the folded sheet, pulls it back through each region's own isometry, and draws the path the scissors actually travel across the unfolded paper. Only then does it compare that path with your outline. A crease pattern that folds beautifully and cuts out the wrong thing fails here rather than passing quietly, which is exactly the failure a check built the other way round would miss. The blade's recovered path is the blue dashed line on the flat sheet, and if the pattern is right you cannot see it, because it is underneath your outline.
Break it on purpose
A check that has never rejected anything is not a check. Rotate one crease and watch what happens: the certificate goes red, and the blue line, which is computed only from the folded state, walks off your shape and starts cutting through the middle of it.
The half your hands decide
Everything above is about whether the creases line your outline up. There is a second question, and the page cannot answer it: can a real sheet of paper actually get into that folded position without passing through itself?
That question is NP-hard. Bern and Hayes proved in 1996 that deciding whether a crease pattern has a flat folded state at all is intractable in general; testing whether each vertex folds flat on its own is easy and fast, and the hard part is finding an order for the layers that no two sheets of paper have to swap through. So this page marks the ridge and gutter folds, which follow from the geometry, and deliberately leaves the perpendicular creases unmarked. Which way each of those goes is decided by the layer order, and finding the layer order is the intractable step.
That is not a gap in the work. It is the division of labour: the computer does the part that is provable, and your fingers do the part that is NP-hard. When you fold one of these and it will not lie flat until you reverse a crease, you have just performed a search no algorithm does efficiently.
Print it
The pattern is drawn at true millimetres, and it has to be, because these creases only meet where they should if the geometry survives your printer. Nearly every driver defaults to fit to page or shrink oversized pages, lands somewhere around 94 to 96 per cent, and never says so. So the sheet carries a printed ruler and four registration marks. Measure the ruler with any ruler you own before you fold anything.
Print the sheet, then measure the printed ruler and type what you read:
not measured yet: this page is not claiming your printed pattern is accurate.
One A4 or US Letter page. Cut out the square first: creases have to reach the edge of the sheet, and no printer prints to the edge of the paper.
The proof that is still in progress
Here is the part almost nobody says out loud. There are two known ways to solve the fold-and-cut problem, and they are not in the same state.
The disk-packing method of Marshall Bern, Erik Demaine, David Eppstein and Barry Hayes is complete. It packs the sheet with disks, decomposes the gaps into triangles and quadrilaterals, and folds each with a known molecule. The theorem is true and this is why.
The straight-skeleton method of Erik Demaine, Martin Demaine and Anna Lubiw is the beautiful one, the one that produces the patterns people actually print, and the one this page implements. Wikipedia's article on the theorem says, in full: "The first proof of the fold-and-cut theorem, solving the problem, was published in 1999 by Erik Demaine, Martin Demaine, and Anna Lubiw and was solved using straight skeleton method." Its authors put it differently. From their own survey, six years later:
There are two solutions to the problem. The first (partial) solution … is based on a structure called the straight skeleton … This solution applies to a large class of instances, which we do not describe in detail here. The second (complete) solution … is based on disk packing. Erik D. Demaine and Joseph O'Rourke, "Folding and Unfolding in Computational Geometry", Combinatorial and Computational Geometry, MSRI Publications vol. 52 (2005), p. 188
And on Demaine's own page for the problem, of the straight-skeleton method, today:
The full paper (which includes all proof details) is still in progress. erikdemaine.org/foldcut/, retrieved 15 August 2026
So: the theorem is true, and the construction on this page is a partial solution to it whose complete proof has never been published. Every applet that hands you a straight-skeleton crease pattern is handing you an artifact whose correctness, for your particular shape, nobody has established. That is not a scandal. It is a perfectly ordinary state for a working method to be in, and it has exactly one honest response, which is the one this page takes: do not claim the method, certify the instance. A per-shape certificate is a weaker statement than a theorem and a much stronger one than an implementation's confidence.
What that costs, measured
Over 300 pseudo-random polygons of 3 to 14 vertices, this implementation certified 297. The three it refused are not a failure of the mathematics. Each demanded a single perpendicular crease that reflects its way across the sheet 18,475, 7,686 and 22,907 times before it terminates. For a typical shape that number is 6; nine in ten stay under 204. (node census.mjs reproduces all of it from a fixed seed.) Those patterns exist. They are not objects. The published method's own description names this: it says the skeleton creases work together with "a subset of the perpendicular creases (and a few more auxiliary creases)," and choosing that subset is part of the proof that has not been written down.
Which gives the honest shape of the whole thing. The theorem is universal. The method is partial. The certificate is per-shape. And the sheet in your hands is bounded by something none of them mention, which is how small a crease your fingers can actually make.
Where this came from
| when | what |
|---|---|
| 1721 | The earliest known statement of the problem: Wakoku Chiyekurabe (Mathematical Contests) by Kan Chu Sen, a Japanese puzzle book. One problem asks the reader to fold a rectangle flat and make one complete straight cut to produce the crest called sangaibisi, "three folded rhombics". A solution is given, as a sequence of simple folds. |
| 1833 | Fold-and-cut appears as a parlour trick in The Girl's Own Book by Lydia Maria Child. |
| 1873 | "National Standards and Emblems" by Kate Putnam Osgood, Harper's New Monthly Magazine vol. 47 no. 278, pp. 171–181, tells the story that in 1777 Betsy Ross argued for a five-pointed star over a six-pointed one: "she showed them how such a star could be made, by folding a sheet of paper and producing the pattern by a single cut." The truth of the story is unclear, and the Library of Congress scan was unreachable when this page was written, so that sentence is quoted from the transcription in Wikipedia's citation of the article rather than from the page itself. What is not in doubt is that the shape can be done. |
| 1920 | Will Blyth, Paper Magic (C. Arthur Pearson, London), one of several magicians publishing fold-and-cut examples in this period. |
| 1922 | Harry Houdini, Houdini's Paper Magic (E. P. Dutton, pp. 176–177), gives a method for the five-pointed star. The book appears to have been ghostwritten by another magician, Walter Gibson. |
| 1955 | Gerald Loe, Paper Capers (Magic, Inc.), works the idea hard: chains of stars, and any letter of the alphabet. |
| 1960 | Inspired by Loe, Martin Gardner writes about it in Scientific American (June), and is the first to pose the general question. He gets close enough to see the shape of it: "more complicated designs present formidable problems." |
| 1998–99 | Erik Demaine, Martin Demaine and Anna Lubiw answer it with the straight skeleton (JCDCG'98, LNCS 1763, pp. 104–117; SODA'99, pp. 891–892). The answer is: all of them. This is the solution Wikipedia calls the first proof and the authors' own survey calls partial. |
| 1998–2002 | Marshall Bern, Erik Demaine, David Eppstein and Barry Hayes give the second solution, by disk packing (FUN'98, then OSME 2001, published 2002). This is the one the same survey calls complete, and it is why the theorem is a theorem. |
How the creases are found
Take the shape and shrink it, keeping every edge parallel to where it started and moving each one inward at the same speed. The corners trace paths; when the shrinking boundary runs into itself, it splits and each piece carries on. Those traced paths are the straight skeleton, and the time at which the shrinking front arrives at a point is the height of a roof over the shape, a roof whose every surface slopes at forty-five degrees. Do the same thing to the paper outside the shape and you get a second roof, falling away.
Flattening those two roofs is the fold. Every point at height zero, which is to say every point of your outline, ends up on one line; everything inside ends up on one side of it and everything outside on the other. The skeleton gives most of the creases. The rest are perpendiculars: from each corner of the skeleton, drop a line straight at the edge whose front got there, and let it carry on through the outline and reflect off every skeleton crease it meets. Those reflections are why the pattern gets complicated, and why a perpendicular can occasionally bounce twenty thousand times.
One detail worth stating because it is easy to get backwards, and this page did get it backwards first: the outline is not a fold. The paper runs straight through it, which is exactly how the inside and outside end up on opposite sides of the cut line without anything being folded along the outline itself. A perpendicular crease that stops when it reaches the outline leaves a loose end in the middle of the sheet, and a loose end cannot fold flat: go once around it and you have composed a single reflection instead of the identity. The certificate caught that.
How this was checked
- The straight skeleton is computed here, in your browser, by simulating the shrinking front. That code is checked against CGAL 5.6, a separate implementation by other people using exact predicates, and the two are required to agree segment for segment and arrival time for arrival time: 629 assertions from
node verify-skeleton.mjs --random 200, over fixed cases, 200 pseudo-random polygons, 100 pseudo-random sheets with holes, and the fully degenerate five-pointed star whose every edge touches one inscribed circle. - The fold-and-cut construction and its certificate carry 69 assertions of their own (
node verify-foldcut.mjs), including four negative controls: an undamaged pattern must certify, a crease rotated by half a degree must be refused, a deleted perpendicular must be refused, and folding along the outline instead of across it must be refused. - A further 33 assertions (
node verify-page.mjs) drive this page itself in a real browser, because whether a reader sees CERTIFIED is a question about the page and not about the source file. They include the negative control below: the slider is moved through the actual DOM, and the certificate is required to turn red and to name which check failed. - The engine on this page is the same file the verifiers import. Not a copy of it.
- The comparison against CGAL is itself given something to reject: a 0.1 mm displaced arc and a 0.01 mm arrival-time error, each of which a different code path has to notice.
Two real defects were found this way and are worth naming, because both are the same kind of mistake. The skeleton engine silently dropped an entire arc whenever a shape sat off-centre in a much larger sheet: its split-event guard excluded candidates by vertex adjacency when what must be excluded is edge adjacency, and once two shrinking fronts merge those two things stop being the same. And the construction accepted an edge as owning a skeleton corner whenever the corner sat at the right distance from that edge's line, when what it must also require is that the perpendicular point into that corner's own wedge. Both passed every test written before them.
Sources
- Erik D. Demaine, Martin L. Demaine, Anna Lubiw. "Folding and Cutting Paper." Revised Papers from the Japan Conference on Discrete and Computational Geometry (JCDCG'98), Lecture Notes in Computer Science vol. 1763, Tokyo, December 1998, pp. 104–117.
- Erik D. Demaine, Martin L. Demaine, Anna Lubiw. "Folding and one straight cut suffice." Proceedings of the 10th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA'99), pp. 891–892.
- Marshall Bern, Erik D. Demaine, David Eppstein, Barry Hayes. "A Disk-Packing Algorithm for an Origami Magic Trick." Proceedings of the 3rd International Meeting of Origami Science, Math, and Education (OSME 2001). Earlier version: Proceedings of the International Conference on Fun with Algorithms (FUN'98).
- Erik D. Demaine and Joseph O'Rourke. "Folding and Unfolding in Computational Geometry." Combinatorial and Computational Geometry, MSRI Publications vol. 52 (2005), pp. 167–211. The "partial" and "complete" wording quoted above is on p. 188.
- Marshall Bern and Barry Hayes. "The complexity of flat origami." Proceedings of the 7th Annual ACM-SIAM Symposium on Discrete Algorithms (1996), pp. 175–183. Flat foldability of a crease pattern is NP-hard; local foldability is linear-time.
- Oswin Aichholzer, Franz Aurenhammer, David Alberts, Bernd Gärtner. "A novel type of skeleton for polygons." Journal of Universal Computer Science 1(12), 1995. The straight skeleton itself.
- Kan Chu Sen. Wakoku Chiyekurabe, 1721. Scans of the relevant pages are linked from Erik Demaine's fold-and-cut page.
- "National Standards and Emblems." Harper's New Monthly Magazine vol. 47, no. 278, July 1873.
- Harry Houdini. Paper Magic. E. P. Dutton & Company, 1922, pp. 176–177.
- Gerald Loe. Paper Capers. Magic, Inc., Chicago, 1955.
- Martin Gardner. "Paper cutting," chapter 5 of New Mathematical Diversions (revised edition), Mathematical Association of America, 1995. Originally in Scientific American, 1960.
- The CGAL Project. CGAL User and Reference Manual, 5.6.
Straight_skeleton_2, used here only as an independent check, never in the page.
Working code, the CGAL cross-check, the verifiers and the printable sheets are in research/one-straight-cut/ in this project's repository. The engine on this page is engine.js beside it.