# Files SDK

Files SDK is a single TypeScript API for uploading, downloading and managing files across object and blob storage backends such as S3, R2, GCS, Azure, Vercel Blob and the local filesystem.

Files SDK is a unified storage SDK for object and blob storage backends, with one small API and web-standard input and output types such as Blob and File. Each provider's native SDK is an optional peer dependency, so an application installs only the adapters it actually uses.

The same methods — upload, download, head, exists, delete, copy, move, list, and a signed url — work the same way across S3, GCS, Azure, Vercel Blob, the local filesystem and providers such as Dropbox; exists returns false only when the provider reports the object missing, while other failures still throw. File handles wrap a single key so repeated operations on the same object read more naturally.

A lazy loader lets Node.js tools pick a provider at runtime from an environment variable or an explicit argument, importing only the adapter that is actually selected. Provider credentials come from each adapter's own environment-variable conventions.

Website: https://files-sdk.dev/
