What is Sheet2Site?

Sheet2Site is a tool that will help you create a beautiful website from Google Sheets with pictures, text, filters and links. Make a website without writing code from just one Google Sheet.

What sites you can make?

You can make grid style sites, for example a list of cities, events, tools, equipment, etc.

Should I create a new webiste or Embed to existing?
  • If you already have an existing website you can embed Sheet2Site page to your website with a code snippet. It will keep your logo, navigation bar footer. It will be on a separete page like: yourwebsite.com/directory
  • Or you can create a entire website from scratch using templates. Each site will have navigation bar, header, filters, cards and details pages.

Why should I use Sheet2Site?

Because if you have an idea and you know basics of Google Sheets you can easily and quickly create a website and make your idea live without procrastination and pain

Getting Started

1. Install Sheet2Site Google Sheet Add-on:


2. Choose a template and wait until all data will be copied to your sheet:

3. Press "Update website".

You will open a link like this:
It's your website. This link will not change, so you can save it to use it the future.

4. Try to change the text in a "Header" tab to understand how it works:

5. Push changes to your website from a Google Sheet press "Update Website" or open the link if you saved it previusly, wait 15 secs and reload the page again.

Connect Custom Domain

1. Change DNS Settings

You can connect your Sheet2Site website in 3 different ways:

  1. Connect as a Root domain
  2. Connect as a Subdomain
  3. Embed to your existing website

Here are some instructions how to change DNS settings:

1.1 - Connect as a root domain

You can connect your root domain example.com to your sheet2site website in 2 different ways:

Please one choose that you like more:

  1. As naked domain: example.com
  2. As www domain: www.example.com


No matter what you will choose, the vistiros of your webiste will be redirect from www to naked and vise versa, so you will get all the visitors.

    Example: You connected naked domain example.com

    You open www.example.com
    You will be redirected to example.com

As naked domain:

To connect example.com please add these 2 records:

Type Host Value TTL
CNAME Record @ sheet2sitedns.com Automatic
CNAME Record www @ Automatic

  • If you can't add @ value to CNAME Record try do this:
    • Pease make sure that there is not existing A Record with @. If such record is exist please remove it and try again. This should works for GoDaddy.
    • Try to use you full website name example.com
    • If it still didn't work, please connect your domain as www
  • If you are using Cloudflare to manage your DNS, please switch from Proxied to DNS only for all Sheet2Site CNAME records:

As www domain:

If you already added naked domain records records, please ignore this step.

To connect www.example.com please add these 2 records:

Type Host Value TTL
CNAME Record @ www Automatic
CNAME Record www sheet2sitedns.com Automatic

1.2 - Connect as a Subdomain

You can connect your subdomain domain jobs.example.com to your sheet2site website in 2 different ways:

Please one choose that you like more:

  1. As naked domain: jobs.example.com
  2. As www domain: www.jobs.example.com

As naked subdomain:

To connect jobs.example.com please add these 2 records:

Type Host Value TTL
CNAME Record jobs sheet2sitedns.com Automatic
CNAME Record www.jobs jobs Automatic

As www subdomain:

If you already added naked subdomain records records, please ignore this step.

To connect www.jobs.example.com please add these 2 records:

Type Host Value TTL
CNAME Record www.jobs sheet2sitedns.com Automatic
CNAME Record jobs www.jobs Automatic

1.3 - Embed to your existing website

If you already have a website and want to embed your spreadsheet data in a visual way you can easily do it by adding a code snippet

Sheet2Site Embed support all major website builders such as Squrespace, Wix, WordPress, Weebly. It aslo support custom website build with code.

It will keep your logo, navigation bar footer. It will be on a separete page like: example.com/directory

You can embed your Sheet2Site page to your existing website with Sheet2Site Embed.

1.4 Check Your DNS

To check if you added DNS settings correctly please enter your domain (without http or https)

3. FAQ

3.1 How long does it take?

Connecting custom domain may take up to 24h but usually faster. Please be patient. I will message you after domain will be connected.

Please send me a screenshot once you are finished.

3.2 Do I need to buy custom domain?

Yes, you do. You can register domains on namecheap or on anyother domain provider.

.com domains are generally cheap and cost like $11 / year.

3.2 I have already an existing website on my own domain

You can embed it to your existing websitesite with Sheet2Site Embed.

Alterenativly, you can connect your subdomain like jobs.example.com and you can still keep your current home page example.com that will work independently or you can embed sheet2site into your page using code snippet.


If you already have a website and want to embed your spreadsheet data in a visual way you can easily do it by adding a code snippet

Sheet2Site Embed support all major website builders such as Squrespace, Wix, WordPress, Weebly. It aslo support custom website build with code.

It will keep your logo, navigation bar footer. It will be on a separete page like: yourwebsite.com/directory

Quick Test

To quickly check how it will looks on your website add this code snippet to your website with a sample data. It's just an sample, so you can't edit it.

How to embed Sheet2Site to your webiste?

Here is how you can create your own embed site with your own data:

  1. Sheet2Site Google Sheet add-on must be installed Install
  2. Template must be created
  3. Menu Add-ons -> Sheet2Site -> Embed in your website

  4. Copy code snippet

  5. Paste it into your website builder as embedded code. Let me know if you need any help.

Basics Concepts

Each Sheet2Site website consists of 1 Google Sheet. The website is updating automatically if there are any changes made in the sheet. The website is consist of parts like "Header", "Cards", "Description" and other. Each of this part is represented in a tab in the bottom of this Google Sheet. In tabs you can customize or hide some specific part of your webiste.


  • Layout - The live preview of your website where you can see how it will looks like. Here you can choose template for each of parts of your website or hide them.
  • Design - Colors and fonts of your website
  • Navbar - Navigation bar that located in the top of your website that allows you to connect multiple subpages and add the logo
  • Header - Header's main and secondary titles, hero image, call to actions
  • Filters - Filter settings for cards
  • Cards - The database of items of your website. It could be goods, items, job vacancies, events etc.
  • Extra Sections - Top and bottom extra section with text and image
  • Map - You can create an embedded map with locations
  • Footer - Footer settings of your webiste with links such as "Made by" or any other.
  • Settings - Here you can add integrations with Google Analitics, chat. Add SEO data, favicon icon and other.
  • Detaile Pages - List of detail pages of your website where you can add more infor about some specific item and it will be avalible on a link like: yourwebsite.com/detailpage
  • Advanced - Here you can add custom HML and Javascript for your website. For example you can add sharing buttongs.


In the Layout tab you can select a template of each parts of your website live preview of your website where you can see how it will looks like. Here you can choose template for each of parts of your website or hide them.

To open a link of your website you can click "Update Website" green button


Colors and fonts of your website. To change colors of your website, just as easy to change background color in Google Sheet:

  • Font Style
  • Header's background color
  • Header's button color
  • Header's button text color
  • Card's button color
  • Card's button text color
copy url

copy url

copy url

  • Link name: How user will see it in the navbar
  • Type of link: Link or button
  • Link destination / Sheet2Site URL: Sheet2Site link will link to a sheet2site subpage. This will be shown as yourwebsite.com/subpage. Also works with Google Forms and Typeform. External links will take visitors to another site
  • Link shown in address bar when clicked: This is a preview of how your sheet2site URL will look e.g. yourwebsite.com/subpage.

Header template

To change header template please go to the Layout tab and select the header template


Header titles


Call to action

You can add call to action buttons in the header. You can add a button with:

  • A link to external site
  • Mailchimp email subscribe form
  • A link to a detail page
  • A link to Typeform pop-up
  • A link to Google form pafe

In the Header tab Header Button Link and Header Button Link you can add your call to action button. It looks like this:



This is a database of the items of your website. It could be goods, items, job vacancies, events etc. It consist of title, secondary title, links to external websites or detail pages, images links, tags and filters categories:

copy url

You can add extra information to your card that will will be pop-up when the user will click on the card.

It's also works in embedded websites.

copy url

Just add this text information into Cards tab->Optinal data 3.

copy url


There are two types of filters:

  • Single filters
  • Multi filters

You can switch or hide them in the Layout tab.

Single Filters

Users can filter your cards by one single creteria. For example a brand name.

copy url

How to use:

  1. Layout tab -> Filters -> Single Filter
  2. Filters tab -> Add filter button names only unique
  3. Cards tab -> Filtering by this column -> Add filters with the same names as you named the filters buttons in the previus steps

Multi filters

Users can filter your cards based multiple creterias. For exampe "Brand Name" AND "Type" AND "Style" AND "Price"

copy url

How to use:

  1. Layout tab -> Filters -> Single Filter
  2. Filters tab -> Add unique filter button names.
  3. Cards tab -> Filtering by this column -> Add filters names for each card (comma separeted) with the same names as you named the filters buttons in the previus steps. Exaple: Audio-Technica, Over-ear, DJ


copy url

Check all available templates

What is a template?

Think about the customization of your website as Lego blocks. You can select different headers, cards, maps, text section that can be combined with each other, rather than standalone templates that are not editible.

I have built templates from these blocks, showing what you can build with Sheet2Site like Real-Estate, Events, Jobboard, Affiliate. But please don't be limited only to these kind of websites. Feel free to create anything that you want.

Can I change a template if I already choose it and start work on my site?

Yes. You can switch between templates in Layout tab.


To be able to add images to your website you need to host them somewhere. Here are some options:

Find in Google

The easiest way is just to find some images in Google Images, select image that you like make a right click and select Copy Image Address

Upload to ImgBB

ImgBB is a free hosting that you can upload your image and use on your website.

  1. Upload the image
  2. Emded codes: BBCode full linked
  3. Copy the link. it should looks like this [url=https://ibb.co/N6Fb3D1][img]https://i.ibb.co/8DmtBvz/download-1.png[/img][/url]
  4. Get only this part: https://i.ibb.co/8DmtBvz/download-1.png

Find on Unslpash

Unsplash is great website where you can find some beautiful, free images and photos that you can download and use for any project

Another cool thing that Unsplash support image editing on the fly by adding special parametrs into URL, so you don't need to use any software to edit your image.

Example: https://images.unsplash.com/photo-1525183995014-bd94c0750cd5?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=750&h=400&q=80&blur=80

  • &fit=crop: apply cropping to the image/
  • &w=750: width=750px
  • &h=400: heigh=400px
  • &q=80: quality of compression: 80%
  • &blur=80: apply 80% blur effect to the image.

Find on unDraw

undRaw is a open-source illustrations for every project you can imagine. You can even customize a color of your illustration.

Host on your Google Drive

It was not built to host images on the webiste, but you can still do it with with a bit of tricks:

  1. Upload the image to Google Drive
  2. Share
  3. Copy the link and open it in the new window (this link will not work)
  4. Press download
  5. Get the link. it should looks like this https://drive.google.com/uc?authuser=0&id=16tNzEGELfXdanDyfkuuH9hsO0o0dUkSy&export=download




To integrate Mailchimp to your Sheet2Site website you need to get the Mailchimp subscribe url.

  1. Open your Mailchimp account
  2. Lists -> Select a list (or create a new list)
  3. Signup forms
  4. Find copy/paste onto your site (code snippet). It should looks like this:

  5. Find the url in form action tag
  6. Copy the link (without quotes). Looks like this:
  7. Paste it to your Google Sheet -> settings tab -> Call to action button Link:


You can add a embeded Typeform that will pop-up when a user will click a link or a button

To add a typeform please add a typeform link like https://andreyazimov.typeform.com/to/fM7ndm in your Google Sheet navbar tab

Demo (click post a job in the top right corner)

Import Typeform to Google Sheet

Also you can automatically import result of your Typeform to Google Sheet

Open it from your Workspace, then click on Connect. Now you can see our integrations, so click on Connect in the Send responses to Google Sheets box.

Read more

Google Forms

You can add embeded Google Form to your website to be able to collect data from users. For example you want to make a post a job form for your vacancy website.

You can use Google Forms as a form builder, but the form on your sheet2site website will looks like a native form. Once the user will click on the botton the form will appears as a pop-up modal.

If you will make any changes in the Google Form it will automatically update in the form on your webiste.

How to add Google Form to your webiste:

1. Copy Google Form template

2. Add sheet2site@gmail.com as a collaborator:

3. Copy the link from your browser:

Link should looks like this (for edit Google Form not for preview it): https://docs.google.com/forms/d/1Hz4i_ie_0rxkIqPsRvOm4iDxprQdmvmcwlc193wXm-s/edit

Do not use these links:

  • Short links: https://forms.gle/oyhMhCefmsZJGYNNGA
  • Preview links: https://docs.google.com/forms/d/e/1FAIpQLSexQk1x0Tte2J_-mkEH-yqalmdLnMlAH68NogNLTGWx3gkHUQ/viewform

And paste it the navbar tab:

Important about Google Forms

1. Field types can be only: Short answer text

2. If you want to add an email field DO NOT press suggestion: Enable email collection setting. Just enter "Email" as a name of field and exit.

How to save responses to Google Sheet

You can save all your form responses to the Google Sheet. You don't need to use Zapier or any other third parties tools. Google Forms support Google Sheet export automatically and it can be setup just in a couple of seconds:

1. Go to responses tab in your Google Form and select "Create Spreadsheet"

2. You can create a new spreadsheet or select an existing one.

2.1 If you want to automatically add new responses your Sheet2Site website, please select your Sheet2Site Google Sheet:

3. You should see a new tab that was created in your Google Sheet.

4. Please move this tab to the most right corner of your Google Sheet (after Advanced tab):

5. If you want that new data that was submitted by your users showing automatically in your website, you need to connect your "Form Repsonses" tab to your Card" tab with a formula. Please keep in mind that each column in "Form Responses" tab should be mapped to column in "Card" tab:

You can use something like this:

={'Form Responses'!B6:B, 'Form Responses'!C6:C, 'Form Responses'!E6:E, 'Form Responses'!F6:F, 'Form Responses'!G6:G, 'Form Responses'!H6:H, 'Form Responses'!L6:L, 'Form Responses'!K6:K, 'Form Responses'!N6:N, 'Form Responses'!A6:A, 'Form Responses'!M6:M }

Also keep in mind that users can make mistakes when they are submitting the form so maybe try to not showing data immediately and check it manually first.

How to turn on email notifications for new responses in Google Forms

To know when some will submit the form you can active email notifications, otherwise you will need to open this form regulary to check if someone submit it or no.

How to enable Google Form email notifications if someone will submit the form

  • Create a new form forms.new or open an existing one
  • Responses
  • Click 3 dots
  • Get email notifications for new responses


You can add Javascript scripts to your website. It could be pretty useful to extend standart functionallity. For example:

  • Sharing buttons - to make visitors share your website in social media.
  • Discourse - allows users write comments on your website
  • Intercom - Live chat to talk to your users and send campaigns.
  • Facebook Pixel - snippet of JavaScript code that allows you to track visitor activity on your website. Could be usefull if you are running facebook ads.
  • Mailchimp pop-up window - if subscribe form in header is not enought you can add a pop-up that can be triggered when user spend on your website X seconds.
  • and much more...

How to add Javascripts to your website

  1. Open your Google Sheet
  2. Advanced tab
  3. Javascript Script

Javascript example (shareing buttons):

<script async src="https://platform-api.sharethis.com/js/sharethis.js#property=5d3b5f21f7ef3b00138e888b&product=" sticky-share-buttons"></script>

You have a possibility to choose where you want to add this script:

  • Before head tag close
  • Before body tag close

CSS Style

You can add custom css style. This mean that you can customize design of the website for your own neads. Just add style tag inside that custom script cell it will work.

For example let's say that you want to have different header image on mobile (not the same as on desktop)

@media (max-width: 601px) {
  .header {
    background: url('https://i.ibb.co/mTBwY60/Artboard.png') repeat !important;

Or another example might be that you want to have a sticky nav bar that will be attached to the top of the page while you are scrolling:

@media (min-width: 1200px) {
.navbar {
    top: 0 !important;
    box-shadow: 0px -3px 25px #CCCCCC;
    height: 65px;
    position: fixed;
    background-color: black;

How to add custom CSS style to your website

  1. Open your Google Sheet
  2. Advanced tab
  3. Custom Javascript (it's using the same cell for styles as for scripts.)

Text Formatting with HTML Syntax

To make your content look better, you can format it with basic HTML Syntax. You can add titles, lists, images, links and more by inserting these HTML tags in your Google Sheet, which will be displayed on your website.

For example let's say that you want to format your vacancy description:

You can add this code snippen to your decription:

    <h3>We would like to hear from you if you have...</h3>
        <li>A deep understanding of Agile frameworks and Lean principles, at the level of the principles and values,
            to enable appropriate application as well as innovation</li>
        <li>A strong ability to understand complex systems, relentlessly managing the technical and business risk
            landscape, anticipating and mitigating emerging issues </li>
        <li>Experience facilitating and leading continual planning processes in a complex and exciting environment
        <li>Proven experience on achieving goals and hitting deadlines, based on company-wide objectives, regardless
            of the obstacles</li>
        <li>An ability to facilitate, catalyse and lead organisational change and transformation, drawing on change
            management, organisation culture, organisation development and systems thinking</li>
        <li>A high level of emotional intelligence, excellent communication skills, ability to listen with empathy
            and enable people to act by increasing insight</li>
        <li>You’re excited to be part of the vibrant Delivery Community at Improbable, challenging and improving
            processes to increase the effectiveness of a team or division.</li>

Chat Integration

  1. Register in Crisp Chat
  2. Create a website
  3. Open settings page
  4. Choose your website
  5. Setup instruction
  6. Copy Website ID
  7. Open your Google Sheet. Main-tab page.
  8. Paste to Crisp Chat ID

You can use their iOS and Android mobile apps to stay in touch with your users

Amazon Affiliate

With Sheet2Site you can build Amazon Affiliate Websites. You can read more about Amazon Affiliate Program.

You can start with Business Template, but it's up to you what template will be better for you idea.

You need to find a niche of goods that you would like to sell. Let's say you want to sell books.

Example: thebooksbywomen.com

After you added all the books to content tab including: Name, Author, Image, Genre, Link

The link of a book should have your tag like: https://www.amazon.com/Yes-Please-Amy-Poehler/dp/006226835X/?tag=kalinasapps02-20/?tag=kalinasapps02-20

And finally you need to add your Amazon Affiliate ID to the settings tab that looks like this: 3e0ebe95-36bb-4b10-9a0c-e9c442d4d19

Google Analytics

To be able to aconnect Google Analytics to your website you need to setup a property and get a Get Tracking ID. Please check official documentation.

Tracking ID should looks like this: UA-51392658-9

After you get it please open your Sheet, settings tab and paste your Tracking ID to Google Analytics ID

To check if it's working open "Realtime" -> "Overview" and visit your website. You should see at least 1 visitor:

Links tracking

Sheet2Site allows you to see the stat of most clicked links from your website via Google Analytics.

After you setup Google Analytics open your website and click on some of your links (maybe 10-20).

How to check outgoing links:

  1. Behavior
  2. Events
  3. Pages
  4. Change the date that incuded today in the date picker (top right corner) to make sure that data is included:

  5. Select home page / in the table
  6. Outgoing Link:

  7. You should see all links that users clicked:

Data should updated in a couple of mins or less. You should see in your GA dashboard of links where clicks were performed.


You can add an embedded map to the bottom of you page with all the items

To add a map please go to the map tab in your Google Sheet and switch state to ON.

Maps settings:

  • Zoom Level - how close you want to show your map from 1 to 15, where 15 is the maximum zoom
  • Map center Long - your maps longitude cordinates
  • Map center Lat - your maps lattiture cordinates

Import JSON data into Google Sheet

A lot of good structured data is available through APIs like weather, ratings, currency rates and many more. APIs give you this data in JSON format and now it's possible to import JSON data directly into Google Sheet.

To be able to do it you need a custom function that called ImportJSON

  1. Open your Google Sheet -> Tools -> Script Editor
  2. Rename it to ImportJson.gs
  3. Delete the placeholder content
  4. Copy this script
  5. Paste to your script and save it (click save icon)

  6. Go back to your sheet and try to call the function from your cell:
    =ImportJSON("http://date.jsontest.com", "/date", "noInherit, noTruncate")

You should see something like this:

More information how to use it here. Thanks to @bradjasper who created it.

Detail pages

For SEO is important to not just have a one page website. Google likes websites with more pages and good content. To be able to do it, you can create more pages which will show detailed information about an item (goods, vacancy, event, etc).


You can create as much detailed pages as you want from 1 sheet. Just add titles, descriptions, links, images and buttos.

Detail Page Google Sheet


About page

You can add about page to your website to tell visiters more information about you and your website.

All your style, navbar links, footer will be populated from the Home page, so you don't need to copy paste it each time. Just change it in the home sheet.

How to create About page:

  1. Copy About page template
  2. File -> Publish -> Publish to the web
  3. Go to "Advanced tab"
  4. Add the link of your Home Google Sheet to Home sheet link (only for About page)

  5. Go to your home Google Sheet to Navbar tab and add sheet2site link.


The best way to know if people like your product is they're actually pay for it. Here are some ways how you can charge your clinets. You can add them as call to action button link.


PayPal button is probably the easiest way to get money. You can create a simple link with your name and the amount of money. Example: https://www.paypal.me/andreyazimovpay/9.99usd.

To create such a link open PayPal.me and follow the instructions



Gumroad is great payment systems for creators. You can charge your clients for single time payment products or with reccurent payments. Each product will have a special like like https://gumroad.com/l/awesomejobboard

With Gumroad you can withdraw money to PayPal.

To start using Gumroad please register there and add a product and a price.

Please read their official documentation about getting paid and other details.

Basic / Premium Plans

What is Basic / Premium?

Basic / Premium is a paid plan of Sheet2Site that allows you to build more custom websites connected to your domain without Sheet2Site branding. These plans have following features:

  • Brand new template design - customized specifically for your business like affiliate, job board, real estate, cafes, events, etc.
  • Search - by titles and description of the items (cards)
  • Navbar with subpages
  • Custom domain
  • 10 Subpages inside domain
  • Unlimited items per page
  • Removed "Made with Sheet2Site"
  • 2x faster page loading
  • Google Analytics
  • Chat to talk with your users
  • Custom scripts

Difference between Basic and Premium

The only difference is that Premium account allows to create 3 sites connected to 3 custom domains, while Pro only 1 website connected to 1 custom domain.


If your website worked before but now you see that some part of the webiste is missing like header or you see something like this:

This means that you changed the order of tabs in the Google Sheet. Please make sure that your all tabs of your Google Sheet are organized in the following order:

Content - Setting - Filters - Text section - Navbar - Design - Sponsored - Map - Updates

Can't find information / confused?

In case there is something missing in this doc or if some of the instructions are confusing please contact me through the chat in the bottom corner…