template

Gumroad Landing Page Generator

Turn one JSON config into a converting, self-contained Gumroad landing page. Offline, no API keys, yours to reuse for every product.

tree what-you-get/

  • ├── build_landing.py: turns a landing.json spec into a sanitizer-safe, Gumroad-embeddable HTML landing page
  • ├── Self-contained output: the cover image is inlined as a data URI, so the page has zero external image dependencies
  • ├── Accessible and mobile-first: skip-to-checkout link, focus-visible outlines, and reduced-motion support baked in
  • ├── Gumroad overlay wiring included: point the buy button at your product and the in-page checkout just works
  • ├── Worked example: a landing.json plus a pre-rendered example-landing.html so you see the output before writing a word
  • └── requirements.txt and a README with the full config schema: clone to a live landing page in minutes, needs only Pillow

A tiny local Python tool that turns a single landing.json config into a self-contained HTML landing page for any Gumroad product. No cloud tools, no build server, no internet at build time. The output is one HTML file you can host anywhere or paste straight into Gumroad’s custom-page editor.

The page uses the same dark/emerald Unstuck design used on this storefront: sanitizer-safe (it renders even if Gumroad strips the styles or scripts), accessible (skip link, focus outlines, reduced-motion), and mobile-first. Your cover image is inlined as a data URI, so the file has no external image dependencies.

Runs on Windows, macOS, or Linux. Requires Python 3.10+ and a single dependency (Pillow). Free to download and reuse for as many products as you like.

Want to generate the product itself, not just the page? The full Gumroad Product + Landing Kit adds a Markdown-to-PDF ebook renderer with bundled fonts and a one-command zip bundler, so you can turn a Markdown outline into a sellable PDF and its landing page in the same workflow.