# Get your app export out of Bubble Most LumiDevKit tools start with one file: your Bubble application export. Here is where to find it. ## Where the button is In the Bubble editor: **Settings → General → App file management → Export application** The direct URL, if you prefer to jump straight there, is: ```text https://bubble.io/page?id=YOUR_APP_ID&tab=Settings&name=index&subtab=General ``` Then scroll down. The section is a long way below the fold, past "General appearance", "General services API Keys" and "Design Import". [[img:export-your-bubble-app/01-export-button.png|Settings → General → App file management. On a paid plan, Export application is enabled and sits directly under the heading.]] Bubble downloads a single JSON file describing your whole application. ## You need a paid Bubble plan This is the part nobody tells you. **The export is only enabled on Bubble's Starter plan and above.** On a free app, the same section looks different: the buttons sit inside a panel headed *Importing and Exporting*, they are greyed out, and there is a banner reading *"Unlock this feature with the Starter plan!"*. On a paid app, `Export application` and `Import application` sit directly under **App file management** with no banner and no wrapper. [[img:export-your-bubble-app/02-free-plan-locked.png|The same place on a free app. Note "Upgrade to deploy" in the toolbar, the upgrade banner, and both buttons greyed out.]] If that is what you see, the export is not available to you and no amount of looking will find it elsewhere. If you are on a free plan, you have two options: - **Use the Database Visualizer anyway.** It is the one tool that does not need an application export. [Generate a schema with AI](/docs/design-a-database-with-ai) instead, in about five minutes. - **Upgrade the app.** The other four tools genuinely cannot work without `pages` and `element_definitions`, and only the export contains them. ## `.json` or `.bubble`? You may end up with either extension. LumiDevKit accepts both, and treats them identically. It also accepts `.sql` for [Postgres schemas](/docs/import-a-postgres-schema). The upload limit is **50 MB**. A large app can get close to that; a heavily-used app with lots of pages and plugins can exceed it. If yours does, run it through the [JSON Sanitizer](/docs/json-sanitizer) first, which strips the settings blocks and usually takes a meaningful bite out of the file size. ## What is inside it The export is one large JSON object. The keys that matter to LumiDevKit are: | Key | What it holds | |---|---| | `user_types` | Your data types and their fields | | `option_sets` | Your option sets and their values | | `pages` | Every page and its element tree and workflows | | `element_definitions` | Reusable elements | | `api` | Backend API workflows | | `styles` | Style definitions | | `settings` | App settings, including API keys | [What's inside a Bubble export](/docs/whats-in-a-bubble-export) goes through these in more detail. [Which file does each tool need?](/docs/which-export-does-each-tool-need) maps them onto the tools. ## Sanitize it before you share it **The raw export contains your API keys.** `settings.secure` and parts of `settings.client_safe` hold live credentials: Stripe keys, API Connector authentication, plugin keys. If the file is going anywhere other than your own machine, including into an AI chat, run it through the [JSON Sanitizer](/docs/json-sanitizer) first. ## Next - [Which file does each tool need?](/docs/which-export-does-each-tool-need) - [Database Visualizer](/docs/database-visualizer) - [Upload errors, decoded](/docs/troubleshooting-uploads) if something goes wrong