You've used your 2 free portal builds on this tool

Your last result is still on screen and copied. Members get unlimited formula, sparkline, regexmatch, regexreplace, and conditional formatting generators, plus courses and tutorials when you're stuck.

Free generations 2 / 2
  • Unlimited Formula, Sparkline, RegexMatch, RegexReplace, and Conditional Formatting generators
  • Step-by-step Google Sheets courses and tutorials
  • New tools and templates as they ship
Better Sheets

Portal Builder

Configure your sheet — code updates live below

2 free generations · Unlimited generations with membership

Row 1 — column headers

Copy row 1 in Sheets, click below, and paste — columns fill A, B, C…

Sheet options

Used in links like ?id=VALUE. Set from your unique ID column header (lowercase); edit to override.

Portal settings Active

Columns on the portal

Paste headers first

Choose which row fields appear in Page.html. The unique ID column can stay off the page if visitors only open direct links.

HTML sections (on / off)

Toggle optional blocks in Page.html. Row data above is separate from these sections.

In Apps Script, add an HTML file named Page (saved as Page.html) and paste the HTML from the panel below. Code.gs calls createHtmlOutputFromFile('Page') — the filename is fixed and cannot be changed here.

Code.gs and Page.html update live. Copy when the helper checklist is green through page title and at least one portal column. Finalize uses a generation and unlocks deploy actions.

Apps Script — Code.gs Live
Page.html Live