


A unified storage SDK for object and blob backends. One small, honest API. Web-standards I/O. An escape hatch when you need the native client.
Files SDK is a unified storage SDK that provides a single, consistent API for interacting with object and blob storage backends. Instead of learning a different SDK for every cloud provider, you get one small, honest interface that works across S3, Cloudflare R2, Google Cloud Storage, Azure Blob, and over 30 other providers. It uses web-standards I/O β accepting File, Blob, ReadableStream, ArrayBuffer, and string β and runs anywhere fetch runs, including Node, Bun, Workers, and Vercel.
Upload, download, list, delete, head, exists, copy, and URL generation β the same ten methods work identically whether you're using S3, GCS, Azure, or a local filesystem. Swap your adapter, and your calls stay the same.
The SDK accepts native web types like File, Blob, and ReadableStream, and returns them too. No proprietary stream wrappers or buffer conversions. It runs on any runtime that supports the fetch API β Node, Bun, Cloudflare Workers, Vercel Edge, and more.
files.rawWhen you need provider-specific features like versioning, lifecycle policies, ACLs, or multipart uploads, the native client is always one property away. files.raw is typed per adapter, so you get full autocompletion for the underlying SDK without leaving your codebase.
Every provider error is normalized into a single FilesError with a consistent code property. The original error is attached as cause, so you can handle failures uniformly while still debugging with the full context.
"One small API across providers. Swap your storage provider without rewriting calls."
That's the core promise, and Files SDK delivers it without compromise. While other abstraction layers leak provider-specific details or force you into a lowest-common-denominator API, Files SDK gives you a clean ten-method surface that covers 95% of use cases β and then hands you the native client for the remaining 5%. The compatibility matrix shows exactly which methods work on which provider, with clear caveats where behavior differs.
You're tired of maintaining adapter code for every storage provider your app touches, or you're planning to migrate from one backend to another and want to avoid a painful rewrite. Files SDK is also a strong fit if you're building a library or framework that needs to accept user-provided storage without dictating the provider.
Other tools you might consider
Loading commentsβ¦
Maker
kettle_dev
Visit Website
files-sdk.dev
Project Info
Product Keywords