Guides

Retool Storage: Upload & Manage Files Without S3

OTC Team··4 min read

If you've ever tried to handle file uploads in Retool, you know the pain. Before Retool Storage, your only options were to base64-encode files and shove them into a database column, or spin up an S3 bucket, configure IAM permissions, and wire up a REST API — just to let a user upload a PDF. Retool Storage is the built-in blob store that finally eliminates those workarounds and lets you upload and manage files without S3 or any external object storage configuration.

What Is Retool Storage?

Retool Storage is a hosted blob store built directly into the Retool platform. It lives alongside other native resources like RetoolDB and Retool Email, meaning there is nothing external to provision, no credentials to rotate, and no infrastructure to maintain. It is available to all Retool cloud users on the base plan at no additional cost. On-premise support is not yet available, though the Retool team has indicated they are actively considering it based on user feedback.

Why This Matters If You're Building Internal Tools

The old approaches to file storage in Retool created real friction:

  • Base64 in the database: Bloats your database, makes querying slow, and breaks down above a few hundred kilobytes.
  • Self-managed S3: Requires AWS account setup, bucket policies, CORS configuration, pre-signed URL logic, and ongoing credential management — a lot of overhead for an internal tool.
  • Azure Blob via REST API: Even harder. Users in the Retool community have described this as genuinely difficult to get working reliably.

Retool Storage removes all of that. You get a managed store with a clean query interface, accessible directly inside your apps and workflows.

Storage Limits to Know Before You Build

Before architecting your solution around Retool Storage, keep these limits in mind:

  • 5 GB total storage per organization
  • 40 MB maximum size per individual file

For most internal tool use cases — document uploads, report exports, image attachments, CSV ingestion — these limits are more than sufficient. If you're building a high-volume data pipeline that processes large files, plan accordingly and evaluate whether you'll hit the org-level cap over time.

How to Access Retool Storage in Your App

There are two ways to interact with Retool Storage, and you'll likely use both depending on what you're building.

1. The Retool Storage File Browser (No Code)

Navigate to Resources > Retool Storage in your Retool dashboard. This gives you a visual file list where you can browse, upload, and delete files manually. It's useful for inspecting what's been stored, debugging uploads, or managing files that were programmatically added by a workflow.

2. The Retool Storage Query (Programmatic)

Inside any Retool app or workflow, create a new query and select Retool Storage as the resource. From there you can perform the following operations:

  • Upload — push a file from a File Input component or a workflow step into storage
  • Read — retrieve file contents or metadata by file name or path
  • Download — generate a accessible URL or return file bytes to the frontend
  • List — enumerate files in storage, useful for building file picker UIs
  • Delete — remove files programmatically as part of a cleanup workflow

Because the Retool Storage query works inside Workflows, you can build fully automated data pipelines — for example, a scheduled workflow that pulls a report, saves it to Retool Storage, and emails a download link — without any external infrastructure.

Practical Use Cases Worth Building

Here are some real internal tool scenarios where Retool Storage fits well:

  • Document management tools: Let ops teams upload contracts or invoices through a Retool app and retrieve them later without needing a separate DMS.
  • AI document parsing pipelines: Upload a PDF to Retool Storage in a workflow, pass the file to an AI query (e.g., OpenAI or a custom model), and store the parsed output back to your database.
  • CSV ingestion: Accept a CSV file upload from a user, process it row-by-row in a workflow, and archive the original file in storage for audit purposes.
  • Image uploads for records: Store product images, profile photos, or inspection photos linked to database records — no S3 bucket required.

Is Retool Storage Available for Self-Hosted Retool?

Not yet. As of this writing, Retool Storage is only available on Retool Cloud. The Retool team has acknowledged requests for self-hosted support — particularly from users struggling with Azure Blob Storage via REST API — and has said they are weighing it based on demand. If this is a blocker for you, submit feedback directly in the Retool community thread to help them prioritize it.

Getting Started Right Now

If you're on Retool Cloud, Retool Storage is already available in your account. Go to Resources > Retool Storage to confirm access. Then open any app or workflow, add a new query, and select Retool Storage as the resource type. From there, you're one query away from handling file uploads cleanly — no buckets, no base64, no drama.

Ready to build?

We scope, design, and ship your Retool app — fast.

Ready to ship your first tool?