About FoilTools
The Mission
I created foil.tools to provide a modern, accessible airfoil database for the hydrofoil community. My goal is to lower the technical barrier to entry for foil design, helping builders and designers understand the "behind the scenes" physics of their wings through modern tools.
The Theory
This site leverages cutting-edge aerodynamic methods to bridge the gap between theory and application:
- •NeuralFoil: Built on Peter Sharpe's NeuralFoil (part of AeroSandbox).
- •Parameterization: Utilizes Brenda Kulfan's Class Shape Transformation (CST) method.
I highly recommend following the links in our Theory section to learn more about these methods.
Design Method
The wing tools follow the same conceptual-design process laid out in Gudmundsson's and Nicolai & Carichner's aircraft-design texts, adapted for a hydrofoil rather than an airplane: find where a wing actually starts to stall, station by station, before trusting a single margin number; weigh a candidate section on more than drag alone; treat a load-bearing operating point as something a section must survive rather than something to optimize toward; and size a tail before any solver runs. See the wing designer's methodology notes for the reasoning behind each step, and check validation for how closely the models track closed-form and reference cases.
Development & Feedback
This site is in active development. I prioritize updates based on community traction, so please send feedback via the contact page or vote on the roadmap below so I can track requests effectively.
Contact & Feedback
Questions, feedback, or feature requests? Reach us via the contact page.
Go to ContactFeature Roadmap & Voting
Recent Updates
See all →Trim an aircraft: /trim and analyze_trim
The level above the wing. /trim places a main wing and a stabiliser from your saved designs or the templates, sets a centre of gravity in x and z, and solves the trim on a lifting line that meshes every surface into one wake — so the stabiliser flies in the wing's downwash rather than in free air, which is the difference between a stabiliser that adds what it adds alone and one that adds about half of it. The page draws the balance as a free-body diagram to scale, reports the trim angle, the stabiliser setting, the load on every surface, the thrust the x-balance demands and the static margin in millimetres and chords, and refuses a speed the craft cannot fly with a reason rather than trimming it silently. Masts, pods and fuselages enter as drag elements with a height. Three templates open it: a hydrofoil with the rider a metre up on a mast, an RC trainer, and the Cessna-class light single. The same solve is the analyze_trim connector tool. Paid-only, with no free allowance; the closed-form tail-volume estimate stays free beside it.
A mission point can be a stall check instead of a target
Every operating point on /input and the find_airfoil tool has been a weighted target — a speed and an importance you assigned it. Some points aren't preferences, though; they're loads a section either survives or doesn't. Mark a point Constraint and give it a load in Newtons, positive or negative, and the selector checks that a section actually reaches it with margin instead of scoring it, excluding and naming any section that can't. This is the real fix for a stabiliser's trim load, which previously had to be back-solved into an equivalent mass on the whole-craft field; enter the load directly instead, in either direction.
The airfoil selector can weigh more than drag
The selector has always ranked sections by one number: drag at each operating point, weighted and summed. It still does by default, and the default ranking is unchanged. A new Selection criteria panel on /input adds the other things a designer weighs when choosing a section — Clmax at the operating Reynolds number, how abruptly lift falls past the peak, pitching moment, the ratio of Clmax to minimum drag, and how far the best-L/D angle sits from the main operating angle — each scaled across the candidates and weighted as you choose, in the manner of the decision matrix in Gudmundsson's design text. Every result now shows where it stands on each criterion, so the ranking explains itself, and a textbook preset weights stall gentleness highest because a lower peak with a gentle stall is usually the better section. The find_airfoil connector tool takes the same weights as criteria_weights.
Size a stabiliser before you solve it
The wing designer's Design tab has a Stabiliser card: enter a tail's area, arm and aspect ratio and it returns the tail volume coefficient, the wing-plus-tail neutral point and the static margin for a CG you choose — closed form, no solver, saved with the design. It says what it leaves out: no fuselage, tube or mast, and a textbook downwash rather than a solved one, so read the margin as an upper bound until the trim solver lands. It will compare your tail volume against the site's own rigs once enough of them carry a stabiliser; aircraft figures are deliberately not shown as targets.
A Checks card closes out wing analysis
Wing analysis now ends with a requirements re-check instead of just a set of numbers to compare: a Checks card reads whether the wing stalls root-first, whether every station stays inside the airfoil library's measured Reynolds range, and whether the pitching moment at cruise means a large trim load, each with a pass, warn, or fail and a link back to the methodology page. Three checks — whether the Stabiliser card's static margin sits in a reasonable band, stabiliser Cl headroom, and cavitation or free-surface effects — are marked not available yet rather than skipped, so the requirement is visibly asked even before the site can answer it. The Design tab also gains inline notes by the taper and twist controls: a taper ratio near 0.35 gives close to the least induced drag, an untwisted taper can stall all at once, and washout is worth adding only after the Checks card says the wing stalls at the tip. The workflow's fifth step is renamed "Check & decide" to match.