Xflr5
Xflr5 is a free, open-source aerodynamic modeling and analysis software tool based upon the aerodynamics work done by Mark Drela, an MIT professor specializing in aerodynamic analysis and aircraft flight dynamics. This tool directly integrates with additional aerodynamic analysis software tools such as Xfoil and AVL and can export / import compatible files between them.
This tool is especially useful for modeling and analyzing the lifting surfaces of an aircraft (wing and tail). Xflr5 also has an entire airfoil analysis and optimization suite, which provides powerful analysis tools for users looking to improve their fundamental flight characteristics. This tool also has more intuitive stability and control visualizations. Besides these specific distinguishing factors, much of the functionality is similar to what is found in other software tools.
Using Xflr5, you can expect to relatively quickly produce a model of the lifting surfaces of your aircraft and analyze them in a variety of flight configurations.
The following quick-links will walk you through basic navigation of the software, step-by-step aircraft modeling and analysis instructions, an overview of all of the visualization tools available, a list of common errors, and a list of useful resources for users wishing to go more in depth.
Quick Navigation:
- Navigation
- Creating and Analyzing Airfoils
- Creating a Plane
- Running an Analysis
- Reading Graphs
- Common Errors
- References List and Helpful Links
Navigation¶
To download XFLR5, go to the XFLR5 website.
Once downloaded, open the XFLR5.exe file to start the program.
Once XFLR5 is open, you will see the main menu screen.
The menu bar is located at the top of the screen.
Under the File tab you can open and save projects. In the Module tab you can access the different modules of XFLR5.
These modules contain the different tools and features of XFLR5.
Direct Foil Design¶
Direct Foil Design is where you will create, import, edit, and save each airfoil for your aircraft.

Xfoil Inverse Design¶
Xfoil Inverse Design is where you reverse engineer an optimal foil shape by editing airfoil performance curves.
Xfoil Direct Analysis¶
Xfoil Direct Analysis is where you can analyze airfoils in each expected flight condition (determined by a range of Reynolds numbers).
Wing and Plane Design¶
Wing and Plane Design is where you can use your previously analyzed airfoils to model and analyze the performance/stability of a complete aircraft.
Creating and Analyzing Airfoils¶
Direct Foil Design¶
The first step in modeling an aircraft is defining the airfoils used in the aircraft.
Module > Direct Foil Design
Prerequisite: You must already know the NACA code or have a .dat file on hand for every airfoil on each section of the wing, elevator, and rudder.
Direct Foil Design is where you will create, import, edit, and save each airfoil for your aircraft.
Adding NACA Foils¶
NACA foils are standardized airfoils commonly defined by a 4-digit code (ex. 2412).
To import a NACA foil: > Foil > Naca Foils
Enter the NACA code and the number of desired panels for the airfoil you want to add.
Click OK.
Enter the name of your airfoil into the popup box and click OK.
Adding .dat Files¶
You can also add a custom airfoil by importing a .dat file of the airfoil shape.
To add a .dat airfoil: > File > Open > Select .dat file from your computer > Open
The newly imported airfoil will appear here.
Adding Flaps¶
Once your airfoil is added to your project, you can edit the airfoil and add control surfaces.
To add a flap to the airfoil: right click on your airfoil, then click "Set Flap"
Click the box for a leading edge (LE) and/or tailing edge (TE) flap.
Input the flap characteristics (angle, position along chord, position of hinge)
Click OK
Enter the name of your new airfoil and click OK. Click "Overwrite" if you don't want to add a new airfoil.
You can edit any airfoil by right clicking it and using the drop-down menu.
Repeat these steps for every airfoil in your aircraft with control surfaces.
Inverse Foil Design¶
Inverse Foil Design allows you to create a custom airfoil based off desired performance characteristics.
Module > Xfoil Inverse Design
See the graphic below for an overview of the tools in Xfoil Inverse Design
To start, import the foil you want to edit.
Click on the "extract foil" button.
Click on the foil you want to modify then click "OK".
Next, choose what flight condition context you want to modify your airfoil in and activate the spline function.
Move the spline to create the curve you want your airfoil to reflect.
After your custom spline is complete, click "execute" to create your spline.
Once the airfoil is created, it can be exported by selecting the "Foil" tab at the top and then the "Store Foil" option.
Name your airfoil, then click the "OK" button to save your new airfoil.

This airfoil can now be added to your project and analyzed in Xfoil Direct Analysis.
XFoil Direct Analysis¶
Each airfoil must be individually analyzed at every expected flight condition before it can be used in a full aircraft analysis.
Module > XFoil Direct Analysis
This tool basically analyzes how the airfoils will behave at a variety of airspeeds and angles of attack.
Prerequisites: Know the expected Reynolds numbers of each flight condition (airspeed etc.) for the aircraft.
After opening XFoil Direct Analysis, you will see the following viewer.
Click "Analysis", then click "Batch Analysis".
Note: Batch analysis performs many analyses simultaneously across a variety of flight conditions to save time. If you want to analyze the airfoil at a single Reynolds number, choose "Define an Analysis" instead.
Select the airfoils you want to analyze in the top list, specify the range of Reynolds numbers over which you want to analyze the airfoil, select any other desired polar specifications (alpha sweep etc), and click "Analyze". Click "Close" when finished.
The graphs on the viewer will update after the analysis is completed. In the top menu, the chart icon on the right will show you polar views (drag, lift polars etc.)
The OpPoint viewer icon is on the left. This viewer will show you performance distributions across the airfoil at specific flight situations (e.g. pressure distributions at a specific angle of attack, flow separation, etc.)
To change any of the graphs, right click on the graph, then select "Current Graph" and "Define Graph Settings". This will allow you to customize the axes and any other graph information.
To change the lines on the graphs (color, weight, etc) right click on the airfoil or operating point on the list on the left then select your desired line characteristics.
Creating a Plane¶
Information Checklist¶
Making the Plane¶
Open the "Wing and Plane Design" tab in the top left menu. To begin modeling your aircraft, click on "Plane" on the top left menu. Then select "Define a New Plane".
Once the "Plane Editor" opens, you will be able to define the wing, elevator, rudder, and weight distribution of the aircraft.
To create a wing, first click the "Symmetric" button (depending on your wing design). Next, begin inputting your wing data into the table below. Input the airfoil and airfoil position for each section of the wing into the table. Make sure your measurements are in meters. (Reminder: your airfoils must already be created in Foil Design and analyzed in Xfoil Direct Analysis).
Note: You should have a measurement for every major change in the wing. If there is a change in airfoil (such as the start of end of a flap), you will have two overlapping measurements at that transition point.
Once the wing is defined, make sure that your wing matches your design, and that each airfoil transition overlaps correctly. (Note: the control surfaces do not need to be angled unless you are specifically analyzing at an actuated position. A zero angle will still suffice for a stability analysis as long as the control surface hinge exists).
Next, check the paneling on the wing. On the lower right menu, toggle the "Surfaces" button off and the "Panels" button on. Set the Y-panels over long sections to fill the space and set the distribution to "Cosine" so the edges of the sections have more panels than the middle. Set overlapped sections to 1.
Click "Save" when you are done.
Once your wing is defined and saved, define the position of the leading edge and the initial geometric tilt angle.

Follow the same steps for the elevator and rudder.
Mass and Inertia Inputs¶
After all your lifting surfaces are correctly defined, click on the "Plane Inertia" button to define the weight distribution of your aircraft.
Input the mass and position of each important mass of the aircraft.
Validate that your weight distribution is accurate by comparing your CG and inertia tensor values with experimental values.
You can also validate your mass distribution by toggling on the "masses" button on the Plane Editor page and visually inspecting the location of the CG.
Running an Analysis¶
Basic Analysis¶
A basic analysis will help you obtain information about lift, drag, moments from the airfoils, and other basic aerodynamic characteristics of your aircraft.
Analysis > Define an Analysis
Once the Analysis Definition box opens, in the Polar Type tab choose your desired polar type. (Fixed lift is recommended because it automatically trims the aircraft)
In the Analysis tab, choose your desired analysis method (VLM2 is recommended) and whether or not to include viscous flows.
In the Inertia tab, check the "Use plane inertia" box and change nothing (assuming you already accurately defined your plane inertia). Otherwise, uncheck the box and define your Mass and CG location manually.
In the Ref. dimensions tab, select the dimensions you want to use for your aerodynamic coefficient calculations.
In the Aero data tab, ensure the density and viscosity measurements are accurate to your expected flight environment.
Leave "Ground Effect" unchecked, unless you are simulating takeoff and landing.
In the Extra drag tab, add any extra drag areas and drag coefficients in the corresponding table. Xflr5 only accurately simulates airflow over the lifting surfaces of the aircraft, so the drag from the fuselage, landing gear, or any other parts of the aircraft need to be accounted for separately.
A simple way to estimate extra drag is to calculate the cross-sectional area of the other parts of the aircraft and use a drag coefficient from a similar shape (sphere, cone, etc).
Click "Save" when you are done.
A popup tab will appear. Type your desired identifier or name of your analysis.
Click "OK" when you are done.
Your analysis is now defined, and ou can now run it.
Choose your analysis from the left, define the parameters on the right, and click "analyze".
Wait until the analysis is completed, the click the close button.
On the home screen, you will see the analysis has updated. On the left you can select specific points of the analysis. In the middle you will see charts visualizing the analysis data. You can move between visualization by using the plot menu at the top.
Stability Analysis¶
A stability analysis will allow you to evaluate the stability and control derivatives as well the time response of the aircraft to disturbances.
Stability Analysis Prerequisites:
- Airfoil polars analyzed (Xfoil Direct Analysis)
- Basic aerodynamic analysis performed
- Cm – alpha curve has a positive x-intercept
- Cm – CL curve must have a positive CL value at 0 Cm
- Aircraft inertia tensors and center of gravity are correct
- Control surface dimensions, position, and paneling must be accurate and appropriate
You should actuate only one group of control surfaces in a stability analysis. For this reason, you will most likely need to run several stability analyses.
Example: have one stability analysis with ailerons activated to get the aileron control derivatives, and another analysis to get the elevator control derivatives.
To setup your stability analysis, select the aircraft you want to analyze.
Analysis > Define a Stability Analysis
Once the Stability Polar Definition box opens, define any relevant analysis constraints in the Analysis tab.
In the Ref. dimensions tab, select the dimensions you want to use for the stability and control coefficient calculations.
In the Mass and inertia tab, check the "Use plane inertia" box at the top and change nothing (assuming you already accurately defined your plane inertia); Otherwise, uncheck the box and define your Mass and CG location manually.
In the "Control parameters" tab, select the control surfaces to analyze.
To calculate control derivatives for each set of control surfaces (ailerons, rudder, elevator) it is recommended to perform a stability analysis for each set individually.
It is not recommended to activate multiple control surfaces at once. Ailerons should be actuated in opposite directions and elevators are in the same direction.
In the Aero data tab, ensure the density and viscosity measurements are accurate to your expected flight environment.
In the Extra drag tab, add any extra drag areas and drag coefficients in the corresponding table. Xflr5 only accurately simulates airflow over the lifting surfaces of the aircraft, so the drag from the fuselage, landing gear, or any other parts of the aircraft need to be accounted for separately.
A simple way to estimate extra drag is to calculate the cross-sectional area of the other parts of the aircraft and use a drag coefficient from a similar shape (sphere, cone, etc).
Click "Save" when you are done.
Select the analysis you want to run and double check your analysis is defined correctly.
Set the analysis settings, and click "Analyze".
While the analysis is being performed you will see a "3D Panel Analysis" box displaying the test code. If there are no errors, the box will automatically close. In the case of errors, the box will remain open and you will need to close it manually.
Feel free to look through the test code after the analysis is performed.
After the analysis is complete, save your work immediately.
To explore the analysis results, click on the analysis from the list on the left.
To see specific outputs or results, click on an operating point from the analysis.
Aerodynamic, stability, and control derivatives are in the box at the bottom left.
A more in-depth record of the analysis outputs can be found in the log file.
Analysis > View Log File
The log file contains the complete outputs at each point of the analysis such as each stability and control derivative, state matrices, and stability response modes.
The analysis output tab on the bottom left shows all of the outputs for the selected point of the analysis.
*** IMPORTANT NOTE *** In the ROSplane parameters, C_D_p is "parasitic drag", NOT drag from roll rate. Make sure to take this into account when building your model and inputting values into your .yaml file.
Reading Graphs¶
Overview¶
On the home screen, you will see the analysis has updated. On the left you can select specific points of the analysis. In the middle you will see charts visualizing the analysis data. You can move between visualization by using the plot menu at the top.
OpPoint Viewer¶
The OpPoint viewer shows several charts that display spanwise aerodynamic data at specific points of the analysis (e.g. at specific angles of attack)
Polar Viewer¶
The polar viewer shows aerodynamic trends across the whole analysis and specifically how they relate to each other (e.g. how lift coefficient relates to angle of attack)
Root Locus Viewer¶
The root locus viewer shows the roots of the aircraft response to disturbances.
Time Response Viewer¶
The time response viewer shows the aircraft response to disturbances as a function of time.
Pressure Viewer¶
The pressure viewer shows the pressure distributions across the lifting surfaces of the wing at specific operating points of the analysis.
Changing Graphs¶
To change any of the graphs, right click on the graph, then select "Current Graph" and "Define Graph Settings". This will allow you to customize the axes and any other graph information.
Customizing Visuals¶
To change the lines on the graphs (color, weight, etc) right click on the airfoil or operating point on the list on the left then select your desired line characteristics.
Common Errors¶
Outside Flight Envelope¶
Cause: Your batch analysis includes angle of attack (α), Reynolds number (Re), or Mach number values beyond the range where data has been defined or computed for your airfoil(s).
To Fix:
-
Go to the "Batch Analysis" settings.
-
Restrict the angle of attack and Reynolds number range to within what you've previously analyzed in the airfoil polar analysis (e.g., -5° to +15°, 50,000 ≤ Re ≤ 1,000,000).
-
Make sure your aircraft's velocity, altitude, and configuration don't push the operating point outside of what was analyzed.
-
Expand your airfoil batch analysis or restrict the plane analysis until they are both consistent.
Can't be Interpolated¶
Cause: XFLR5 failed to interpolate a value because a requested parameter (e.g., lift coefficient or moment) is between or outside available data points.
To Fix:
-
Check that your airfoil polar data is dense enough. You might need more data points at smaller intervals in AoA or Re.
-
Re-run your airfoil analysis with finer steps, e.g., AoA from -6° to 16° in 0.5° increments.
-
Ensure matching Reynolds numbers between your airplane analysis and airfoil polar data.

Negative Lift¶
Cause: at the angle of attack analyzed, the airfoil does not have positive lift (it falls)
To Fix:
-
Check the wing incidence angle and orientation in your model are correct.
-
Check that your range of tested values in your analysis are appropriate.
If the above test reveal no problems, then this probably is not a problem and simply identifies an angle of attack that your aircraft cannot sustain.























