Wing foil sizing from first principles

A wing-foil gear calculator that shows its working. Three regimes (float, wing-in-air, foil-in-water) joined into one coherent physical model, with the equations exposed and arguable rather than hidden behind rules of thumb.



I was looking into buying my first wing foil set, and every sizing tool I could find did one of two things. Brand calculators join the three regimes a rider moves through (floating, flying the wing in air, flying the foil in water) but hide the physics behind tuned rules of thumb. Physics write-ups expose the equations but cover only one slice. This post presents a calculator built on a single integrated model of all three, with the working shown. It also lives as a standalone tool at /tools/wing-foil-sizing/.

Board volume
97–107 L
Float regime (Archimedes)
Wing area
3.3–4.3 m²
Wing-in-air regime
Foil area
430–2020 cm²
Foil-in-water regime

Inputs

Higher AR → more glide, same takeoff speed
Chord lengths of foil below the surface
Skill
Water

Required wing force

Hull 91 N (47%) Foil 55 N (28%) Accel 48 N (25%)

The wing only has to supply 193 N, or 21% of body-plus-gear weight. The foil carries the rest.

Apparent wind (beam reach)

bowV_boat 9.1V_wind 7.7V_app 12.0Apparent wind 12.0 m/s, 40° off the bow

§1 Float (Archimedes)

QuantityValueNote
Total mass (rider + gear)95 kgRider + 8 kg gear
Weight to support932 Nm·g
Board volume range97–107 LBuoyancy margin scales with skill

§2 Foil in water

Foil area4302020 cm²
QuantityValueNote
Foil feasible band430–2020 cm²Solved frontier: small foil (race) → wing-floored (easy)
Chord7.3 cmrecommended foil, at AR 8
Release speed6.5 m/s (13 kn)Solver output, not an input
Slowest flight5.5 m/srecommended foil, at CL_max
Cruise speed9.1 m/sAt max-L/D CL = 0.51 (solved for AR 8)
Cruise L/D21.1At the max-L/D cruise point
Foil Reynolds0.56×10⁶Chord-based, at cruise

§3 Required wing force

QuantityValueNote
Hull drag (F_hull)91 NPlaning board at the hump
Foil drag (F_foil)55 NInduced + profile at the hump
Acceleration (F_accel)48 NA_TARGET reserve, m·0.5 m/s²
Drive needed (F_req)193 Nat the takeoff hump (21% of weight)

§4 Wing in air

Wing area3.34.3
QuantityValueNote
Wing (recommended)4.26 m²For the smallest feasible foil
Wing feasible band3.3–4.3 m²Solved frontier: small foil → big foil
Solverconvergedhump @ 6.5 m/s
Min wind7.9 knLeast true wind, solved (within inventory)

§5 Apparent wind

QuantityValueNote
True wind7.7 m/s15 kn
Boat (cruise) speed9.1 m/sFoil cruise
Apparent wind12.0 m/s40° off the bow

Honest limits

Empirical drag and lift coefficients are calibrated against limited real-world data, not wind-tunnel validated for every foil/wing combination

Surface-proximity effects on foil lift are extrapolated below h/c = 0.5, where the underlying model becomes unreliable

The solver assumes a steady-state cruise condition; gusts, chop, and manoeuvring loads are not modelled

Recommended sizes are clamped to a practical 3-8 m² wing inventory - the true optimum may fall outside that range

Results are a sizing guide, not a substitute for a fitting session with real gear

Three regimes, joined

A wing foiler passes through three distinct physical regimes on every run:

  1. Float. The board supports the rider by buoyancy. Pure Archimedes; the only question is how much volume margin a rider of a given skill needs.
  2. Wing in air. The rider sheets in and the wing accelerates the board across the water until the foil generates enough lift to fly.
  3. Foil in water. The board leaves the surface; a small hydrofoil carries rider plus gear, and the wing now only has to overcome drag.

The interesting physics lives at the joins. The wing is sized by what the foil-and-hull system demands at the moment of release, so the foil must be solved first.

Float

The buoyancy margin (litres above body weight) is the only place skill enters the model: beginners want 30–40 L of spare volume to balance at standstill, advanced riders ride sinkers at −10 L. It is a weak proxy for foiling ability, but enough here.

Foil in water

The foil is sized from the takeoff condition: lift equals weight at the target release speed.

where and is the surface-proximity lift factor below. , the board speed at release, is not assumed: it is whatever the chosen foil releases at, and the solver picks the foil (see “It is a solver”, below). Cruise drag follows from the standard induced-plus-profile decomposition:

Surface proximity matters more than people think

A hydrofoil near the free surface loses lift and gains drag. This is the image-vortex effect, piecewise-fitted here from Daskovsky (2014) and biplane theory:

At you have already lost 8% of lift. At you have lost 30% of lift and tripled drag. Below the model inverts and the calculator refuses to trust itself. Riders learn “ride higher, ride faster” without knowing why; the model gives the why. Pull the ride-height slider down and watch the foil area balloon.

Required wing force is decomposed, not fudged

The wing does not have to overcome the rider’s weight; the foil does that. It only has to overcome drag plus provide acceleration:

Evaluated at the binding point of the takeoff run (the hump), this comes to roughly a sixth of total weight for the reference rider. That fraction is the heart of the model, and where the calibration story lives.

The calibration story

Principled models have more parameters than empirical ones, and any of them can hide nonsense. The discipline is matching reality at the outputs, not admiring the equations.

The first cut of this model used and a wetted fraction of 0.6, values for a board ploughing through the water. They put at 44% of weight and recommended a 12 m² wing for an 87 kg rider in 15 knots. That is clearly wrong: real riders use about 5 m².

The fix was physical, not a fudge. At the moment of release the board is mostly out of the water and planing; pre-takeoff hump drag is a transient, not what limits sustained flight. Recalibrating to and a 0.25 wetted fraction brings down to roughly a sixth of weight and the reference wing band to about 3.3–4.3 m². The model now agrees with reality at the output that matters. Worth saying plainly: more parameters bought more ways to be wrong, and only the empirical check at the end made it approximately right. Tightening that calibration is the obvious next piece of work.

Stall is a hard limit, not a curve

Below the apparent wind where produces enough force, no angle of attack works. The apparent wind the wing needs has a real cause:

Earlier drafts turned that into a true-wind minimum with a hand-waved band, because they could not say what board speed the rider actually reaches. The solver can: it integrates the run, so the minimum true wind is a single number: the least wind at which some foil in the physical range gets airborne with a wing inside the 3–8 m² inventory. No band, no circularity. The calculator shows the amber banner when even that fails.

Practical inventory is a physical constraint

Real wings exist only from about 3 to 8 m². The solver treats that as a hard constraint, not a suggestion: a foil is “feasible” only if the wing it needs to clear the takeoff hump falls inside that range. In strong wind that pins the recommendation to the 3 m² floor; in marginal wind it can pin to the 8 m² ceiling, at which point the banner says so and a bigger foil is the only lever left. The inventory limits shape the answer rather than being papered over.

Aspect ratio, visualised

Drag the AR slider from 5 to 12. Cruise L/D climbs from about 16 to 25 while takeoff speed barely moves. That is why race foils are long and thin and surf foils short and stubby. Each AR cruises at its own efficiency-optimal lift coefficient, (the point where induced drag equals profile drag), so this is the true L/D frontier, not a fixed- slice. The old hard-coded happened to sit near the optimum only at AR 8.

It is a solver

Earlier drafts faked the coupling with a band and an assumed release speed. They no longer do. The takeoff is now solved over the run.

The loop the old model could not close: foil area sets the release speed, the release speed and foil set the resistance, the wing must beat that resistance over the whole run, and the speed you actually reach depends on the wing and foil you picked. The solver closes it directly. For a candidate foil, the release speed falls out ( is an output). Along the run from a dead stop to release it tracks the net forward force

where the drive term already carries the beam-reach geometry: only the component of wing force along the bow drives the board, and with the true wind abeam that component is , pure geometry, no fudge factor. Takeoff is feasible when the worst point of that curve (the “hump”, usually just before release) still has enough force for the target acceleration. A bisection finds the smallest wing that clears the hump for each foil; sweeping the foil over a physically defensible release-speed window (3–6.5 m/s, since a board does not plane to high speed before the foil flies) traces a feasible frontier. Every point on it gets airborne; a smaller foil cruises better but needs more wing.

There is no single privileged point on a frontier without an objective, and weighting wing against foil is exactly the kind of fudge this post refuses. So the headline recommendation is the honest extreme (the smallest foil that still flies within the wing inventory), and the frontier itself is the deliverable. The one closed-form optimisation that remains, cruise , stays exact: its L/D objective is unimodal, so the maximum is the root , no search needed.

§7 Honest limits

This model is wrong in known, bounded ways:

  • Pumping is not modelled. Unsteady hydrodynamics (Yim & Gallaire, 2026) is the right reference, but the integration is non-trivial and out of scope here.
  • Hull drag is lump-sum. No Savitsky trim or deadrise treatment.
  • Cruise is now solved, not fixed: each AR uses its closed-form max-L/D value (was a hard-coded 0.5, near-optimal only at AR 8).
  • Beam reach only. No upwind, VMG, or polar; that is a separate post.
  • Surface factor is piecewise-interpolated, accurate to about ±10%.
  • Skill is one knob (buoyancy margin), not wing or foil capability.
  • Release speed is an output, but the window is assumed. is solved per foil, not picked. The foil sweep is bounded to a 3–6.5 m/s release window, a stated physical assumption (a wing-foil board does not plane to high speed before the foil flies), not a derived limit. It bounds the smallest sane foil.
  • The drive model is geometric but lean. Only the bow-ward component of wing force drives the board ( from the beam-reach triangle, no fudge), but wing profile drag is neglected and the point of sail is fixed at a beam reach.
  • Hump resistance is quasi-steady. The run is sampled as a sequence of force balances, not integrated with the board’s actual mass-acceleration history; hump (pre-planing) drag is still excluded, consistent with the calibration story.
  • Other constants are fixed: the 8 kg gear mass, the lift/drag coefficients, the Oswald span efficiency (held at 0.85 regardless of aspect ratio or planform), and the linear board-area scaling are single values, not functions of the inputs. The foil “fudge” is gone; its range is now the solved feasible frontier.

Validation

The interesting comparison is against what the field uses. The solver outputs a feasible frontier per rider, so the question is no longer “does our single number match theirs” but “does what they sell sit inside the set of rigs we say will fly”.

I checked three references. FoilPla is an interactive calculator returning board, wing and foil. The field chart is the published weight-by-wind table from Windance. The Kano L column is David Kano’s lift-to-weight index, , a consistency check on the recommended pairing, not an oracle.

Wing area, m². The model figure is the solved feasible frontier: every value in the range gets airborne, the small end paired with a small (fast) foil, the large end with a big (slow) one. The headline recommendation is the small-foil edge.

RiderThis model (frontier)FoilPlaField chartKano L
87 kg / 15 kn3.3–4.35.55.0–6.536
80 kg / 12 kn4.6–5.66.55.0–6.546
70 kg / 18 kn3.0 (floor)5.04.0–5.036
100 kg / 20 kn3.0 (floor)6.53.5–5.020
60 kg / 14 kn3.0–3.46.04.5–5.534

Foil area, cm². The release speed is no longer an input: the solver picks the smallest foil that flies within the wing inventory, which sits at the 6.5 m/s edge of the physical release window for every row here.

RiderThis model (frontier)FoilPlaInside frontier?
87 kg / 15 kn430–20201600yes
80 kg / 12 kn399–18721800yes
70 kg / 18 kn353–16591450yes
100 kg / 20 kn489 (single point)1250no
60 kg / 14 kn308–5502100no

Minimum true wind to fly, and board volume, are now single solved numbers:

RiderMin wind (kn)Board (model / FoilPla)
87 kg / 15 kn7.997–107 L / 95 L
80 kg / 12 kn7.590–100 L / 90 L
70 kg / 18 kn6.980–90 L / 80 L
100 kg / 20 kn8.690–105 L / 90 L
60 kg / 14 kn6.290–100 L / 100 L

Where it agrees

The strongest result is in the foil table. On the three mid-range rows, FoilPla’s foil recommendation falls inside the solver’s feasible frontier: the model and a popular consumer calculator agree that those foils will fly, even though they sit at different points of the same trade-off. That is a much stronger check than matching a single number, because it tests the whole solved set. Board volume lands within a few litres of FoilPla on every row, and the Kano L values (20–46) sit in the sane band and move the right way with weight and wind.

Where it disagrees, and why

The two rows where FoilPla’s foil sits outside the frontier are the extremes: the 100 kg / 20 kn advanced case, where strong wind and weight squeeze the frontier to a single 489 cm² point, and the 60 kg / 14 kn beginner case, where FoilPla’s 2100 cm² is far above our 308–550 cm² range. These are the genuinely constrained cases, and the disagreement is honest: a 2100 cm² beginner foil flies at walking pace, which is exactly what a beginner wants and exactly what a “smallest foil that flies” objective will never recommend. The model answers “what is the minimum that works”; the consumer tool answers “what makes learning survivable”. Both are right; the questions differ.

The wing story is the same trade read from the other end. The recommended wing is the small-foil edge of the frontier, so it runs below the field charts (3.3–4.3 vs 5.0–6.5 for the 87 kg rider) because it is paired with a far smaller foil than the field’s all-round choice. Slide along the frontier to a bigger foil and the wing climbs toward the field numbers. Nothing here is a calibration error; it is one trade-off seen from two ends, and the solved frontier is what makes that legible instead of a single arguable number.

Wingpassion’s wing calculator was excluded: it has no wind input and only three weight buckets (65 / 85 / 105 kg), so it returns one wind-agnostic all-round number (about 5 m² for an 85 kg intermediate) and cannot be compared row-for-row against a wind-sensitive model. That it ignores wind entirely is itself the point of this post.

Further reading

  • Vellinga, R. (2009). Hydrofoils: Design, Build, Fly.
  • Basinger, N. L. (2022). MIT thesis on hydrofoil boat design.
  • McCauley, J. L. (2018). arXiv:1808.03313.
  • Poland et al. (2025). TU Delft V3 LEI kite wind-tunnel data. WES.
  • Daskovsky, M. (2014). The hydrofoil in surface proximity, theory and experiment.
  • Savitsky, D. (1964). Hydrodynamic design of planing hulls. SNAME.
  • MIT 2.972 course notes, How a Hydrofoil Works.
  • Yim & Gallaire (2026). arXiv:2603.14434. Pumping; out of scope here.