File types & limits.
The complete, current allowlist and every numeric limit in one place.
Allowed file types
| Category | Extensions |
|---|---|
| Markup | html htm xml svg |
| Styles | css |
| Scripts | js |
| Data | json txt md |
| Images | jpg jpeg png gif webp ico |
| Fonts | woff woff2 ttf |
That's 17 extensions total, checked against the file's name when you upload it. Anything not on this list, executables, archives, video, audio, PDFs, anything, is rejected outright with an error. There's no way to whitelist additional types for your own account.
Storage quota
| Limit | Value | Notes |
|---|---|---|
| Total storage | 50 MB | per account, all files combined |
| Upload batch size | 25 MB | a hard ceiling per upload request on the current platform |
| Sites per account | 1 | multiple sites per account may come later |
The 50MB figure is your total storage, the sum of every file you've uploaded, shown live as the storage bar in your dashboard sidebar. Uploading something that would push you over that total is rejected before it's written, nothing partial gets saved.
The 25MB figure is separate: it's how much you can send in a single upload action (one drag-and-drop, one file picker selection, one folder upload). It's not a per-file limit by itself, it's a cap on how much data fits in one request. If you're uploading a folder bigger than that, split it into a couple of smaller uploads, all the files still end up in the same place.
50MB is intentionally small. This is meant for HTML, CSS, JS, a handful of images, and maybe a font, not video or large media libraries. If you need more space, this isn't the right tool for that yet.
Why a file might get rejected
- Its extension isn't on the allowed list above
- Uploading it would put your account over the 50MB total
- The upload batch itself is larger than 25MB
Each of those returns a specific error message in the dashboard rather than a silent failure. See troubleshooting if something gets rejected and the reason isn't obvious.