Written and maintained by CASRAI Editorial Board
Last updated
A graphical user interface (GUI) in MATLAB is an app: a window with controls such as sliders, buttons and axes that lets someone run an analysis without typing commands. MathWorks’ current route for building one is App Designer, an interactive environment for designing an app layout and programming its behavior. This guide is for researchers and analysts who want to turn a script into something a colleague can use, and it walks through the official eight-step tutorial.
What a MATLAB GUI is used for in research
Research groups use MATLAB apps to put a fixed analysis behind controls: adjust a parameter with a slider and see the plot update, so collaborators can explore results without editing code. For background on the language itself see what MATLAB is used for and, for plotting basics used inside apps, labelling MATLAB plots.
Choose your route
MathWorks’ GUI development page (read 2026-11-07) lists several ways to build apps. It does not state that the older GUIDE tool is deprecated or removed; it links migration guides from GUIDE to App Designer and for figure-based apps.
| Route | What the documentation says |
|---|---|
| App Designer | Develop apps interactively; design the layout in Design View and program behavior in Code View. |
| Programmatic apps | Develop apps programmatically using MATLAB functions. |
| Live Editor tasks | Listed on the same page as another way to build interactive controls. |
| Custom UI components | Listed on the same page for building reusable components. |
| GUIDE or figure-based apps | Migration guides to App Designer are linked from the GUI development page. |
Install or access (official source only)
App Designer is part of MATLAB, so you need a working MATLAB installation from MathWorks. See MATLAB installation and MATLAB licensing for how access is arranged. To open it, run appdesigner in the Command Window. This opens the App Designer start page; appdesigner(filename) opens an existing app file, and you must give the full path if the file is not on the MATLAB path, for example appdesigner("C:Documentsmyapp.mlapp").
Step-by-step: build a simple app with a slider and a plot
These steps follow MathWorks’ tutorial “Create a Simple App or GUI Using App Designer” (read 2026-11-07).
- Run
appdesignerand create a new app. Design View opens. - Drag an Axes component from the Component Library onto the canvas.
- Add a Slider beneath the axes.
- Double-click the slider’s label and rename it to “Amplitude”.
- Click the Code View button above the canvas.
- In the Component Browser, right-click
app.AmplitudeSlider, choose Callbacks, and add aValueChangedFcncallback. - In the callback, plot using
app.UIAxesas the first argument of the plot call, and set the axis limits withapp.UIAxes.YLim = [-1000 1000]. - Click Run. MathWorks states that Run saves and runs the app.
Output and how to read it
The result is a window containing the axes and the slider. Moving the slider triggers the ValueChangedFcn callback, which redraws the plot in app.UIAxes; the fixed y-axis limits in step 7 keep the vertical scale constant so changes in amplitude are visible. A new app (named app1 by default) does not appear in the Files panel until you save it. The default file extension is .mlapp or .m depending on your settings.
Sharing and reproducibility
The GUI development page states that you can share apps with other MATLAB users or package them as standalone apps, and that creating a web app needs MATLAB Compiler. For research use, record the MATLAB release and the app file name in your methods notes so others can rerun the same tool. The App Designer documentation covers Package and Share Apps, Callbacks in App Designer and multiwindow apps.
Troubleshooting
- The app is missing from the Files panel. It does not appear until saved.
- appdesigner cannot open your file. Pass the full path when the file is not on the MATLAB path.
- Plot does not draw in the app. Per the tutorial, pass
app.UIAxesas the first argument of the plot call so it draws in the app’s axes.
Free alternatives
Where a MATLAB license is not available, general-purpose tools can build a GUI for the same task. These are described generically; evaluate fit for your own analysis.
| Tool | Language | Kind of interface |
|---|---|---|
| tkinter | Python (standard library) | Desktop windows |
| Dash | Python | Browser-based dashboards |
| Shiny | R | Browser-based apps |
Frequently asked questions
How do I create a GUI in MATLAB?
Run appdesigner, lay out components in Design View, add callbacks in Code View, then click Run, as in the steps above.
Is GUIDE still the way to build MATLAB GUIs?
MathWorks’ GUI development page presents App Designer as the interactive route and links migration guides from GUIDE; it does not announce removal of GUIDE.
Can I share a MATLAB app with people who do not have MATLAB?
The documentation says apps can be packaged as standalone apps, and web apps require MATLAB Compiler. See also the MATLAB vs R comparison if you are weighing tools.
Sources
- MathWorks, GUI Development: mathworks.com/help/matlab/gui-development.html (read 2026-11-07)
- MathWorks, appdesigner reference: mathworks.com/help/matlab/ref/appdesigner.html (read 2026-11-07)
- MathWorks, Create a Simple App or GUI Using App Designer: tutorial (read 2026-11-07)







