Backblaze B2
Plan snapshot
Backblaze B2
- Free storage / trial
- First 10 GB of B2 storage is free.
- Separate limits
- Beyond the free storage, $6.95/TB/month. Egress is free up to 3x your average monthly stored volume, then $0.01/GB. No minimum file size and no minimum storage duration fees.
- Billing trigger
- Free for very small buckets; pay-as-you-go when storage or egress exceeds included allowances.
- Best fit
- Low-cost backup buckets and native B2 workflows with predictable object-storage pricing.
Checked 2026-07-30: Backblaze B2 pricing
Backblaze B2 is a cost-effective object storage platform. AeroFTP ships two presets and lets you pick the one that matches your workload:
| Preset | Backend | Best for |
|---|---|---|
| Backblaze B2 (native) | B2 v4 API directly | Large-file workflows, server-side copy, version history |
| Backblaze B2 (S3-compat) | S3 endpoint exposed by B2 | Mixed-S3 estates, scripted tooling that already speaks S3 |
If you are starting fresh, pick the native preset. It speaks the same wire protocol as Backblaze's own tools, gets the full version history surface, and avoids the per-bucket S3 endpoint guessing that has tripped users up in the past.
Backblaze B2 (native, v4 API)
The native preset bypasses the S3 compatibility layer entirely.
What you get
- Native B2 large-file workflow (
b2_start_large_file/b2_upload_part/b2_finish_large_file). - Server-side copy via
b2_copy_file- no download / re-upload round-trip. - File version history surfaced through
list_versions/download_version/restore_versionso deleted or overwritten objects can be recovered from the AeroFTP UI. - Endpoint discovery:
b2_authorize_accountreturns theapiUrlanddownloadUrlfor your account, so you do not need to know the regional S3 hostname in advance.
Since v4.2.0 a native Backblaze B2 profile card shows what the bucket reports about default server-side encryption: enabled (with the algorithm Backblaze names), not enabled, or unknown when the application key may not read the setting. AeroFTP reads it from the native B2 API only, because the S3-compatible endpoint answers AES256 for every bucket.
Setup
- Open the Backblaze App Keys page and create a new application key.
- In AeroFTP, pick Backblaze B2 (native) in Discover.
- Enter:
- Application Key ID (starts with
003...) - Application Key (only shown at creation - copy it now)
- Bucket Name (case-sensitive, exact match)
- Application Key ID (starts with
- Connect. AeroFTP will run
b2_authorize_accountand discover the rightapiUrl/downloadUrlfor your account automatically.
Connection settings
| Field | Value |
|---|---|
| Application Key ID | From Backblaze App Keys |
| Application Key | From Backblaze App Keys (one-time display) |
| Bucket | Exact bucket name |
| Endpoint | Discovered automatically by b2_authorize_account |
Backblaze B2 (S3-compat, legacy)
The S3-compat preset routes B2 through the standard S3 API. It is the right choice when:
- You already have automation scripted against the S3 SDK.
- You operate a mixed estate of B2 and other S3 services and want one code path.
- You explicitly need an S3 multipart workflow rather than the native B2 large-file workflow.
Setup
- Open AeroFTP and pick Backblaze B2 (S3-compat) in Discover.
- Enter:
- Key ID (starts with
003...) - Application Key
- Bucket Name
- Endpoint - copy it from the Bucket Settings page in the Backblaze console (e.g.
s3.eu-central-003.backblazeb2.com). Do not prefix withhttps://.
- Key ID (starts with
- Connect and save the profile.
Recommended defaults
- Path-style addressing: enabled (B2 does not yet support virtual-hosted style for arbitrary buckets).
- Region:
auto(placeholder; B2 ignores it).
Common issues
| Problem | Cause | Solution |
|---|---|---|
| Signature error (S3-compat) | Wrong endpoint or secret key | Verify the exact S3 endpoint in Bucket Settings and the application key |
| Access denied | Application key permissions too narrow | Ensure the key can access the target bucket (read + write + listAllBucketNames as needed) |
| Bucket not found | Wrong bucket name | The bucket name is case-sensitive |
b2_authorize_account 401 (native) | Application Key ID + Key mismatch | Generate a fresh application key; the old one may have been revoked |
Why two presets?
Backblaze's S3-compat layer is excellent but it does not surface every B2 feature. The native preset wins on:
- Server-side copy (
b2_copy_file) - the S3-compat endpoint emulatesCopyObjectbut rewrites the file rather than reusing the source bytes for cross-bucket copies. - Version history -
b2_list_file_versionsreturns the full version chain; the S3-compat layer hides this behind versioning headers. - Large-file workflow - native
b2_finish_large_fileis the original B2 behaviour and avoids the S3-compat multipart commit edge cases that have caused intermittent issues for some users.
The S3-compat preset wins on:
- Tooling reuse - any S3 SDK / CLI works as-is.
- Cross-provider scripting - the same code path that talks to AWS / R2 / Wasabi / MinIO also talks to B2.
You can have both presets installed at once and switch per-profile.