Puter.js
Keyless, serverless object storage you call straight from the browser — each end user stores files on their own Puter account, so the developer pays nothing at any scale.
- Card required
- No
Puter.js scores 3/10 for free value in Storage. The main constraint: Developer cost is $0 for unlimited users via the "User Pays" model; each end user's files live in their own Puter account, whose free tier provides roughly 500 MB–1 GB of storage before they must upgrade.
Free value score
3.0 / 10Show the math
Key metrics
What you get
No API keys, buckets, signed URLs, or backend — drop in one <script src="https://js.puter.com/v2/"> tag or the @heyputer/puter.js npm module
User-Pays model: cost to the developer stays $0 whether the app has 1 or 1,000,000 users
Full file-system API from the browser: write, read, upload, list, stat, copy/move/rename, delete, plus shareable getReadURL() links
Per-app sandboxed storage at ~/AppData/<app-id>/ with built-in Puter authentication, so no anti-abuse, rate-limiting, or key management to build
Gotchas
- ~0.5-1 GB per user
Each end user's free Puter account provides only about 500 MB-1 GB of storage; free users report seeing as little as 500 MB. Beyond that the user must upgrade their own Puter plan. The developer never pays, but the per-user ceiling is small.
- Each user needs a Puter account
Storage lives in the end user's Puter.com account, so every user must sign in or create a free Puter account and authorize your app before any file operation works. There is no developer-owned shared storage by default.
- Per-user data silos
Apps are sandboxed to ~/AppData/<app-id>/ inside each user's account and cannot read other users' or other apps' data. A single shared/centralized store across users requires building a Serverless Worker.
- Undisclosed free-tier usage limits
Free Puter accounts are subject to partly undisclosed usage/rate limits that have caused service interruptions for end users (HeyPuter/puter issue #1704). Higher usage requires the user to move to a paid Puter tier ($5+/$50+/$100+).
- Read URLs expire in 24h
URLs from getReadURL() are valid for 24 hours by default; you can pass a custom expiration in milliseconds, but links are not permanently public by default.
- Browser-mediated, auth-gated I/O
All storage access runs client-side through Puter's API and is gated by an interactive sign-in/permission prompt on first cloud access, which adds latency and a UX step versus a direct developer-owned bucket.
Sources
-
"Whether your app serves one user or one million users, your costs remain the same: zero. Practically infinite scalability at no cost."
https://docs.puter.com/user-pays-model/ -
"Currently, it is free and open to everyone to use, which includes 500MB of cloud storage, or 1GB if using a referral link."
https://forum.lazarus.freepascal.org/index.php?topic=66617.0 -
"The free plan gives you 500 MB of cloud storage."
https://www.xda-developers.com/puter-browser-based-operating-system/ -
"For the $10/month tier, $5 is allocated to storage and apps and the other $5 is allocated for AI and other consumables."
https://www.reddit.com/r/puter/comments/1p55zao/puter_ai_usage_costs_and_limitations/ -
"Puter advertises its AI service as “free”, but hidden usage limits appear after a short period of use ... No visible documentation or communication about these limits"
https://github.com/HeyPuter/puter/issues/1704
Alternatives
Same category · similar quotaS3-compatible object storage with a no-time-limit free allotment of 20 GB across Standard, Infrequent Access, and Archive tiers plus 50,000 API requests per month.