where everything on this site comes from
Sources
The packings are Ellsworth's and the classical proofs are their authors'. Original here: the interactive tools, the contact and rigidity analysis, and the 2026 computer-checked results in §5 marked "this project". Preprints are unrefereed; this page says which is which.
1 · The catalogue this site is built on
Every packing drawn on this site — coordinates, angles, side length — comes from the exact constants in David Ellsworth's SVG files. Dates and "found by" attributions shown elsewhere on this site are quoted from his wording, not independently re-derived.
- Erich Friedman, 1998–2009 (maintained), Packing unit squares in squares: a survey and new results, Electronic Journal of Combinatorics, Dynamic Survey #7 — the founding survey: the table of best-known s(n), the unavoidable-set proofs, and the technical lemmas the whole field reuses. Maintained copy: erich-friedman.github.io, itself a GitHub Pages repository.
- David Ellsworth, 2023–2026 (maintained), Squares in Squares, kingbird.myphotos.cc — the current record table, up to very large n, with high-precision side lengths, exact forms where known, and dated attributions; some records are built by directly minimising the side length analytically rather than by search.
- — sub-pages: triangular table, older / alternative packings, rigid packings, Göbel strips, Göbel squares, and the n²−n−1 family.
2 · Origins
- F. Göbel, 1979, Geometrical packing and covering problems, in Packing and Covering in Combinatorics (A. Schrijver, ed.), Math. Centre Tracts 106, pp. 179–199 — the paper that started it: s(2)=s(3)=2, s(5)=2+1/√2, the Göbel-strip family, and the unavoidable-point method every later proof uses.
- Martin Gardner, Oct 1979, "Some packing problems that cannot be solved by sitting on the suitcase," Mathematical Games, Scientific American 241(4) — brought Göbel's packings to a wide audience and set off a wave of reader submissions (indexed in the list of Gardner's columns).
- Martin Gardner, 1992, Fractal Music, Hypercards and More, W. H. Freeman, ch. "Packing Squares," pp. 289–306 — book reprint of the column plus reader addenda; the version MathWorld and Friedman cite.
- Walter Trump, 1979, n = 11 packing, s ≈ 3.877084 — background. Independently rediscovered by several of Gardner's readers; Trump's 2023 note argues it cannot be improved within its combinatorial type.
The rest of the early field reached Gardner by reader mail and has no separate web presence: Pertti Hämäläinen (1980, improved n = 17–18), Robert Wainwright (1979, n = 19), Charles F. Cottingham (1979, diagonal-strip packings up to n ≈ 49), Evert Stenlund (1980, records for nearly all n ≤ 100), and Mats Gustafsson (1981, an alternative n = 18). Their attributions here follow Friedman's survey and Ellsworth's page.
3 · Proofs: exact values and lower bounds
- W. Stromquist, 1984, "Packing unit squares inside squares" memoranda I–III, Daniel H. Wagner Associates — unpublished but online: I, II, III; settled s(6) and s(10) and first argued Gardner's n = 11 conjecture.
- M. J. Kearney and P. Shiu, 2002, Efficient packing of unit squares in a square, Electron. J. Combin. 9, #R14 — first published proof of s(6)=3 (Ellsworth dates it June 2001), by a duality argument.
- S. El Moumni, 1999, "Optimal packings of unit squares in a square," Studia Sci. Math. Hungar. 35(3–4), 281–290 — independent proofs of s(7)=s(8)=3 and s(15)=4.
- W. Stromquist, 2003, Packing 10 or 11 unit squares in a square, Electron. J. Combin. 10, #R8 — s(10)=3+1/√2 and s(11) ≥ 2+4/√5, which by monotonicity is also the classical bound for s(12).
- H. Nagamochi, 2005, Packing unit squares in a rectangle, Electron. J. Combin. 12, #R37 — proves s(n²−2)=s(n²−1)=n for every n, using weighted points, segments and areas as "resources." chelokot (§5) gives a Lean-checked counterexample to the paper's Lemma 1 and a replacement proof of s(n²−2)=n for square containers.
- W. Bentz, 2010, Optimal packings of 13 and 46 unit squares in a square, Electron. J. Combin. 17, #R126 — s(13)=4 and s(46)=7; s(13)=4 is what makes n=12 the open boundary case. Kernel-checked in Lean in 2026 by chelokot, who found that two of the printed auxiliary point sets need correcting (the theorem stands); re-proved in 2026 with no case analysis by this project (§5, unrefereed).
- W. Bentz, 2016 (v2 2018), Optimal packings of 22 and 33 unit squares in a square, arXiv:1606.03746 — s(22)=5, s(33)=6, via continuously varying families of unavoidable sets; no journal version found, cite as arXiv.
- Erich Friedman's survey (§1) supplies Theorems 1–8: the unavoidable- and almost-unavoidable-set proofs of s(7), s(8), s(14), s(15), s(24) and s(35), plus bounds for s(13), s(19)–s(21).
- T. Green, 2000, private communication to Friedman, unpublished — lower-bound theorems for the n²+1 and n²+⌊n/2⌋+1 families (Theorems 9–10 of the survey) and specific bounds for n = 17–18, 22, 26–30.
Asymptotics: how much area large packings must waste (7 items)
- P. Erdős and R. L. Graham, 1975, On packing squares with equal squares, J. Combin. Theory Ser. A 19, 119–123 — wasted area W(x)=O(x^{7/11}) via tilted strips; opened the asymptotic question.
- K. F. Roth and R. C. Vaughan, 1978, Inefficiency in packing squares with unit squares, J. Combin. Theory Ser. A 24(2), 170–186 — the matching lower bound, W(x) ≫ √x at half-integer sides.
- F. Chung and R. Graham, 2009, Packing equal squares into a large square, J. Combin. Theory Ser. A 116(6), 1167–1175 — improved the exponent to about 0.6306.
- F. Chung and R. Graham, 2020, Efficient packings of unit squares in a large square, Discrete Comput. Geom. 64, 690–699 — claimed W(x)=O(x^{3/5}).
- M. Z. Arslanov and H. D. Bui, 2025, Note on "Efficient packings of unit squares in a large square", Discrete Comput. Geom. — finds an angle-computation error that invalidates the 2020 exponent.
- H. D. Bui, 2025, Square packing with asymptotically smallest waste only needs good squares, arXiv:2504.09489, and Square packing with O(x^{0.6}) wasted area, arXiv:2508.04603 — repairs the 3/5 exponent with a new construction.
- R. McClenagan, 2024/2026, MSc thesis (Univ. of Northern British Columbia, DOI 10.24124/2024/59553) and Optimally packing a large square by unit squares, arXiv:2602.01484 — an independent O(x^{3/5}) proof. The exponent is currently pinned between 1/2 and 3/5.
4 · Packers and their tools
Below are the people whose packings the record table stands on and how they found them, in the order the field usually cites them.
- John Bidwell, 1998, University of Hawaii undergraduate — found n = 17 (s ≈ 4.6755), still the record, based on a 1980 packing by Pertti Hämäläinen.
- David W. Cantrell, 2002–2005 and 2024–2026, sci.math and private communication — n = 19, 26, 37, 39, 41, 53, 54, 55, 68, 70, 71, 87, 88 and others; five records still stand.
- Joe DeVincentis, Apr 2014, private communication — n = 41 and an alternative n = 54/70/71 extension.
- Károly Hajba, 2009 and Sep–Nov 2024 — n = 51 (first s(51) < 7+1/√2), and 83, 102, 107, 108, 131, 172, 240 in a burst of 2024 improvements.
- Maurizio Morandi, 2010, private communication — n = 69.
- T. Gensane and P. Ryckelynck, 2005 (online 2004), Improved dense packings of congruent squares in a square, Discrete Comput. Geom. 34, 97–109 — an "inflation" search algorithm; new packings for n = 11 (rediscovery), 29, 37 and an alternative n = 18.
- Thomas Schadt, Dec 2025–2026 — a simulated-annealing program, "starting from randomness"; program not public; records for n = 28, 29, 39, 41, 50, 51, 55, 68, 71, 103, 105, 126 and more.
- David Ellsworth, 2023–2026 — maintains the record page, refines Schadt's finds, and finds his own records (including by direct analytic optimisation rather than search); currently credited with the largest share of the table.
Current records by finder
| Finder | Records |
| David Ellsworth | 46 |
| Thomas Schadt | 9 |
| Frits Göbel | 7 |
| M. Z. Arslanov, S. A. Mustafin & Z. K. Shangitbayev (joint) | 7 |
| Károly Hajba | 6 |
| David W. Cantrell | 5 |
| Evert Stenlund | 4 |
| Erich Friedman | 3 |
| David Ellsworth & David W. Cantrell (joint) | 2 |
| Michael J. Kearney & Peter Shiu (joint) | 1 |
| Walter Trump, John Bidwell, Pertti Hämäläinen, Robert Wainwright, Sigvart Brendberg, Maurizio Morandi, Joe DeVincentis | 1 each |
Counted from the "Found by" (or "Found first by") line on each row of Ellsworth's main table (not the sub-pages), one credit per current record; a joint find is one credit for the pair, not one each. This is a tally of attribution text, not a claim about who actually deserves credit for disputed or independently-rediscovered packings.
5 · Computer-checked lower bounds (2026, unrefereed)
All the items below are preprints, repositories or blog posts, none peer-reviewed, all with published code or a verifier so the claims can be checked independently. We link others' certificates as their authors published them and replay only our own; the recent s(11) and s(17) certificates use strict-core and subset-charge formats that our checkers do not read. Several of these repositories changed daily in September 2026, so the values below are dated and the repositories have the latest.
- S. Burns, 6 Aug 2026, Proposing a Better Lower Bound for n=17 Square Packing, sam-burns.com (blog) — s(17) ≥ 4.4811 from 268 weighted points, a certificate developed with ChatGPT and verified in exact rational arithmetic; code at github.com/sam-bee/squarl.
- G. Massaccesi, 21 Aug 2026, Another Better Lower Bound for n=17 Square Packing, gus-massa.blogspot.com — s(17) ≥ 4.5058 from 168 LP-optimised weighted points; methodology in a companion post.
- S. Fort, github.com/stanislavfort/17squares — s(17) > 4.456575 from unweighted points and an exact subdivision of pose space; the repository states it was produced by an AI model whose correctness the author does not personally vouch for.
- Mira, github.com/Mira-acc/17squares — s(17) > 4.468292 from 16 unweighted points and a dyadic subdivision of pose space, with three independent checkers and a write-up; later raised with weighted atoms to 4.613029 (8 Sept 2026) and 4.614154 (20 Sept).
- Guzhou0806 / N17 project, with AI assistance, Sept 2026, github.com/Guzhou0806/n17-square-packing — a series of strict s(17) certificates with exact replays: 4.613046 (R012, 19 Sept), R038, R042–R052 (to 4.62003, 25 Sept), and R067, s(17) > 233009/50000 = 4.66018 (28 Sept), which rebuilds the cores of Kleddamag's 4.66001 certificate. Its R038 checker is the second checker of Kleddamag's s(11) proof.
- Kleddamag, with OpenAI Codex, Sept 2026 — 11-squares-certified-bound: s(11) > 31/8 = 3.875 (22 Sept), developed from jlevy's T-026 certificate with a checker adapted from Guzhou0806's R038, about 0.002 below Trump's packing; and 17-squares-certified-bound: s(17) > 461300/99853 = 4.619791 (21 Sept), then 4.640020 (26 Sept) and 466001/100000 = 4.66001 (27 Sept), building on Mira's and Guzhou0806's certificates and jlevy's method, as its attribution file sets out.
- Joshua Levy (jlevy), the Squares Project, 2026, github.com/jlevy/squares — an AI-agent project with its own results and a survey of n ≤ 100 that keeps reported and replayed bounds apart. Its results include s(12) ≥ 99/25 = 3.96 (T-017, 4 Sept 2026), s(11) ≥ 3.81 (4 Sept), 3.8264 (T-026, 9 Sept) and 3.8270 (T-033, 22 Sept), and s(21) ≥ 122/25 = 4.88 (23 Sept). It also replays others' certificates, including Kleddamag's and ours.
- tokoharu, Sept 2026, github.com/tokoharu/square-packing-density-bounds — rectangle-density certificates (uniform densities on axis-aligned rectangles instead of points) with an interval verifier: s(11) ≥ 3.81, s(26) ≥ 5.508, s(29) ≥ 5.71 (21 Sept 2026).
- wand125, Sept 2026, github.com/wand125/square-packing-bounds — weighted-point and, with tokoharu's solver, rectangle-density certificates for many n from 18 to 91, including s(32) ≥ 119/20 = 5.95 (26 Sept 2026), the best bound for s(32) before s(32) = 6; s(21) ≥ 249/50 = 4.98, later 399/80 = 4.9875; s(45) ≥ 1389/200 = 6.945, later 6.955, the best bound for s(45) before s(45) = 7; and s(60) ≥ 397/50 = 7.94 (27 Sept 2026), the best bound for s(60) before s(60) = 8. Many of its floors for other n are newer than this site's table.
- chelokot, 2026, chelokot/square-packing-archive — a Lean 4 archive in which every result has a kernel-checked proof: s(n²−2) = n, s(6), s(10), s(13) = 4 (5 Sept 2026, following Bentz's argument with corrected auxiliary sets), s(22) and s(33), plus a counterexample to Nagamochi's Lemma 1 and a replacement proof.
- This project (evand), 2026, square-packing (s12/), GitHub repository, building directly on Burns's and Massaccesi's method:
- s(12) ≥ 15680/3951 ≈ 3.9686 (26 Aug 2026) from 1,736 LP-optimised weighted points, verified exactly over the full continuum of positions and angles; still the best floor for s(12) we know of; kernel-checked in Lean, as are s(12) ≥ 35/9 and ≥ 3920/997. Write-up.
- s(11) ≥ 3040/797 ≈ 3.8143 the same way (680 points; kernel-checked in Lean), found 26 Aug but published 22 Sept 2026, after jlevy's 3.8264; since superseded by jlevy's 3.827 and Kleddamag's 3.875. Timeline.
- A proof of Bentz's s(13) = 4 with no case analysis, from one weighted cover checked at margin zero by two independent exact checkers and kernel-checked in full in Lean 4, after chelokot's Lean proof of Bentz's argument. Write-up.
- s(32) = 6 from a 13,085-point weighted closed cover of total 31.7135, certified at margin zero by two independent exact checkers and kernel-checked in full in Lean 4, with no hypothesis. Write-up.
- s(21) = 5 from a mixed cover (7,536 weighted points plus mass spread evenly along the grid lines, total 20.8947), certified at margin zero by two independent exact checkers, with a Lean 4 top theorem from the checkers' covering statement, after an earlier s(21) ≥ 5000/1001 ≈ 4.9950 from weighted points. Write-up.
- s(45) = 7 from a mixed cover (19,989 weighted points plus mass on the grid lines, total 44.7735), certified by the same two exact checkers; no Lean yet. Write-up.
- s(60) = 8 from a mixed cover (23,744 weighted points plus mass on the grid lines, total 59.8587), certified by the same two exact checkers; no Lean yet; hence also s(61) = 8, since s(61) ≥ s(60) (s(k²−3) = k was proved only up to k = 7). Certificate; see also the s(45) write-up.
6 · Explainers and popular coverage
- Deckard, 27 Sep 2025, Packing Squares Inside The Smallest Square Possible, YouTube — the original explainer; discussed on Hacker News.
- Deckard, 2026, NEW SQUARE PACKING SOLUTIONS, YouTube — a sequel covering the Schadt/Ellsworth 2025–26 records.
- Randall Munroe, 20 Feb 2023, xkcd #2740, "Square Packing" — a joke about n = 11 and a hydraulic press; annotated at explainxkcd.
- Daniel Piker (@KangarooPhysics), 14 Feb 2023, repost of the n = 17 packing and a rigidity follow-up, X (Twitter) — the post that made the n = 17 packing a meme, with the observation that three squares can slide and one has room to wiggle.
- Eric Weisstein, Square Packing, MathWorld — a reference table of best-known s(n) with asterisks marking proven values.
- Wikipedia, Square packing — a general-audience summary with its own reference list.
- Hacker News threads: "Squares in Squares" (kingbird), Feb 2023; Deckard's video, Sep 2025; Massaccesi's n = 17 bound, Aug 2026.
7 · This site
Built in 2026 from Ellsworth's 30-digit constants (§1); the parsing, contact and rigidity analysis are ours, written independently of his. Gaps and free squares are computed in double precision; "exact contact" flags are checked at 50 digits, so roundoff is never mistaken for touching. Code: github.com/evand/square-packing.
Checking our rigidity analysis against Ellsworth's own "Rigid" marks…