Topology
The Jordan Curve Theorem: A Simple Closed Curve Divides the Plane Into Exactly Two Regions
The Jordan Curve Theorem says that a curve drawn in the plane that closes up and never crosses itself divides the plane into exactly two regions: a bounded inside and an unbounded outside. Every path from one region to the other has to meet the curve. For a circle this is obvious. For a curve that folds a million times it is not obvious at all, and a proof the mathematical community agreed on did not arrive until 1905.
Precisely: let J ⊂ ℝ² be a Jordan curve, meaning the image of a continuous injective map from the circle S¹ into the plane. Then ℝ² − J has exactly two connected components, exactly one of which is bounded, and J is the topological boundary of each of them. Nothing else is assumed: no smoothness, no finite length, no rectifiability. Continuity and injectivity are the entire hypothesis, and that is precisely what makes the theorem hard.
- Statementℝ² minus a Jordan curve has exactly two connected components
- HypothesisJ is a continuous injective image of the circle S¹ — nothing more
- The two regionsOne bounded, one unbounded; J is the full boundary of both
- First statedCamille Jordan, Cours d’analyse, 2nd ed., vol. 3 (1887), pp. 587–594
- First widely accepted proofOswald Veblen, Trans. AMS 6 (1905), 83–98
- Not a fact about circlesFalse on the torus — a meridian circle leaves it connected
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
What the theorem says, and what it assumes
A Jordan curve is the image of a continuous injective map γ: S¹ → ℝ². Because S¹ is compact and the plane is Hausdorff, such a map is automatically a homeomorphism onto its image, so a Jordan curve is exactly a homeomorphic copy of a circle sitting in the plane. Informally: you draw without lifting the pen, you come back to where you started, and you never touch any point twice.
The theorem bundles three separate claims, and each one needs proving:
- The complement is disconnected. There are at least two components — the curve really does separate. This is not free: a segment, or a spiral that never closes, separates nothing.
- There are at most two. You can never manufacture a third region. This is the half most people never think to doubt, and it is the half that defeats naive arguments.
- J is the boundary of each component. Not merely contained in the boundary — equal to it, for both regions at once.
That third clause carries real content. Take the closed unit disc D. Its complement ℝ² − D has one component, and the boundary of that component is the unit circle — a proper subset of D. So in general a separating set can be strictly larger than the boundary it induces. For a Jordan curve it never is: every point of the curve is a limit of points from the inside and a limit of points from the outside.
Exactly one component is bounded, and that follows quickly once the rest is known: J is compact, so it sits inside some disc of radius R, and everything outside that disc is path-connected and therefore lies in a single component. Everything else is the bounded one, conventionally the interior. The same statement holds on the sphere S², where the two regions are symmetric and neither is distinguished — 'inside' is an artifact of choosing a point at infinity.
Count the crossings: a proof for polygons, an illustration for everything else
The parity test in the animation is the standard intuition. Fire a ray from a point p, count how many times it cuts the curve, and call p inside when the count is odd. For a polygon this is not just intuition — it is a genuine argument, and it is worth seeing where it is complete and where it stops.
Let P be a closed polygon with n edges and let p be a point not on P. Choose a ray direction that is parallel to no edge and passes through no vertex; all but finitely many directions qualify, so such a ray exists. The number of crossings is then finite and every crossing is transversal. Now:
- Walking a short distance without touching P does not change the count, so parity is locally constant on ℝ² − P, hence constant on each component.
- Take p far away, beyond every vertex. The ray, pointed outward, meets nothing: parity is 0 at infinity.
- Step across a single edge and exactly one crossing appears or disappears, so parity flips. In the animation this is the whole of the fifth beat: the point moves one lattice unit, crosses one wall, and 7 becomes 6.
Those three facts prove that the complement has at least two components, because both parities occur. They do not by themselves prove there are at most two — two different components could perfectly well share a parity. Closing that gap for a polygon takes a further argument, usually an induction on n using an interior diagonal, which always exists for a simple polygon. The honest summary: for polygons the crossing test is a proof; the animation is showing you a real argument, not a picture of one.
For a general Jordan curve the test breaks down before it starts, because the crossing count need not exist. A Jordan curve can meet a straight line in an uncountable, nowhere-dense set, so there is nothing finite to count. It can be nowhere differentiable, like the Koch snowflake, so 'crossing transversally' has no meaning. William Osgood constructed a Jordan curve of positive two-dimensional Lebesgue measure in 1903 — a curve with area — and a ray can spend a set of positive measure of its length inside the curve itself. For these curves the picture is an illustration, not a proof.
What does survive is the idea, rewritten. Replace 'number of crossings mod 2' with the winding number: the degree of the map t ↦ (γ(t) − p) / |γ(t) − p| from S¹ to S¹. That degree is an integer defined for every continuous γ and every p off the curve, it varies continuously in p and is therefore locally constant, and it is 0 on the unbounded component. For a Jordan curve it takes the value ±1 on the bounded component and 0 on the other, which is the parity test upgraded into a theorem.
A worked example: the labyrinth in the animation, with its numbers
The maze in the video is a rectangular-spiral corridor of 97 unit cells on a 13 × 13 integer lattice. Its boundary was generated as the set of cell edges belonging to exactly one corridor cell, then stitched into a cycle, and three checks confirm it really is a Jordan curve rather than something that merely looks like one:
- Every boundary vertex has degree 2, so the edges form a single cycle with no pinch points — the curve is simple.
- The cycle uses every boundary edge, so there is no second component hiding somewhere.
- The shoelace area of the resulting 28-vertex polygon is exactly 97, matching the cell count, so the polygon's interior is exactly the corridor. A flood fill confirms that all 72 non-corridor cells reach infinity, which is the theorem's conclusion made explicit: two regions, no more.
Now the test. Put the point at (6.5, 6.5), the dead end at the centre of the spiral, and fire the ray in the +x direction. It crosses vertical edges at x = 7, 8, 9, 10, 11, 12 and 13 — 7 crossings, odd, so the point is inside. Move it one unit to (7.5, 6.5), a displacement you can barely see on a phone screen. Now the crossings are at x = 8, 9, 10, 11, 12, 13 — 6 crossings, even, so the point is outside. Nothing about the picture changed; the classification did.
The half-integer y-coordinate is not decoration. The two situations that break naive point-in-polygon code are a ray running along an edge and a ray passing through a vertex, and a half-integer height on an integer lattice rules out both by construction. In floating-point code the standard fix is the half-open rule — count edge (xi, yi)–(xj, yj) only when (yi > y) ≠ (yj > y) — which counts each vertex exactly once. That is W. Randolph Franklin's PNPOLY test, six lines long and used everywhere from GIS to game engines.
Costs, since they are usually what decides the implementation. The naive crossing count is O(n) per query on an n-vertex polygon, which is 28 edge tests here and fine for one-off queries. Repeated queries against a fixed polygon are better served by point location: build a trapezoidal decomposition in O(n log n) and answer each query in O(log n). The graphics stack exposes the mathematical choice directly — the SVG and PostScript fill-rule is either evenodd, this parity test, or nonzero, the winding number. They give identical answers on Jordan curves and disagree exactly on self-intersecting paths, which is to say exactly where the theorem's hypothesis fails.
1887, 1905, and a long argument about whether Jordan proved it
Bernard Bolzano had isolated plane-separation questions in the first half of the nineteenth century, but nothing resembling a proof followed. The theorem takes its name from Camille Jordan, who stated and argued it in the second edition of his Cours d'analyse de l'École Polytechnique, volume 3 (1887), pages 587–594.
What happened next became one of the best-known cautionary tales in mathematics. The received account — repeated by Courant and Robbins in What Is Mathematics?, by Morris Kline, and in a long tail of textbooks and lecture notes — is that Jordan's proof was defective, that he handled only the polygonal case and waved at the rest, and that the first correct proof is Oswald Veblen's, in 'Theory on plane curves in non-metrical analysis situs', Transactions of the American Mathematical Society 6 (1905), 83–98. Veblen's paper is genuinely important: it gave the theorem an axiomatic, non-metrical treatment, which is why it anchored the subject for decades.
The received account is now disputed, and by someone with unusual standing to dispute it. Thomas Hales formalised the Jordan curve theorem in the HOL Light proof assistant, then went back and read Jordan's original text line by line. In 'The Jordan curve theorem, formally and informally', American Mathematical Monthly 114 (2007), 882–894, he concluded that Jordan's proof is essentially complete and rigorous, and — pointedly — that the polygonal case Jordan is accused of assuming without proof is the genuinely easy part, not the hard one. Hales notes that several of the critics show no sign of having read Jordan at all.
Two independent machine-checked proofs were completed around 2005: Hales's in HOL Light, and a Mizar formalisation carried out over many years by a group including Artur Korniłowicz. The theorem is now one of the standard benchmarks for proof assistants, precisely because it is the canonical example of a statement that is trivial to believe and laborious to verify.
How it is proved today: homology, winding numbers and Brouwer
Three modern routes, in increasing order of how much machinery they assume.
1. Algebraic topology (the short one, if you already have the tools). Work on the sphere S² = ℝ² ∪ {∞}. Alexander duality gives an isomorphism between the reduced zeroth homology of the complement and the reduced first cohomology of the curve: reduced H0(S² − J) ≅ reduced H¹(J) ≅ reduced H¹(S¹) ≅ ℤ. A reduced H0 of rank 1 means exactly two path components, and the whole theorem falls out in a line. Since J is bounded, ∞ lies in one of the two, and deleting a point from an open connected subset of a surface leaves it connected, so ℝ² − J also has exactly two components. The usual elementary version replaces duality with a Mayer–Vietoris induction: first show that an arc never separates S², then bootstrap to the closed curve.
2. Winding numbers. The degree function described above is a locally constant integer on the complement, 0 near infinity. The work is in proving it takes a non-zero value somewhere — that is the 'the curve separates at all' half — and that it takes only two values — the 'no third region' half. This is the route complex analysis takes, and it is why Cauchy's theorem for a Jordan contour can talk about 'the interior of γ' at all.
3. From the Brouwer fixed point theorem. Ryuji Maehara's note 'The Jordan curve theorem via the Brouwer fixed point theorem', American Mathematical Monthly 91 (1984), 641–643, derives the full theorem in about three pages. The engine is a crossing lemma: if a Jordan curve lies inside a square and meets both horizontal sides, then it meets every arc that joins the two vertical sides within that same square. The confinement is the whole point — an arc allowed to leave the square can simply go around. That lemma follows from Brouwer, and the theorem follows from the lemma. It is the shortest complete proof most people will ever read, and it is the reason the Jordan curve theorem and Brouwer's theorem are usually taught within a few pages of each other.
Combinatorial proofs also exist — via Sperner's lemma, or via the no-draw theorem for the game of Hex, which David Gale showed in 1979 is equivalent to Brouwer's theorem — as does a non-standard-analysis proof due to Louis Narens (1971). The abundance of routes is itself informative: nobody has found a proof that is both elementary and short.
The Schoenflies upgrade, and why it collapses in three dimensions
The Jordan curve theorem says the inside is connected. Arthur Schoenflies proved in 1906 that it is much better behaved than that: for any Jordan curve J there is a homeomorphism of the whole plane onto itself carrying J to the unit circle. So the closed interior is homeomorphic to a closed disc, and the entire configuration — curve, inside, outside — is the standard picture in disguise. The Koch snowflake's interior, for all its infinite jagged boundary, is topologically a disc.
Now raise the dimension. The separation half survives in full generality: the Jordan–Brouwer separation theorem, due to L. E. J. Brouwer around 1911, says that any embedded (n − 1)-sphere in Sn divides it into exactly two components, and is the boundary of both. 'Exactly two' is dimension-independent.
The Schoenflies half does not survive. In 1924 J. W. Alexander constructed the horned sphere: a topologically embedded 2-sphere in ℝ³ whose unbounded complementary component is not simply connected. Its fundamental group is non-trivial, so a loop threaded through the horns cannot be contracted. Since a homeomorphism of ℝ³ would have to carry that component to the simply connected exterior of a round sphere, no such homeomorphism exists. Be precise about which side fails: the horned sphere together with its inside is still a closed ball, and it is the outside that is not. Turn the horns inward and the roles swap. Either way the sphere separates space into exactly two pieces, and one of those pieces is not a ball.
Adding a tameness hypothesis restores everything: the generalised Schoenflies theorem, proved by Barry Mazur (1959) with Marston Morse's collar lemma, and in the locally flat form by Morton Brown (1960), says that a locally flat or collared embedding of Sn−1 in Sn bounds a ball on each side. This is the sharpest possible answer to 'isn't the Jordan curve theorem obvious?'. The strongest thing your two-dimensional intuition tells you — that both sides come out as nice round blobs — is false in three dimensions without a hypothesis that two dimensions gives you for free.
Where the theorem is actually load-bearing
The Jordan curve theorem is rarely the headline result; it is usually the sentence nobody writes down, holding up a definition.
- Complex analysis. Cauchy's integral theorem, the residue theorem, the argument principle and Green's theorem all quantify over 'the interior of the contour γ'. That phrase is meaningless without the theorem. The argument principle counts zeros and poles inside γ; the Jordan curve theorem is what makes 'inside' a set.
- Conformal mapping. The Riemann mapping theorem produces a conformal bijection from the disc onto the interior of a Jordan curve, and Carathéodory's theorem (1913) extends it to a homeomorphism of the closed disc onto the closed region. Both statements presuppose that the interior exists and that the curve is its boundary — the two clauses of the Jordan curve theorem, used as hypotheses.
- Computational geometry and GIS. Polygon filling, boolean operations on regions, hit-testing in a UI, and 'is this GPS fix inside this administrative boundary' are all the parity or winding test from the animation, running billions of times a day.
- Graph theory. The faces of a plane graph are by definition the connected components of the complement. Euler's formula V − E + F = 2, the proofs that K5 and K3,3 are non-planar, and the entire setup of the four-colour theorem all rely on a drawn cycle having a well-defined inside and outside.
And the negative case is just as instructive. On a torus a simple closed curve need not separate anything, which is why a torus is not a plane in any useful sense — and why map colouring on a torus needs seven colours rather than four. The Jordan curve theorem is not a fact about circles. It is a fact about the plane.
| Closed curve | A Jordan curve in the plane? | Components of the complement | Which hypothesis is doing the work |
|---|---|---|---|
| The unit circle, x² + y² = 1 | Yes | 2 — the open disc and its exterior | The model case. Schoenflies: every Jordan curve looks like this after a homeomorphism of the plane |
| Figure eight (Bernoulli lemniscate) | No — the map from S¹ is not injective | 3 — two lobes plus the unbounded region | Injectivity. A single self-touch buys a third region, so 'exactly two' fails immediately |
| The Koch snowflake | Yes | 2 | Nowhere differentiable, infinite perimeter, area 8/5 of the seed triangle — and still exactly two regions |
| The straight segment from (0,0) to (1,0) | No — an arc, not a closed curve | 1 — the complement is connected | Closedness. You can always walk around the end of an arc |
| A meridian circle drawn on a torus | Simple and closed, but the ambient surface is not the plane | 1 — cutting a torus along a meridian yields a cylinder | The ambient space. Separation is a fact about ℝ² and S², not about circles |
Frequently asked questions
What exactly is a simple closed curve?
It is the image of a continuous injective map from the circle S¹ into the plane — drawn without lifting the pen, ending where it started, and never touching the same point twice. Injectivity is what 'simple' means, and it rules out figure eights. Because S¹ is compact and the plane is Hausdorff, such a map is automatically a homeomorphism onto its image, so a simple closed curve is exactly a homeomorphic copy of a circle. No smoothness or finite length is required: the Koch snowflake qualifies, and so does a curve of positive area.
Why is the Jordan curve theorem considered hard if the picture is obvious?
Because the hypothesis allows curves that no picture can show. The intuitive proof — count where a ray cuts the curve, odd means inside — needs the crossings to be finite and transversal. A Jordan curve can meet a straight line in an uncountable set, can be nowhere differentiable, and can even have positive area, so there may be nothing finite to count. The parity argument is a complete proof for polygons and an illustration for everything else. The other reason is the clause people forget: you must also show the complement never has a third component, which no amount of picture-drawing establishes.
Did Camille Jordan prove the Jordan curve theorem?
Probably yes, despite a century of claims to the contrary. Jordan stated and argued the theorem in his Cours d'analyse, volume 3 (1887). A standard account, repeated by Courant and Robbins among many others, holds that his proof was defective and that Oswald Veblen gave the first correct one in 1905. But Thomas Hales, who formalised the theorem in HOL Light, re-read Jordan's original and argued in the American Mathematical Monthly in 2007 that Jordan's proof is essentially complete — and that the polygonal case he is accused of assuming is in fact the easy part. Veblen's 1905 paper remains historically decisive for giving the theorem an axiomatic treatment.
How do you test whether a point is inside a polygon?
Cast a ray from the point in any fixed direction and count how many polygon edges it crosses; odd means inside, even means outside. Two degenerate cases break naive code: a ray running along an edge, and a ray passing through a vertex. The standard fix is the half-open rule — count an edge only when (y_i > y) differs from (y_j > y) — which counts each vertex exactly once. That is W. Randolph Franklin's PNPOLY test. It costs O(n) per query on an n-vertex polygon; if you query the same polygon repeatedly, build a trapezoidal decomposition in O(n log n) and answer in O(log n). SVG's fill-rule exposes the choice: 'evenodd' is this parity test, 'nonzero' is the winding number, and they differ exactly on self-intersecting paths.
Does the Jordan curve theorem hold in three dimensions?
The separation half does. The Jordan–Brouwer separation theorem, due to Brouwer around 1911, says an embedded (n−1)-sphere in n-dimensional space divides it into exactly two components and is the boundary of both. What fails is the stronger two-dimensional conclusion. In the plane, Schoenflies proved in 1906 that the inside of any Jordan curve is a topological disc; in three dimensions, Alexander's horned sphere (1924) is an embedded 2-sphere whose outside is not even simply connected, so that side is not a ball — its inside still is, and turning the horns inward swaps which side fails. Adding a local flatness hypothesis restores the result — that is the generalised Schoenflies theorem of Mazur (1959) and Brown (1960).
Can a Jordan curve have infinite length, or even positive area?
Both. The Koch snowflake is a Jordan curve with infinite perimeter, no tangent at any point, and finite enclosed area — 8/5 of the area of the triangle it is built from. William Osgood went further in 1903 and constructed a Jordan curve of positive two-dimensional Lebesgue measure: a curve that genuinely has area. The theorem applies unchanged to both. In fact Schoenflies's theorem says more — however wild the curve, the closed region it bounds is homeomorphic to a closed disc, and there is a homeomorphism of the entire plane carrying the curve to a round circle.