Skip to main content

Limits

Technical limits for EdgeBase Storage (backed by Cloudflare R2).

File Operations

LimitValueNotes
Max file size (single upload)100 MBR2 single-put limit; use multipart for larger files
Max file size (multipart)5 TBR2 multipart limit
Max part size (multipart)5 GBPer part
Min part size (multipart)5 MBExcept last part
Max parts per upload10,000R2 limit
Batch delete100 keys per requestIndividual delete rule evaluated per key
Batch signed URLs100 keys per requestNon-existent files are skipped

Signed URLs

LimitDefaultNotes
Download signed URL expiry1 hourConfigurable via expiresIn parameter
Upload signed URL expiry30 minutesConfigurable via expiresIn parameter
Security rule evaluationAt generation timeNot re-evaluated when the URL is used

Multipart Upload

LimitValueNotes
Part trackingKV-basedupload:{bucket}:{key}:{uploadId}:parts
Part tracking TTL7 daysAuto-cleaned; orphaned uploads expire
Resume supportYesGET /storage/:bucket/uploads/:uploadId/parts

Content Type Detection

Upload priority: explicit value > File.type > extension-based MIME (~50 mappings) > application/octet-stream.

Rate Limiting

GroupDefaultKeyConfigurable
storage50 req / 60sIPYes
global10,000,000 req / 60sIPYes

Service Key requests bypass the storage group limit.

That storage bypass applies across all Admin SDKs.

Access Rules

RuleEvaluated OnNotes
readDownload, HEAD, signed URL generation
writeUpload (single + all multipart steps)
deleteDelete, batch delete
Default (release: true)DenyMust explicitly define rules
Default (release: false)AllowDevelopment convenience
Self-hosting

When running on Docker, R2 is emulated as local file storage. The 100 MB single-upload limit and multipart limits still apply (Miniflare emulation), but there is no egress cost.