---
title: "Backblaze B2 Storage Support Now Available in LaunchFast Starter Kits"
description: "LaunchFast works with Backblaze B2 out of the box. Same STORAGE_PROVIDER=s3, same pre-signed upload flow. Point AWS_ENDPOINT_URL_S3 at your regional B2 S3 endpoint and add your application key."
source: "https://www.launchfa.st/blog/backblaze-b2-storage-support"
author: "Rishi Raj Jain"
created_at: 2026-06-22T12:00:00.000Z
keywords: "backblaze, backblaze b2, b2 cloud storage, s3, object storage, launchfast, starter kit, affordable storage"
---

> **Site index for agents**
> Fetch https://www.launchfa.st/llms.txt to discover every page on this site.
> Every page is also available as Markdown by appending `.md` to its URL.

<img width="1600" height="900" alt="Backblaze B2 Storage Support Now Available in LaunchFast Starter Kits" decoding="async" loading="eager" class="mt-4 border rounded-sm bg-cover bg-center bg-no-repeat transform will-change-auto" src="https://ik.imagekit.io/vjeqenuhn/launchfast-website/backblaze-b2-storage-support.png" />

LaunchFast now works with [**Backblaze B2 Cloud Storage**](https://www.backblaze.com/cloud-storage), and we didn't ship a single line of starter kit code to make it happen.

[Backblaze B2](https://www.backblaze.com/cloud-storage) is affordable, S3-compatible object storage built for developers who want predictable pricing without AWS complexity. Swap the endpoint, keep your code. Same repo. Same `STORAGE_PROVIDER=s3`. Point `AWS_ENDPOINT_URL_S3` at your regional B2 S3 endpoint, add your application key credentials, and you're uploading files through the same pre-signed URL flow LaunchFast already uses for Amazon S3, Cloudflare R2, Tigris, Neon Storage, and Bunny Storage.

**One stack. One endpoint. Ship faster.**

## Why this matters

LaunchFast treats object storage as S3-compatible by default. B2 speaks the S3 API, so avatars, uploads, and generated assets just work. No adapter, no fork, no waiting on a release.

- **No code changes**: The kit already supports custom S3 endpoints. Backblaze B2 is already supported.
- **Predictable pricing**: Pay for storage at a fraction of typical cloud object storage rates, with straightforward billing.
- **S3-compatible API**: Use the same `AWS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and bucket env vars you already know. B2 application keys map directly to S3 credentials.
- **Proven at scale**: Backblaze has stored exabytes of data for over a decade. B2 is built for durability, not demo-tier uptime.

## What's included

- **S3-compatible uploads and retrieval** via LaunchFast's existing `/api/storage` routes and `<Upload />` component
- **Pre-signed URLs** for secure client-side uploads, identical flow to other S3 providers
- **One env var**: `AWS_ENDPOINT_URL_S3` points the S3 client at your B2 regional endpoint (e.g. `https://s3.us-west-004.backblazeb2.com`)
- **Available in all frameworks**: Astro, Next.js, and SvelteKit starter kits

Under the hood, LaunchFast's S3 helper already routes requests through a custom endpoint when `AWS_ENDPOINT_URL_S3` is set. Backblaze B2 plugs into that same path.

## Getting started

### 1. Create a B2 bucket and application key

Sign up at [backblaze.com](https://www.backblaze.com/cloud-storage) and create a bucket in the [B2 Cloud Storage dashboard](https://secure.backblaze.com/b2_buckets.htm).

Then go to **App Keys** and create a new application key with read and write access. Copy:

- **keyID** (your access key ID)
- **applicationKey** (your secret access key, shown once)
- **S3 Endpoint** (regional, e.g. `https://s3.us-west-004.backblazeb2.com`)
- **Bucket name**
- **Region** (e.g. `us-west-004`)

See [Backblaze's S3-compatible API docs](https://www.backblaze.com/docs/cloud-storage-call-the-s3-compatible-api) for the full walkthrough.

### 2. Configure your `.env`

Set `STORAGE_PROVIDER` to `s3`, then add your B2 credentials:

```bash
STORAGE_PROVIDER="s3"

AWS_ENDPOINT_URL_S3="https://s3.us-west-004.backblazeb2.com"
AWS_KEY_ID="your-key-id"
AWS_SECRET_ACCESS_KEY="your-application-key"
AWS_S3_BUCKET_NAME="your-bucket-name"
AWS_REGION_NAME="us-west-004"
```

Do **not** set `CLOUDFLARE_R2_ACCOUNT_ID` when using Backblaze B2. That variable is only for Cloudflare R2.

Replace the endpoint and region with the values shown for your bucket in the B2 dashboard. Endpoint format is `https://s3.<region>.backblazeb2.com`.

### 3. Run the app and upload a file

Start your dev server, sign in, and upload a profile image or any file through the built-in upload flow. LaunchFast generates a pre-signed PUT URL against your B2 bucket, the browser uploads directly, and retrieval works through the same signed-URL path.

For framework-specific setup notes, see the Storage section in the starter kit README:

- [Astro](https://github.com/LaunchFast-Boilerplates/launchfa.st-astro#storage)
- [Next.js](https://github.com/LaunchFast-Boilerplates/launchfa.st-nextjs#storage)
- [SvelteKit](https://github.com/LaunchFast-Boilerplates/launchfa.st-sveltekit#storage)

## Other storage providers

Backblaze B2 joins the storage providers LaunchFast already supports:

- **Amazon S3** · [/documentation/storage/amazon-s3/](/documentation/storage/amazon-s3/)
- **Cloudflare R2** · [/documentation/storage/cloudflare-r2/](/documentation/storage/cloudflare-r2/)
- **Tigris** · [/blog/tigris-storage-support/](/blog/tigris-storage-support/)
- **Neon Storage** · [/blog/neon-storage-support/](/blog/neon-storage-support/)
- **Bunny Storage** · [/blog/bunny-storage-support/](/blog/bunny-storage-support/)
- **Supabase Storage** · [/documentation/storage/supabase/](/documentation/storage/supabase/)
- **Firebase Storage** · [/documentation/storage/firebase/](/documentation/storage/firebase/)

Switch providers anytime by updating `STORAGE_PROVIDER` and the relevant env vars. No application code changes required.

## Get started today

Want affordable object storage with an S3 API you already know and no new upload flow to wire?

[**Get LaunchFast Starter Kit**](/) and point it at Backblaze B2 in minutes.
