Setup file storage
in minutes not days.

A modern S3 alternative that doesn't get in your way.

Get started for free
As easy as using the localStorage
import { f0 } from 'file0';
// Upload
await f0.set('image.png', myImage);
// Download
await f0.get('image.png');
// Delete
await f0.delete('image.png');

Do more with less effort.

What used to take hours, now takes minutes.

import { f0 } from 'file0';
await f0.publish('image.png');
// This file is served from a CDN automatically


import { S3Client, PutObjectAclCommand } from '@aws-sdk/client-s3';
const s3 = new S3Client({});
const bucketPolicy = {
  Version: "2012-10-17",
  Statement: [
        Effect: "Allow",
        Principal: "*",
        Action: "s3:GetObject",
        Resource: "arn:aws:s3:::mybucket/image.png"
const policyParams = {
  Bucket: bucketName,
  Policy: JSON.stringify(bucketPolicy)
const command = new PutBucketPolicyCommand(policyParams);
const response = await s3.send(command);
// Now the file is public, but you have to setup a CDN manually.

Why another service?


I do think the storage "space" could use some disruption. I use s3 every day at work, and my general feeling is that the entire permission system is more complicated than 99% of apps actually need, to the point of being dangerous;


I've come to think the UX requirements of enterprise and indie dev / start up customers are fundamentally incompatible in the cloud.


As somebody who's spent over a decade making interactions with filesystem easier, I really understand why somebody would be tired.


I remembered when S3 was simple and just works. Now the default set up flow is advanced enterprise secure web scale.

Runs anywhere.

Built on modern web-standards. Works in any runtime, frameworks, even in the browser.

0 deps 2.5kB

Low latency worldwide.

All your public files are served from global CDN.
No extra configuration needed.


Forget unexpected usage costs.


For testing and small projects.

$0/ month

  • 1 app
  • 0.1GB of storage
  • No credit card required
Get started


One subscription for all your projects.

$12/ month

  • Unlimited apps
  • 100 GB of storage
  • Unlimited bandwidth
Get started


Custom offering for extreme workloads.


  • Unlimited apps
  • Unlimited storage
  • Unlimited bandwidth
Reach out


Is FILE0 just a wrapper around S3?

Not really. To achieve the current DX, we're managing multiple buckets each configured for a specific use-case, a database, and a server.
Our focus is developer experience. We always work our way backwards from that and adjust the underlying tech to satisfy the requirements.

Is my data safe with FILE0?

FILE0 is backed by a Cloudflare R2 Storage, which is a distributed storage system that provides high availability and durability. Your data is stored in multiple locations and is encrypted at rest.

How can I ask for help?

We have a Discord server where you can ask for help, share your thoughts and get updates about FILE0. You can join the server with this invite link: Join Discord

Do you support Go/Rust/etc..?

The first mission is to provide the best developer experience for the JavaScript ecosystem.

We are planning to support other languages in the future, but we don't have a fixed timeline yet. If you have a specific language in mind, please let us know in our Discord server: Join Discord

Why not usage-based pricing?

With different usage metrics like request classes (A, B), and bandwidth, it's hard to predict costs and often leads to unexpected bills. We believe these are complex things that a developer shouldn't worry about.

To make things simpler for you, we take an educated guess of the reasonable average usage and set a fair fixed price. This saves you from the headache of calculating costs and unforeseen bills.

Do you charge for bandwidth?

No, we don't charge for bandwidth, nor limitation are set for maximum bandwidth usage.

Do you charge for requests?

No, we don't charge for requests, nor hard limitation are set for maximum number of requests. In case of abuse, we may contact you to find a solution.

All your files a function call away.

Create a free account