Adapters
Subpath imports per provider - tree-shake what you don't use. Credentials auto-load from standard env vars; missing ones throw at construction with the variable name.
- S3
files-sdk/s3AWS S3 (and any S3-compatible bucket). Uses the standard AWS credential chain - environment, IAM role, shared profile.
- Bun S3
files-sdk/bun-s3AWS S3 (and any S3-compatible bucket) via Bun's native Bun.S3Client instead of @aws-sdk/client-s3. Bun-only.
- Cloudflare R2
files-sdk/r2Cloudflare R2 over the S3-compatible HTTP API. Auto-loads R2_* env vars or accepts an R2Bucket binding inside Workers.
- Vercel Blob
files-sdk/vercel-blobVercel Blob. BLOB_READ_WRITE_TOKEN is auto-injected on Vercel; pass token manually for local dev or other hosts.
- Netlify Blobs
files-sdk/netlify-blobsNetlify Blobs via @netlify/blobs. Auto-detects siteID and token on Netlify runtimes; falls back to env vars elsewhere.
- MinIO
files-sdk/minioMinIO and other self-hosted S3-compatible servers. Path-style addressing on by default; region defaulted; errors relabelled.
- DigitalOcean Spaces
files-sdk/digitalocean-spacesDigitalOcean Spaces via the S3-compatible API. Endpoint derived from the region, virtual-hosted addressing.
- Storj
files-sdk/storjStorj DCS via the S3-compatible Gateway. Defaults to the hosted Gateway MT, path-style addressing on.
- Hetzner Object Storage
files-sdk/hetznerHetzner Object Storage via the S3-compatible API. Endpoint derived from the location code (fsn1, nbg1, hel1).
- Akamai Cloud Object Storage
files-sdk/akamaiAkamai Cloud Object Storage (formerly Linode) via the S3-compatible API. Endpoint derived from the region/cluster code.
- Bunny Storage
files-sdk/bunny-storageBunny Storage via @bunny.net/storage-sdk. Connects to a Storage Zone with its zone password / access key; auto-loads BUNNY_STORAGE_* env vars (STORAGE_* as aliases).
- Backblaze B2
files-sdk/backblaze-b2Backblaze B2 via the S3-compatible API. Endpoint derived from the cluster code (us-west-002, us-east-005, eu-central-003, ...).
- Wasabi
files-sdk/wasabiWasabi Hot Cloud Storage via the S3-compatible API. AWS-style region names, Wasabi's own endpoints.
- Scaleway Object Storage
files-sdk/scalewayScaleway Object Storage via the S3-compatible API. Endpoint derived from the region code (fr-par, nl-ams, pl-waw).
- OVHcloud Object Storage
files-sdk/ovhcloudOVHcloud Object Storage (High Performance S3) via the S3-compatible API. Endpoint derived from the region code.
- iDrive e2
files-sdk/idrive-e2iDrive e2 via the S3-compatible API. Endpoint required (iDrive hostnames are tied to the cluster your bucket lives in).
- Vultr Object Storage
files-sdk/vultrVultr Object Storage via the S3-compatible API. Endpoint derived from the region code (ewr, sjc, ams, blr, ...).
- Filebase
files-sdk/filebaseFilebase via the S3-compatible API. Fronts decentralized networks (IPFS, Sia, Storj) chosen per-bucket.
- Exoscale Object Storage
files-sdk/exoscaleExoscale Object Storage (SOS) via the S3-compatible API. Endpoint derived from the zone code (ch-gva-2, de-fra-1, ...).
- Oracle Cloud Object Storage
files-sdk/oracle-cloudOracle Cloud Infrastructure Object Storage via the S3 compatibility layer. Auth uses HMAC Customer Secret Keys, not regular API keys.
- IBM Cloud Object Storage
files-sdk/ibm-cosIBM Cloud Object Storage via the S3-compatible API. Auth uses IBM Cloud HMAC credentials, not IAM API keys.
- Tencent Cloud Object Storage
files-sdk/tencentTencent Cloud Object Storage (COS) via the S3-compatible API. Endpoint derived from the region code; bucket name must include the -<appid> suffix.
- Alibaba Cloud OSS
files-sdk/alibabaAlibaba Cloud Object Storage Service (OSS) via the S3-compatible API. Endpoint derived from the region code (cn-hangzhou, ap-southeast-1, ...).
- Tigris
files-sdk/tigrisTigris globally-distributed object storage via the S3-compatible API. Fixed global endpoint, region defaults to auto.
- Yandex Object Storage
files-sdk/yandexYandex Object Storage via the S3-compatible API. Fixed global endpoint, region defaults to ru-central1.
- Google Cloud Storage
files-sdk/gcsGoogle Cloud Storage via the official @google-cloud/storage SDK. Application Default Credentials by default.
- Firebase Storage
files-sdk/firebase-storageFirebase Cloud Storage via the official firebase-admin SDK. Underlying client is @google-cloud/storage, so V4 signed URLs and POST policy uploads come for free.
- Google Drive
files-sdk/google-driveGoogle Drive via the official Drive v3 client. Maps unified string keys onto Drive's appProperties with a per-instance LRU cache.
- OneDrive
files-sdk/onedriveOneDrive and SharePoint document libraries via Microsoft Graph. Path-addressable, no virtual-key bookkeeping.
- Dropbox
files-sdk/dropboxDropbox via the official SDK. Path-addressable, virtual keys map directly to Dropbox paths - no cache.
- Box
files-sdk/boxBox via the official typed SDK. Translates virtual keys into nested folders under a configurable rootFolderId.
- Azure Blob Storage
files-sdk/azureAzure Blob Storage via @azure/storage-blob. Four credential modes - connection string, account key, SAS token, or anonymous.
- Supabase Storage
files-sdk/supabaseSupabase Storage via @supabase/storage-js. Pass an existing SupabaseClient to share auth/postgrest with the rest of your app.
- UploadThing
files-sdk/uploadthingUploadThing via uploadthing/server. Maps user-supplied keys onto UploadThing's customId.
- Filesystem
files-sdk/fsLocal filesystem - the dev/test adapter. Uses node:fs/promises with a sidecar .meta.json per file. Not for production.
- Appwrite
files-sdk/appwriteAppwrite Storage via the official Node.js SDK. Auto-loads configuration from environment variables.
- PocketBase
files-sdk/pocketbasePocketBase via the official JS SDK. Maps the unified key/blob API onto a dedicated collection with a unique key field and a single-file body field.
- Cloudinary
files-sdk/cloudinaryCloudinary asset CDN via the official Node SDK. Defaults to resource_type: raw for arbitrary-bytes storage; switch to image/video for transforms.
- SharePoint
files-sdk/sharepointSharePoint document libraries via Microsoft Graph. Resolves siteUrl and library names; delegates to the OneDrive adapter for the file operations.