How do you publish a Google Sheet to the web?

When to use it

Publish when you need a dashboard embed on a website, a CSV feed for a tool, or a public lookup table that updates when the sheet changes. Pair with careful range hygiene and no secrets in cells.

When to skip it

Skip publish for files with PII, payroll, or unreleased metrics. Use named sharing or a web app with auth instead.

How it works

  1. 1

    Open File > Share > Publish to web (or Share > Publish to web depending on UI version).

  2. 2

    Choose Entire document or a single sheet tab from the dropdown.

  3. 3

    {:"Pick the output type"=>"link (HTML), embed code, CSV, TSV, PDF, or XLSX for some formats."}

  4. 4

    Click Publish and copy the link or iframe embed snippet for your site or integration.

  5. 5

    To stop public access, return to the same dialog and click Published content > Stop publishing.

  6. 6

    Test the URL in an incognito window to confirm strangers see only what you intended.

Examples in Google Sheets

Embed a live KPI table

Publish the Dashboard tab as HTML embed and paste the iframe into an internal wiki or Notion page.

CSV feed for a chart tool

Publish the Data tab as CSV and point a visualization tool at the URL for nightly-refreshed charts.

Public schedule or roster

Publish a filtered view tab showing only name and shift time columns with sensitive notes hidden on another tab.

Better Sheets resources

Common mistakes

  • Publishing the entire workbook when only one sanitized tab should be public.
  • Leaving publish on after a project ends, exposing stale but still sensitive historical data.
  • Assuming publish respects hidden rows on all formats; verify CSV output in incognito.
  • Confusing publish links with normal share links; publish URLs work without authentication.
  • Embedding a published sheet inside a password page while the Google URL remains publicly reachable.

Frequently asked questions

Is publish the same as sharing?
No. Share invites specific people. Publish creates a public URL anyone with the link can use.
Does published data update live?
HTML and CSV publish links reflect sheet changes after a short delay. Treat it as a live feed, not a frozen export.
Can I publish one range only?
Native publish is per tab. Hide sensitive columns on other tabs or use a dedicated public tab with formulas.
How do I unpublish?
File > Share > Publish to web > Published content > Stop publishing on that link.
Can viewers edit a published sheet?
No. Published views are read-only. Editors still change the source file with normal permissions.
Publish vs web app?
Publish is quick and public. Web apps let you build custom UIs and gate access with Google accounts.
Are published links indexed by Google?
They can be discovered if linked publicly. Do not publish secrets even if URLs are obscure.
Can I password protect a published sheet?
Google publish has no password. Use share settings, web apps, or an external wrapper if you need gating.

Related terms

embed sheets

Embedding shows a spreadsheet, chart, or range inside a website, Notion page, or Google Site without sending visitors to the full Sheets UI. You usually publish to web or use an iframe with a link Google generates, combined with sharing permissions that match your audience.

Read guide →

Google Sheets URL Hacks

URL hacks are extra parameters you add to a Google Sheets link to control what opens: a specific tab, a highlighted range, a prefilled form, or an export format. They save clicks when you embed links in docs, SOPs, or buttons. They do not bypass sharing: viewers still need access to the file.

Read guide →

revoke sheet access

Revoking access means removing a person or link from the share list so they can no longer open or edit the file. In Google Sheets you use the Share dialog to remove users, downgrade editors to viewers, or turn off anyone-with-the-link sharing. Revoke is essential when contractors finish, clients churn, or a link was posted publicly by mistake.

Read guide →

protect sheets/ranges

Protection limits who can edit specific cells, ranges, or entire tabs while others keep view or comment access. It is how you let teammates update input columns without touching formula blocks, summary rows, or archived data. Protection is not encryption; owners and editors with rights can still adjust protections.

Read guide →

Apps Script web apps

A web app turns your script into a URL that runs doGet or doPost when someone visits or posts data. The page can read and write your spreadsheet behind the scenes, which is useful for simple forms, internal tools, and lightweight APIs without standing up a separate server.

Read guide →