Sitemap
Find your way around
Learn why the filesystem exists, try it in your browser, or go straight to an integration guide.
About OPFS VFS
- Home
The filesystem, its benefits, and available tools.
- Why OPFS VFS
The storage problem and the choices behind the library.
- Licensing
Community and commercial terms.
- Changelog
Latest release notes for every package.
Demos
- All demos
Choose an example to try in your browser.
- Filesystem
Files, a shell, previews, and workspace transfers.
- Volume Explorer
Inspect and edit real browser volumes.
- PGlite
Postgres queries with persistent storage.
- DuckDB
Experimental analytical SQL with a custom engine.
- EdgeJS
Experimental JavaScript with saved files.
- Local AI
A local model that works with workspace files.
- React SDK
Managed OPFS VFS volumes with live reads and synchronized saves.
Benchmarks
- Published results
Measurements with settings and raw samples.
- PGlite benchmark
Run SQL workloads across storage backends.
- Filesystem benchmark
Measure file operations and buffer modes.
- Collect results
Download a repeatable collection from your device.
- Methodology
Workloads, timing boundaries, and limitations.
- Storage and durability
Choose backends, buffer modes, and save policies.
Documentation
- Documentation
Set up OPFS VFS, work with files, and connect databases, shells, and developer tools.
- Volumes and lifecycle
Understand named volumes, file storage, and the difference between closing a file and closing a volume.
- Effect adapter
Use scoped OPFS VFS volumes, Effect FileSystem layers, and change streams in a browser application.
- Getting started
Install OPFS VFS, create a volume in a worker, then write, sync and reopen files with TypeScript. Covers setup for the Origin Private File System.
- Browser setup
Serve your app in a secure context with the isolation headers required by the worker APIs.
- Volume Explorer guide
Inspect browser volumes with file previews, an editor, a shell, and ZIP import and export.
- File preview extensions
Add custom file previews and reuse the shared React renderers and text editor.
- Files and directories
Create, read, write, and remove files and directories through the worker client.
- Persistence and recovery
Choose save points, understand recovery, and switch buffer modes without discarding recoverable changes.
- DuckDB
Set up the experimental DuckDB adapter with a compatible custom DuckDB-Wasm engine.
- EdgeJS
Set up experimental EdgeJS file access with a compatible custom Wasmer host.
- just-bash
Connect a just-bash shell to an OPFS VFS volume and manage its workspace and limits.
- PGlite on OPFS · Persistent browser Postgres
Store a PGlite Postgres database in OPFS VFS. Configure synchronization and worker lifecycle for a persistent in-browser database.
- Plugins
Add file subscriptions or premium encryption to OPFS VFS, and see the planned cloud sync plugin.
- Encryption
Create and reopen encrypted OPFS VFS volumes with the premium encryption plugin, custom workers, and optional passkeys.
- File subscriptions
Watch OPFS VFS file changes with the subscriptions plugin, optional completed-file content, and explicit recovery when delivery stops.
- React SDK preview
Manage browser-local OPFS VFS volumes with React providers, live reads, and generation-safe commands.
- React SDK API reference
Public React SDK props, hooks, results, ownership, and rendering boundaries.
- API overview
Find public imports, volume options, and APIs for inspecting and deleting volumes.
- Troubleshooting
Resolve worker, ownership, quota, and recovery errors while preserving saved data.