Skip to main content

In Base44, your app’s data is the information that brings everything to life. It includes all the information that your app holds, such as people who sign in, the content you show, orders you process, and the activities that happen in your app.
The Data page with a card for each table in an app

Example data for a travel app, with tables such as Trip, TripItem, VisitedPlace, and WishlistPlace.


Understanding your data

All of your app’s data is organized in tables, just like a spreadsheet. Each table groups one type of info (such as people or products) and sorts it into columns called fields, such as names, dates, or prices. For example, if you create an app to run your shop’s business, you can use the data tables in Base44 to keep everything organized. You might have a Users data table to store your customers’ names and email addresses, a Products table listing what you sell, and an Orders table to track every purchase. Each new customer, product, or order is automatically added as a new row in the right table, so you can quickly find, update, or manage your shop’s information.

Data field types

When you, or the AI, add a field (column) to your table, you choose what type of information it stores. Some common field types include:
  • Text: For words, phrases, or descriptions (such as customer names or product details)
  • Number: For prices, quantities, or measurements
  • Yes/No (Boolean): For fields that are true or false (such as “Is active?”)
  • Date/Time: To save dates such as sign-up day, order date, or event time
  • File: For images, documents, or other files
  • Reference: To link this table to another table (for example, linking each order to the right customer)
  • Object: For advanced cases, this lets you add structured information such as a JSON object

Accessing your app’s data

It is easy to see all the information your app collects. You can view your data at any time from the dashboard, where each table gives you a clear, organized look at your people, products, orders, and more. This helps you track what is happening in your app and keep everything up to date.

Opening a table

Every table in your app appears as a card on the Data page. Open one to see its records. To open a table:
  1. Click Dashboard in your app editor.
  2. Click Data.
  3. Select the table you want.
A table on the Data page, with a row for each record and a column for each field

A table's records on the Data page

Exploring your data

Once you are in, the table itself and the Data page each give you a few ways to get around. Inside a table:
  • Columns: Sort by any column, and hide or reorder columns. Every table also has Created, Last updated, and Created by columns, hidden until you turn them on from Columns.
  • Records: Keep scrolling to load more instead of moving through pages.
  • Rows: Select several to move them to trash together, and use the copy button on a link cell to copy its value.
  • Images: Images uploaded to your app show as thumbnails in the table, including files your app stores privately. Links to images hosted on other sites stay as links, and other uploaded files show as a file chip.
Back on the Data page:
  • Sort by: Order the cards A-Z or Z-A.
  • More actions: Click the icon on a card for quick options: Test Permissions in preview, View Data, Export, Schema, Backup & Restore (in Production only), Recently deleted, Clear table records, and Delete this table.
The Data page with the More actions menu open on a table card

The More actions menu on a table card

Searching for specific data

Use the search bar above the table to quickly find relevant rows. The search looks through all text fields in your data, so you can jump straight to a specific row instead of scrolling. To search for data:
  1. Open the table you want from Data in your app’s dashboard.
  2. Enter a word, number, or phrase in the search bar above the table.
Searching a table with the search bar on the Data page

Searching a table

Filtering your data

Use filters to turn a long table into a focused view, for example to see only shipped features, items owned by your team, or work planned for a specific quarter. The filters you get come from the fields in that table, so each table has its own list. Fields such as dates, numbers, and choices get a filter, and plain text fields are covered by the search box next to it instead. A table made only of text fields has nothing to filter on, so it shows no Filters button. To filter your data:
  1. Open the table you want from Data in your app’s dashboard.
  2. Click Filters above the table and select your filters.
  3. To change which columns you see, click Columns and show, hide, or reorder them.
Data table with a date filter open

Filtering a table


Adding and updating data

Base44 automatically collects and updates your app’s data as people interact with your app. The AI sets up your tables so the right information is saved and kept up to date for you. However, if you want to manually add information (for example, add a product, update a record, or input test data), you can do it easily from your app’s dashboard inside your app editor.

Manually adding data

Add a single record yourself when you are testing something or filling a gap, rather than importing a file. To add a record:
  1. Open the table you want from Data in your app’s dashboard.
  2. Click Add Item.
  3. Enter the data and click Submit.
Form for adding a record to a data table

Adding a record

Editing data

To edit a data record, click the row of the table that you want to edit, complete the details, and click Save changes. Under Record info, the record also shows when it was Created, who it was Created by, and when it was Last updated. Records added by someone who wasn’t signed in show Anonymous as their creator, and records the AI chat created while building your app show a service account ID instead of an email. For a field that holds a file or an image, such as photo_url, click the upload icon next to the field to upload a file straight from your computer, instead of pasting a link.
The record edit drawer with an image field's upload button and the Record info block outlined

Editing a record, with its upload button and Record info

Deleting data

You can delete a single record from its row, clear every record in a table from the table’s card, delete a table you no longer need, or ask the AI chat to do it for you. The AI prepares the delete action and asks for your approval before anything is removed.
Deleted records are not gone straight away:
  • Deleted records are kept for 30 days, so you have time to recover them. Click the More actions icon on the top of the data table and click Recently deleted to see and restore them. After 30 days they are permanently deleted and cannot be restored.
  • On the Elite plan and on an Enterprise plan (Business or Enterprise), Base44 also backs up your data automatically, so you can review what your tables held earlier, download a copy, or restore your data if records are edited, imported, or deleted by mistake.
To delete a single record, click the Delete icon on the relevant row of the table. To delete every record in a table, click the More actions icon on that table’s card and click Clear table records.
Data table with the delete icon visible on a hovered row

Deleting one record

To delete a table:
  1. Click Dashboard in your app editor.
  2. Click Data.
  3. Click Clear table records from the table card’s More actions menu, first in Production and then in Test, so the table is empty in both.
  4. Click the More actions icon on the table’s card, then click Delete this table.
  5. Click Delete this table to confirm.
Deleting a table removes it from your app’s data model, and anything in its trash can no longer be recovered. If your app’s code still defines the table, it comes back the next time that code is written or pulled.
To delete data with the AI chat:
  1. Open the AI chat in your app editor.
  2. Describe what you want to delete, for example: Delete the data for Italy in the TripItem entity.
  3. Review the delete request that the AI suggests, including the entity name.
  4. Click Approve to confirm the deletion, or Reject to cancel.

Importing data

Sometimes you want to bring in lots of information to your app at once. You can import data in 2 ways, depending on whether you want to work directly in the dashboard or ask the AI chat to help.
Imports add new rows to your tables. They do not update or overwrite existing records. If you want your file to replace the data in a table, first delete the current records in that table, then run the import again with your file.

Using the AI chat

Use the AI chat to turn existing data files into entities and records in your app. This is helpful when you already have information in a spreadsheet or JSON file and want to bring it into Base44. You can upload structured data files and ask the AI to create or update entities for you, including setting up tables and mapping fields. Supported formats for importing data:
  • CSV (.csv)
  • Excel (.xlsx, .xls)
  • JSON (.json)
If you upload an Excel file with multiple sheets, you can ask the AI to import a single sheet or import all sheets into their matching entities.

Example prompts you can use:

  • Import this data into the Customers entity.
  • Import this JSON file into my Orders entity.
  • Import the ‘Orders’ sheet into the Orders entity.
  • Here is a CSV of my Products. Create a Products entity with matching fields and import these rows.
To import data using the AI chat:
  1. Create the entity you want to import into (for example, Products, Contacts, Orders).
  2. Open the AI chat in your app editor.
  3. Click the Upload files icon and select your data file.
  4. Ask the AI to import the data.
  5. Review the response and approve the import in the chat.
When you import data this way, Base44 analyzes your file structure and maps columns to your entity fields. It can create or update entities if your schema needs to change, adding new entities or fields, or adjusting field types to match your file. It does not update or overwrite existing records; it always appends new rows. If something does not match, the AI updates the schema where it is safe to do so, then retries the import so you do not need to fix everything manually.
For file size limits and more details about uploading files to the AI chat, see Uploading and managing files.
To use the AI chat to replace existing data: If you want the content of a file to replace all the current records in an entity, you need to clear the entity first, then import the new rows from your file.
Tip: Before you delete records, consider exporting the table so you have a backup copy of your original data.
  1. Ask the AI chat to delete the records in the relevant entity (for example, Delete all records from the Orders entity.).
  2. Confirm that you want to delete the records.
  3. Click the Upload files icon and select your data file.
  4. Ask the AI chat to import the file into the same entity.

Directly in the dashboard

Use this option when you already have a CSV that matches your table and you simply want the rows to appear in your data. For example, export your customer list from another tool as a CSV, adjust the columns to match your Customers table, then import the file so you can manage those customers directly in Base44. Dashboard imports support CSV (.csv) files and add new rows only, so they never update or overwrite existing records. To replace everything in a table instead, click Clear table records on that table to clear it, then import your CSV. Values such as NULL, None, N/A, #N/A, and NaN come in as empty in any column that is not a text column, and list fields accept either a JSON array or a comma-separated string. After the import, the Data page shows how many records were added and reports any rows it could not import.
Trip table More actions menu with Import at the top

Importing into a table

To import data from the dashboard:
  1. Click Dashboard in your app editor.
  2. Click Data.
  3. Select the relevant data set (table).
  4. Click the More actions icon and click Import.
  5. Choose your CSV file and click Open.

Database limits

Your plan sets how much data each app can store in its database, and how large a single record can be.
These limits apply to apps created from October 18, 2026. Apps created before then don’t have them.
Database size counts the records in your app’s tables. Files you upload, such as images and documents, are stored separately and don’t count toward it. When your app’s database is full, it can’t add new records, including records added by an import. You can still edit and delete existing data, so deleting records you no longer need frees up space. To get more space, upgrade your plan. A single record that’s larger than your plan allows can’t be saved. To store large content, such as long text or files, upload it as a file and save the link in the record instead. To check your app’s database usage:
  1. Click Dashboard in the app editor.
  2. Click Overview.
  3. Click View usage.
  4. Check the Database card to see how much of your limit the app uses. The card only appears for apps created from October 18, 2026.
A screenshot of the App usage page in the app dashboard with the Database card outlined, showing 3 kB of 25 GB used

Checking your app's database usage


Exporting data

You might want to take your app’s data out for backup, analysis, or to use in other tools. To do this, you can use the Export option. For example, you might want to export your store orders or people lists to share with your accountant, or use the data to create custom reports. Your data downloads as a CSV file you can open in spreadsheet software such as Excel or Google Sheets. To export your app’s data:
  1. Click Dashboard in your app editor.
  2. Click Data.
  3. Select the relevant data set (table).
  4. Click the More actions icon and click Export. If a search or filter is on, the option reads Export filtered records and exports only the matching records.
A searched Trip table with its More actions menu open and Export filtered records outlined

Exporting filtered records


Changing data permissions

Each data table has its own security settings, controlling who can read and write its data. Read Access: Who can view records
Write Access: Who can create, update, or delete records
Note: For more detailed explanations, see the Managing security settings guide.
Each table has its own permissions page, listing the rules that decide who can create, read, update, and delete its records. Rules are combined, so a person needs to match only one of them. To check your rules work, click Test Permissions in preview from the table card’s More actions menu, from the More actions menu on the table itself, or on the table’s Permissions page after you save a change. Your app’s preview opens on a page that reads this table, with the list of people to act as already open, so you can see exactly what each of them can reach. Learn more about testing your permissions. To change the permissions for your data:
  1. Click Dashboard in your app editor.
  2. Click Data, then select the table you want.
  3. Click Permissions at the top of the table.
  4. Click Edit, change the rules, and save.
A table's Permissions page with its current rules and an Edit button

A table's permissions, opened from the Permissions button on the table

Fixing permission risks

When a table has a row-level security risk, a warning icon appears on its card on the Data page, and a Permission risks detected banner appears above the cards. Open the table to see the same banner with the risk and the recommended rules spelled out.
  • Fix one table: Open the table and click Fix to apply the recommended rules, or More details to review the risk and the suggested changes first.
  • Fix several at once: On the Data page, click Fix all in the banner to fix every flagged table, or click Select, tick the tables you want, and then click Fix all.
A permission risk detected on a table, with a one-click fix

Fixing a permission risk


Connecting your data to another app

You can let another app read or write data from your Base44 app. This is useful if you want to sync information, automate tasks, or give access to outside tools. To connect your data to another app:
  1. Click Dashboard in your app editor.
  2. Click API.
  3. Select the table you want from the dropdown.
  4. Choose the format you need: JS SDK, JS Fetch, cURL, or Python.
  5. Copy the code for reading or updating data.
  6. Paste it into the other app or tool, so it knows how to connect to your table.
The API page with the code sample language dropdown set to JS SDK

Code samples for your tables on the API page


FAQs

Select a question below to learn more about your app’s data.
It is not currently possible to automatically merge 2 separate apps into a single app in Base44. Each app is managed as an independent project with its own codebase, settings, permissions, and integrations.If you want to combine the features of 2 apps, you need to manually recreate or copy code, components, and settings from one app to the other. After combining the code and functionality, thoroughly test the new app to make sure everything works as expected.
Yes, to delete your data, go to Data in your app’s dashboard. On the relevant data tab, click More actions and then Clear table records. You can access and restore the deleted data for 30 days but after that it is permanently deleted.
Data table menu with the option to clear all records

Clearing a table's records

You can access and restore your deleted data for 30 days. After that, deleted data is permanently removed and cannot be restored.
Yes. You can safely ask the AI chat to add mock data for testing. By default, it adds new records without changing or removing existing ones, so your important information stays protected.For structured testing, it is better to use the built-in test data feature instead of adding ad hoc mock records to your live tables. Test data lets you quickly generate, reset, and remove sample records without affecting your real production data. Learn more in Testing your data.If you do choose to add test records directly to a table with the AI chat, you can clear them later from the dashboard by deleting those records.
The AI chat focuses on adding and importing data. It does not remove records unless you clearly ask it to delete data from a specific entity and confirm the action.If you want to replace all data in an entity with the content of a file, the safe pattern is:
  • Export the current table if you want a backup.
  • Ask the AI chat to delete the records in the relevant entity.
  • Upload your file and ask the AI chat to import it into the same entity.
This makes sure the entity is cleared first, then filled with the new rows from your file.
If you want to add a new column (field) or make other changes to your data tables, ask the AI chat to do it for you. The AI chat handles updates to your data schema, you just need to describe what you want to change.For example, if you want to add a “Notes” column to one of your data tables, prompt the chat to add it. It is best if you use Discuss mode in the chat to help the AI decide how to go about the change before implementing it.
Starting November 27, 2025, there is a limit of 5,000 items per request to help keep performance fast, stable, and reliable.If your app currently pulls everything in one large request, you may need to update it to load data in smaller pieces. Once this change goes live, double-check your flows to make sure everything still works as expected.
Tip: To make sure you are within the limitation, you can paste this message into the Base44 AI chat: “Make sure all data pull requests are limited to 5,000 items.”
You have not lost your data. When a collection has more than 5,000 records, the system limits how many items can load at once to protect performance. What you see depends on where you are looking:
  • In your dashboard: The data table only shows up to 5,000 items, even if your collection contains more. All of your records are still stored. To review everything, export the collection to CSV from the dashboard so you can see all items outside the table view.
  • In your app pages: Pages that try to fetch the entire collection in one request also only show up to 5,000 items. The rest of the records are still there, but they are not loaded on that page. Set up pagination so your app loads data in smaller chunks, for example 50 to 200 items at a time. You can ask the AI chat to add pagination for you.
Yes. If the data is stored inside your Base44 app, you can read from your entities and display it on any plan, including the free plan. Basic data fetching and display does not require backend functions or a paid plan.Backend functions are only needed when you want to connect to an external service or API outside of Base44, such as Strava, Stripe, or a third-party database. Connecting to external APIs requires the Builder plan or higher.
Yes. You can build a full role and hierarchy system in your app, including managers, teams, and even separate spaces for each customer if you are building a SaaS app.At a high level, the pattern works like this:
  • People sign up and sign in through the normal Base44 login flow. Their account details are stored in the built-in User entity. You do not change the security rules of this entity.
  • You create your own entities to model your business, for example Company, Team, and TeamMember.
  • Each record in these entities links back to a User record using a reference field, such as userId. This lets you connect login accounts with your own business roles.
  • You use data permissions and row-level security on your entities so each person only sees the records they should see.
For example:
  • In a SaaS app, each Company record can represent one of your customers. Data permissions make sure people from one company cannot see another company’s data.
  • Within each company, TeamMember records can store fields such as role, manager, and team. You can then set rules so managers see all records for their team, while individual team members only see their own records or items assigned to them.
  • Global admins in your app can have a role that allows them to see and manage all records across companies and teams.
This approach lets you support complex, multi-level apps (sometimes called “User of User” or UoU) while Base44 continues to manage login and the core User entity securely. To design the exact rules, use the data permissions and row-level security options described in the Managing security settings guide.