Skip to content
Files SDK logo

A unified storage SDK for object and blob backends with a single, honest API.

Visit Website
Tracked since2026
0 reviews tracked

The Bottom Line

Entry price

Free, no paid tier

Biggest pro

Simplifies multi-cloud storage management with a single API

Biggest con

Provider-specific advanced features require using the "escape hatch" (`files.raw`)

TL;DR - Files SDK

  • Unifies multiple cloud storage APIs (S3, R2, GCS, Azure, etc.) into one SDK.
  • Provides a consistent API for common storage operations like upload, download, list, delete.
  • Offers an "escape hatch" to access native client functionalities for provider-specific features.
Pricing: Free forever
Best for: Individuals & startups

What is Files SDK?

Editorial review
Files SDK provides a unified JavaScript SDK that simplifies interaction with various object and blob storage providers like S3, R2, GCS, Azure Blob Storage, and many others. It abstracts away the subtle differences between these storage SDKs, offering a consistent API for common operations such as uploading, downloading, listing, and deleting files. This allows developers to swap storage providers without extensive code rewrites. The SDK is designed with web-standards I/O in mind, accepting various data types like File, Blob, ReadableStream, ArrayBuffer, and string. It runs across diverse JavaScript environments including Node, Bun, Workers, and Vercel, essentially anywhere the `fetch` API is available. For advanced or provider-specific functionalities not covered by the unified API, Files SDK offers an "escape hatch" via `files.raw`, providing direct access to the native client for each adapter, complete with type safety. This makes it ideal for developers looking for a streamlined way to manage cloud storage while retaining flexibility for complex use cases.

Available on: Web

Pros & Cons

Pros

  • Simplifies multi-cloud storage management with a single API
  • Reduces vendor lock-in by making it easy to switch providers
  • Compatible with various JavaScript environments
  • Provides flexibility to use native client features when needed
  • Streamlines common storage operations

Cons

  • Provider-specific advanced features require using the "escape hatch" (`files.raw`)
  • URL methods and some edge cases vary by provider, requiring careful review of compatibility matrix
  • Does not cover every single feature of every native client, focusing on common denominator

Key Features

Unified API for object and blob storageSupport for 20+ storage providers (S3, R2, GCS, Azure, Dropbox, etc.)Web-standards I/O (File, Blob, ReadableStream, ArrayBuffer, string)Runs in Node, Bun, Workers, Vercel environmentsDirect access to native client via `files.raw` for advanced featuresPredictable error handling with normalized error codesConsistent methods for upload, download, list, delete, head, exists, copySupport for signed URLs (with caveats for some providers)

Pricing

Free

Files SDK is completely free to use with no hidden costs.

View pricing

Reviews

Be the first to review Files SDK

Your take helps the next buyer. Verified LinkedIn reviewers get a badge.

Write a review

Best Files SDK Alternatives

Top alternatives based on features, pricing, and user needs.

Most buyers shortlist 2 or 3 tools before committing. Pull a side-by-side comparison or browse the full alternatives shortlist below.

Explore More

Files SDK FAQ

How does Files SDK handle provider-specific features like S3 versioning or Azure Blob Storage lifecycle policies?

Files SDK provides a unified API for common operations. For provider-specific features such as S3 versioning, lifecycle policies, ACLs, or multipart uploads, you can use the files.raw property. This property gives you direct access to the native client for the configured adapter, allowing you to implement these advanced functionalities while still benefiting from the SDK's unified approach for basic operations.

What kind of data can I upload or download using Files SDK?

Files SDK is designed with web-standards I/O and can handle various data types for uploads and downloads. You can use File objects, Blob objects, ReadableStream, ArrayBuffer, or even simple strings, making it versatile for different application needs and environments.

Can I use Files SDK in a serverless environment like AWS Lambda or Vercel Functions?

Yes, Files SDK is built to run anywhere the fetch API is available, which includes serverless environments like Node.js, Bun, Cloudflare Workers, and Vercel. This makes it well-suited for modern serverless architectures where you need to interact with cloud storage.

How does Files SDK ensure consistent error handling across different storage providers?

Files SDK normalizes errors into a single FilesError type. This error object includes a consistent code across providers, making it easier to handle errors programmatically. The original, underlying error from the specific storage provider is also attached as the cause property, allowing for detailed debugging when necessary.

Guides & Articles