Skip to content

URL Sharing

All OpenSuite apps (OpenSheets, OpenDocs, and OpenPresentation) can encode the entire document into the URL, making it possible to share your work by simply copying the link. No server is required -- the data is embedded directly in the URL as a compressed base64 string.

This also means you can run OpenSuite locally (self-hosted or on localhost) and still share your spreadsheets, documents, and presentations with anyone. The data travels with the link, not with the server.

How It Works

When you click Save (or press Ctrl+S), the document data is:

  1. Serialized to JSON (all sheets, cells, formulas, formatting, queries, forms, scripts, charts, slides, etc.).
  2. Compressed using pako (zlib deflate) if the library is available, otherwise base64-encoded.
  3. Stored in the URL hash fragment (#).

The resulting URL looks like:

https://example.com/opensheets/?t=a3f1b2c4#eJzLSM3JyVcozy9KSQEAGKsEhQ...

After saving, the full URL is automatically copied to the clipboard.

The share link is your save file

The URL hash contains your complete document. Keep this link safe -- it is the only way to recover your data if you lose your browser storage. If you clear your browser data and do not have a share link, your work is gone permanently.

Simply paste the URL to share your spreadsheet, document, or presentation with others. When someone opens the link:

  • The hash fragment is decoded and decompressed.
  • The document is fully restored with all data and configuration.
  • The content is immediately usable in the recipient's browser.

Use File > Share Read-Only Link to generate a clean URL that contains only the workbook data without any Supabase connection parameters or session token. This link:

  • Contains the full spreadsheet data in the URL hash.
  • Does not include ?doc= or ?t= parameters.
  • Allows recipients to view and interact with the data but not save back to your Supabase instance.

URL Size Limits

The compressed data is stored in the URL fragment. If the encoded data exceeds 100 KB, a warning is shown because some browsers may truncate very long URLs. For large spreadsheets, consider:

  • Enabling Supabase storage to store data in the cloud (only configuration stays in the URL hash).
  • Reducing the amount of data in the spreadsheet.

Supabase Hybrid Mode

When Supabase is configured, the save behavior changes:

  • Cell and sheet data is sent to Supabase.
  • Configuration only (saved queries, forms, scripts, chart settings) is compressed into the URL hash.
  • The URL includes a ?doc= parameter identifying the Supabase document.

This keeps URLs short while ensuring data is stored persistently in the cloud.

Compression

OpenSheets uses the pako library (zlib deflate) for compression, with base64url encoding for URL safety. Characters +, /, and = are replaced with -, _, and trimmed respectively. If pako is not loaded, plain base64 encoding is used as a fallback.