Classic app IDE
Learn about Retool's IDE for classic app development.
The classic app IDE is the interface you use to build classic apps. It is available only to builders.
The IDE is made up of these primary areas:
- Canvas: Arrange components to build your app's interface.
- Navbar: Configure, preview, share and manage your app.
- Left panel: Explore components, queries, transformers, and constants.
- Right panel: Create and edit components.
- Status bar: Select the resource environment, releases, runtime, and debug apps.

Canvas
The canvas is where you build the interface for your classic app. You drag and drop components from the left panel.
The canvas contains frames in which you can place components.
Canvas max width
To adjust the maximum width of the canvas, open the Inspector and update the Max width setting. This setting accepts pixel and percentage values, or you can set it to none so it uses 100% of the viewport. The default max width is 1200px. On desktops, regardless of the value, an 800px minimum is enforced.
Grid layout
Canvas frames use a 12-column grid layout. As you arrange or resize components, the grid becomes visible and component edges snap into position. Each frame automatically grows as you add or resize components by adding more rows to the grid.
All frames use the same fixed-height rows to ensure consistent vertical arrangement. The Main and Header frames dynamically adjust column width based on the size of the viewport, with a maximum width of 1560px. The Sidebar uses a single-column grid only so you cannot place components horizontally next to each other.
Grouping components
Retool also provides flexible components to group other components together, such as Container and Form. These components extend the 12-column grid layout so you can drag components directly into a container. This creates a group of nested components. All components can be nested in this way.
Navbar
The navbar is where you customize the IDE environment and configure high-level app settings. From here you can:
- Access the Retool navigation menu to browse apps and access other areas of Retool.
- Toggle the visibility of panels to provide more space when working in the canvas.
- Change zoom size to increase or decrease the canvas size.
- Set the name and description of your app.
- Write app documentation for users.
- Search and execute actions from the Command Palette.
- Access the app actions menu to configure the settings.
- Preview and share apps with users.
App actions
The Apps menu contains various actions and settings. Some available options include:
- Import or export an app as JSON.
- Duplicate an app or clone it as a module.
- Manage releases and history.
- Configure app settings such as themes and custom branding.
- Manage scripts and styles.
- Configure URL query parameters.
- Set custom keyboard shortcuts.
Left panel
The left panel contains several tabs for working with components, writing code, managing releases, and changing app settings.
Add UI tab
The Add UI tab allows you to search for and add components to your app. You can also add modules.
Pages tab
The Pages tab allows you to view and manages the pages in your app. You can drag and drop pages to reorder them.
Component tree tab
The Component tree tab contains a hierarchical tree from which you can select, rename, switch, or delete components. You can view and select components regardless of visibility including those within multiview containers, such as Tabbed Container component views. Selecting a component makes it visible and, where necessary, switches a container's view to make it active.
Code tab
The Code tab contains all of your classic app's resource queries, JavaScript, transformers, and variables. Selecting an item in the list opens a code editor where you can make changes. When a query is selected, there are three additional tabs displayed in the code editor.
Code search
The Code Search tab includes various options for searching through code in your classic apps. You can search within JavaScript, queries, event handlers, properties, custom CSS, URL parameters, etc. You can also configure case matching or use regular expressions to refine your searches.