How to Upload Tableau Dashboard to GitHub

Cody Schneider8 min read

Putting your Tableau dashboards on GitHub is a powerful way to version control, collaborate, and build a professional portfolio of your data visualization work. If you've been focused on dashboard design, the idea of using a code repository might seem a bit intimidating, but the process is surprisingly straightforward. This guide will walk you through exactly how to upload your Tableau workbooks to GitHub, step by step.

GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Why Put Your Tableau Dashboards on GitHub?

Before we get into the "how," let's quickly cover the "why." You might be thinking your Tableau Public profile is all you need, but GitHub offers some distinct advantages that complement your existing workflow.

  • Version Control: This is the biggest benefit. Have you ever made a change to a dashboard, saved it, and then immediately wished you could go back? GitHub, powered by a system called Git, saves a complete history of every change you make. You can roll back to previous versions, compare changes over time, and experiment freely knowing you have a "saved game" to return to.
  • Collaboration: If you work on a data visualization team, GitHub makes collaboration clean and simple. Team members can work on different features of the same dashboard, merge their changes together, and review each other’s work methodically, preventing the messy "who has the latest version of Sales_Dashboard_v4_FINAL_Use_This_One.twb?" problem.
  • A Professional Portfolio: Tableau Public is fantastic for showcasing the final, interactive dashboard. GitHub is where you showcase the process and the structure. Including a GitHub link in your resume or portfolio shows potential employers you're proficient with modern development tools, understand version control, and take a structured approach to your analytics work.
  • A Detailed Project README: GitHub allows you to create a detailed README.md file for each project. This is your chance to write about your project, explain the data source, describe your methodology, share key insights, and even include screenshots. It adds valuable context that doesn't always fit neatly onto the dashboard itself.

Understanding What You're Uploading: .twb vs. .twbx Files

When you save your work in Tableau, you have two main file type options: a Tableau Workbook (.twb) and a Tableau Packaged Workbook (.twbx). The one you choose to upload to GitHub has important implications.

Tableau Workbook (.twb)

A .twb file is a simple XML document. If you open it in a text editor, you’ll see rows of code that define everything in your workbook: the sheets, the dashboards, the formatting, the calculated fields, and the data connection information. It does not contain the actual data itself - just the instructions on how to connect to it.

  • Pro: Because it's a text file (XML), Git can track changes line by line. When you modify a calculated field or change a chart type, Git can show you the exact lines of code that changed. This is ideal for true version control.
  • Con: A .twb file is useless to someone who doesn’t have access to the underlying data source. It’s the recipe, not the ingredients.
GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Tableau Packaged Workbook (.twbx)

A .twbx file is essentially a zip file. It bundles your .twb file together with all the necessary local data sources (like Excel files, CSVs), background images, and custom shapes used in your dashboard. It's a self-contained package that anyone with Tableau can open and interact with, even without the original data file on hand.

  • Pro: Perfect for sharing a complete, functional dashboard. Someone can download your .twbx from GitHub and open it immediately.
  • Con: Git treats it as a single binary file. It can tell you that the file has changed, but it can’t show you what inside it changed. You lose the granular, line-by-line version tracking. These files can also get very large.

So, Which One Should You Choose?

For collaboration and pure version control when working with a live data source, use the .twb file. For creating a public portfolio where you want others to download and open your work with its data included, use the .twbx file. A good strategy is to include the .twbx in your "main" branch for easy viewing, while you perform your version control work on the .twb file in a development branch.

Step-by-Step Guide to Uploading Your Dashboard

Ready to get started? We'll break this down into simple steps. This guide assumes you already have a Tableau dashboard, a GitHub account, and have Git installed on your computer.

Step 1: Create a New Repository on GitHub

A "repository" (or repo) is just a project folder on GitHub.

  1. Log in to your GitHub account.
  2. In the top-right corner, click the "+" icon and select "New repository."
  3. Give your repository a short, memorable name, like global-sales-dashboard.
  4. Add a brief description that explains the project.
  5. Choose "Public" so others can see it (essential for a portfolio).
  6. Important: Check the box to "Add a README file." This creates the file we’ll use later to describe your project.
  7. Click "Create repository."
GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Step 2: Clone the Repository to Your Computer

Cloning is GitHub's way of saying "download a linked copy of this project folder." You’ll do this using the command line (Terminal on Mac, or Git Bash for Windows).

  1. On your new repository's page, click the green "<> Code" button.
  2. Make sure the "HTTPS" tab is selected, and copy the URL provided.
  3. Open your command line application.
  4. Navigate to the directory where you want to store your project. For example, if you want to put it on your Desktop, you might type:
  5. Now, use the git clone command followed by the URL you copied:

You should now see a new folder on your computer named global-sales-dashboard. This folder is directly linked to your GitHub repository.

Step 3: Save Your Tableau Workbook in the Repository Folder

Now, let's get your dashboard into that folder.

  1. Open your dashboard in Tableau Desktop or Tableau Public.
  2. Go to File > Save As.
  3. Navigate to the repository folder you just created (e.g., on your Desktop).
  4. Choose whether to save as a .twb or .twbx file and give it a clean name like GlobalSales.twb.
  5. Click "Save."

Your Tableau file is now inside your local Git repository.

Step 4: Commit and Push Your File to GitHub

The final step is to "commit" (save a snapshot of your changes) and "push" (upload that snapshot) your file to the GitHub servers. We'll head back to the command line for this.

  1. Navigate inside your project folder using the command line:
  2. Use the git add command to "stage" your new file. This tells Git to include this file in the next commit. The period . is a shortcut for "all new or changed files":
  3. Now, commit the file with a descriptive message using the -m flag. This message acts as a historical note for what you changed:
  4. Finally, push your committed changes up to GitHub:

And that's it! If you refresh your repository page on GitHub, you will see your Tableau workbook file sitting right there, ready to be reviewed or downloaded.

Best Practices for Your Tableau GitHub Repo

Just uploading the file is a great start, but to make your repository truly professional and useful, follow these tips.

Flesh Out Your README.md File

Your README is the front page of your project. Don't leave it blank! Click the pencil icon on GitHub to edit it and include things like:

  • Project Title and Description: What is this dashboard all about?
  • Screenshot: Take a compelling screenshot of your dashboard and embed it in the README for a quick visual overview.
  • Link to Tableau Public: Provide a direct link to the interactive, published version on Tableau Public.
  • Data Sources: Where did your data come from? What kind of cleaning or preparation did you have to do?
  • Key Calculations: Briefly explain any complex calculated fields or key business logic you implemented.
GraphedGraphed

Still Building Reports Manually?

Watch how growth teams are getting answers in seconds — not days.

Watch Graphed demo video

Use Clear Commit Messages

When you update your dashboard and upload a new version, write a clear, concise commit message. Instead of "Updated," try "Fixed profit YoY calculation" or "Added regional filter to Sales tab." This makes your project history valuable and easy to read.

Embrace the Update Cycle

Get into the habit of using this workflow for all changes. When you want to update your dashboard:

  1. Pull Changes: Open your command line in the project folder and type git pull to make sure you have the latest version.
  2. Make Edits: Open the .twb or .twbx file, make your changes, and save it.
  3. Add, Commit, Push: Go back to the command line and repeat the git add ., git commit -m "Your new message", and git push cycle.

Final Thoughts

Combining Tableau with GitHub adds a layer of professionalism and technical discipline to your data visualization workflow. By managing your workbooks in a version-controlled repository, you're not only creating a backup and collaboration system but also building a more robust and technical portfolio that showcases your entire analytics process.

While GitHub is fantastic for managing finished work files, the process of creating and iterating on reports often involves a lot of manual work stitching data together first. We built Graphed to solve this by creating live dashboards in seconds. Instead of downloading CSVs and building charts manually, we allow you to connect your data sources directly and simply ask for the reports you need in plain English - like "create a dashboard comparing our Facebook Ad spend and Shopify revenue." Your dashboards update in real-time and can be shared with a link, letting you focus on the insights instead of the setup.

Related Articles