How to export your data from Tableau before a move
Tableau documents REST API methods for workbooks, view data and images, but it does not document a single bulk export of everything on a site. A complete move therefore means combining several methods: Download Workbook for .twb or .twbx files, Query View Data for CSV output, Download View Crosstab Excel for .xlsx output, and PDF or PowerPoint exports for reference copies. Each method has its own permission and scope limits, and none of them replaces the data sources behind the workbooks. Start by inventorying which content you actually need to keep, because the API returns what the signed-in account can see, not what the site holds.
The download method is the one most teams need first. Its includeExtract parameter controls whether large extracts travel with the workbook, and the method requires the ExportXml permission. A .twb file is plain XML that references its data sources, so it carries the layout and calculations but not the rows. Where a workbook depends on a .twbx package, check what it contains before you assume the data came with it. Confirm extract handling for each workbook in a test download, because the API reference does not give a rule for every case and your site's configuration may differ.
Two limits apply to view data. Query View Data returns CSV with a default cache of 60 minutes and, for dashboards, returns only the first view's data. Crosstab Excel has the same first-view limit and needs both Read and ExportData permissions. Map every dashboard to its underlying views now, and plan a separate export for each sheet that matters. Because Tableau term licenses stop working when the subscription lapses, run this export while the subscription is active, and ask your Tableau account team to confirm the export permissions for each service account before the renewal date.
Which Tableau content exports and through which method
This table maps each Tableau content type to its REST API method, output format, required permissions and dashboard limits. Read it before scripting a bulk export, because the dashboard limits decide whether you get every sheet or only the first one.
| Content type | REST API method and version | Output format | Permissions and dashboard limits |
|---|---|---|---|
| Workbook definition | Download Workbook, API 2.0 and later | .twb (XML) or .twbx file, stored as plain text | Requires the ExportXml permission. Use the includeExtract parameter to leave large extracts out of the download. |
| Workbook with extract | Download Workbook with includeExtract set | .twbx package containing the extract | Requires the ExportXml permission. Extracts can be large, so confirm storage capacity before a bulk run. |
| View data as CSV | Query View Data, API 3.23 and later | CSV with a default cache of 60 minutes | For dashboards, returns only the first view's data. Export each sheet separately if you need the rest. |
| Crosstab Excel | Download View Crosstab Excel | .xlsx file | Requires Read and ExportData permissions. For dashboards, includes only the first view's data. |
| PDF or PowerPoint | Export to PDF or PowerPoint through the REST API for views and workbooks | PDF or .pptx for reference copies | Requires Read and ExportImage permissions, and Download Images/PDF enabled on the workbook (the default). |
| Extract data from Hyper files | Use the Hyper API alongside REST export | Hyper extract files | Confirm the method and access rights in your own Tableau environment before planning a bulk run. |
What does not export and what to do about it
The documented export paths carry workbook definitions and view outputs, but several things stay behind or arrive partial. Each card below names one gap, the documented tooling that narrows it, and what to confirm in your own Tableau site before you rely on the export.
Large extracts left out
The Download Workbook method includes an includeExtract parameter, and setting it to leave extracts out keeps large Hyper data out of the download. The result is a .twb or .twbx that points at data you no longer hold in Tableau. Confirm which workbooks rely on extracts, then export their source data separately through the Hyper API or the upstream database before cutover, so the new BI tool can query that data directly.
Dashboard data from the first view only
For dashboards, Query View Data and Download View Crosstab Excel return only the first view's data. Every other sheet in a dashboard is missing from those outputs. To capture the rest, list the views in each dashboard through the REST API and query each view by its own ID, then store the results with the dashboard name and sheet name. Confirm the view count per dashboard in your site before you plan the scripts.
Cached CSV view data
Query View Data returns CSV from a server cache with a default of 60 minutes, so a view can show figures that are slightly older than the live source. Exports taken during a refresh window may not match the database at the moment you run them. Schedule the export after the extract refresh completes, and reconcile row counts against the source query for a sample of views before you sign off on the data.
Permissions that block the export
Each path needs its own permission: ExportXml for Download Workbook, ExportData for crosstab Excel, and ExportImage for PDF or PowerPoint. A user with Read access alone can open a view but may be unable to export it. Use a service account with only the export permissions needed for the migration, and confirm in your site that the account can reach every project, since a single missing grant leaves a gap that only shows up in the export log.
Outside workbook files and view outputs
Data source definitions, permissions, subscriptions, comments, alerts, and user-level filters live in the Tableau server rather than inside the workbook file, so they do not travel with a .twb or .twbx. The Download Workbook and view export paths do not carry them. Inventory these objects through the REST API or the server's admin views, and recreate the ones you need as Superset datasets, roles, or Metabase permissions.
Rendered PDF and PowerPoint limits
PDF and PowerPoint exports work only when the workbook has Download Images/PDF enabled, which is the default. A workbook where an owner has turned that option off produces no file. These renders are static pictures for reference, not reusable content, so they do not replace the .twb or view data. Check the setting on each workbook and treat the PDFs as an archive for stakeholders rather than a migration source.
The sequence for a complete Tableau export
This sequence turns a Tableau estate into a complete, verified set of files and data outputs that you own before any license lapses or migration starts. Each step closes with a check, so gaps show up while the source is still accessible.
Inventory workbooks, data sources and permissions
The Tableau site administrator lists every workbook, project, data source and extract on the server or site, along with its owner and the groups that can see it. Save the list as a CSV in a controlled location. Done means the inventory row count matches what the administrator sees in the server's content views, and every workbook has a named owner. Owners who have left the company should be reassigned before export, because download permissions depend on the account that runs the request.
Confirm each user's role and export rights
Map every account to its license role (Display, Viewer, Explorer or Creator) and its project or workbook permissions. The export methods need specific capabilities: ExportXml for workbook downloads, ExportData for crosstabs, and Read with ExportImage for PDF or PowerPoint. The administrator records which accounts hold each right. Done means each export account can perform a test call that returns content, and any workbook it cannot reach is logged as a gap to resolve with its owner.
Download workbooks with and without extracts
Using the REST API Download Workbook method, the administrator retrieves each workbook as a .twb or .twbx file. Run one pass with extracts included and, where extract size is a concern, a second pass with the includeExtract parameter set so large extracts are left out. Note that .twb files are plain-text XML and store no data. Done means every workbook in the inventory has a saved file, and each file's size and name are logged so the set can be compared with the inventory in later steps.
Pull view data as CSV
For each view, the export account calls the Query View Data method, which returns the underlying data as CSV from REST API 3.23 onward. Views on dashboards return only the first view's data, so each sheet that matters needs its own call. Cached results can persist for the default 60 minutes, so run the calls close together and record the time of each pull. Done means each view has a CSV file, and its row count is written to the manifest for comparison against the source in the final step.
Export crosstabs as Excel per view
The Download View Crosstab Excel method produces .xlsx files for views that need a formatted summary. It requires Read and ExportData permissions, and on dashboards it again covers only the first view. Export each crosstab-worthy view separately and keep the file name tied to the workbook and view IDs. Done means every planned crosstab exists and opens, and the totals on a sample of cells match the same view on the Tableau server.
Export PDF and PowerPoint references
Where users need a visual record, the administrator exports PDF or PowerPoint versions with Read and ExportImage permissions. These exports depend on the workbook having Download Images and PDF enabled, which is the default, so confirm that setting on each workbook first. Treat these files as reference copies for audit and stakeholder review, not as a substitute for the workbook and data files. Done means each exported file has a matching entry in the manifest and a page count noted by the reviewer.
Store outputs with checksums and a manifest
Move every file into a storage location under your control, and generate a SHA-256 checksum for each file. Record the workbook ID, view ID, export method, time, account used and checksum in one manifest. Keep the storage location under access controls that match the source data's classification. Done means the checksum list can be re-run on the stored copy and returns identical values, confirming that no file changed in transit.
Verify counts against the source
Compare the manifest against the original inventory and the live Tableau content. Every workbook should have a file or a logged exception, every planned view should have data, and row counts in the CSV files should match the figures the source returns for the same filters and date ranges. Investigate any difference before the source license is changed. Done means a reviewer has signed off on the exceptions list, and no workbook or view is missing without a recorded reason.
How to verify an export is complete
Treat every export as unverified until you have compared it with the live Tableau content. Start with the workbook files: a .twb or .twbx returned by the Download Workbook method should open in Tableau Desktop or be inspected as XML, and you should check that every sheet, dashboard, calculated field and data source named on the live workbook appears in the file. Record the includeExtract setting used for each download, because a .twbx downloaded without extracts will not carry the data behind them. Those workbooks need their extracts sourced again from the original databases, so the missing extracts belong on your exclusion log.
Next, reconcile the view data. Compare the CSV from Query View Data and the Excel crosstab from Download View Crosstab Excel against the live view, filtered to the same settings, and check row counts and totals for a sample of measures. Remember that Query View Data serves a cached result by default, so a stale cache can make a correct-looking file differ from what users see today. For dashboards, both methods return only the first view, so every other sheet needs its own export or an entry in the log. The same applies to PDF and PowerPoint output, which should be checked page by page against the dashboard.
Keep a written exclusion log for each run: workbook name, method, parameters, permissions used, extracts left out, dashboard sheets not captured and the person who signed off. Verification is your organization's responsibility, and it can be scoped as part of a written engagement with an implementation partner, with the checks and sign-off agreed before work starts. Confirm the permission requirements (ExportXml, ExportData, ExportImage and Read) for your service account in your own Tableau site, since a missing permission can produce a partial export without an obvious error.
What to plan before the Tableau subscription ends
Tableau term licenses stop working when the subscription lapses, so the export work has a hard edge. The cards below cover the decisions that connect the renewal date to the export window: what must finish while licenses are active, who needs export rights, how long parallel running should last, and what a short renewal actually buys.
Finish exports while licenses are active
Term licenses stop working when the subscription expires, unlike legacy perpetual keys that keep running after maintenance lapses. Every bulk export you need, including workbook files and view data, must complete before that date. Confirm the end date for each Tableau Server or Tableau Cloud site in writing, and schedule the export runs with enough margin to re-run failed items. Treat an expired license as a cutoff, not a grace period you can count on.
Confirm export rights by role
Tableau's term licenses come as Display, Viewer, Explorer and Creator, and only Creator includes Tableau Desktop. The REST methods need specific permissions: workbook downloads need the ExportXml permission, crosstab Excel needs Read and ExportData, and PDF or PowerPoint needs Read and ExportImage. Audit which accounts hold these capabilities on each project, because a Viewer or Explorer account may not be able to pull content that a Creator can. Ask the administrator who will run the export script and confirm that account's rights before the renewal window opens.
Plan parallel running
Run Superset or Metabase beside Tableau for a defined period so users can compare figures before cutover. Parallel running means both platforms read the same warehouse, which adds database load and needs an agreed owner for each dataset. Decide early which dashboards must match Tableau numbers exactly and which can change, because that choice sets how long the overlap needs to last. Keep the Tableau site read-only near the end so late edits are not lost.
Keep extracts in scope
Workbooks that depend on Tableau extracts need a plan for the data behind them, not only the .twb or .twbx file. The Download Workbook method has an includeExtract parameter that can leave large extracts out of the download, so an export without extracts does not preserve the data. Inventory which workbooks use extracts, where the source tables live, and whether the original databases remain available after the subscription ends. Hyper extracts may need separate handling through the Hyper API.
Ask what a short renewal buys
A short renewal extends the window in which licenses keep working, which can cover the export and parallel-running period. Before signing, ask the vendor for the exact end date, whether the term can be shortened or extended, what happens to user access and content on expiry, and whether any data retrieval window is offered. Do not assume a renewal price or term; get those in a written quote. Compare that quote with the scope and timeline of the migration plan.
Questions teams ask before exporting from Tableau
Can our team export Tableau content without outside help?
Yes, a team with Tableau administrator access and someone who can run scripts against the REST API can export workbooks and view data in-house. The work is mostly inventory and scripting: listing workbooks and views, calling the download methods, and checking each output. Smaller estates with few data sources and few dashboards are usually manageable internally. Teams should confirm that the account used has the ExportXml permission for workbook downloads and the Read and ExportData or ExportImage permissions for the other formats, since those permissions are set per content item and can be missing from some workbooks.
What makes a Tableau export take longer or cost more?
Effort rises with four drivers: the number of workbooks, the size of the extracts, the number of dashboards, and how permissions are set across projects. Workbook downloads can include extracts, which can be large, so the includeExtract parameter is a key decision. Dashboards add work because view data and crosstab exports only return the first view for each dashboard, so each additional view needs its own call. Permission gaps add rework because a failed call usually means a missing permission rather than a broken workbook. Ask any provider to size the work from a count of workbooks, views, extract volume and permission exceptions.
What do Tableau admins and workbook owners need to provide?
Admins need to provide a service account with the right site role and permissions, access to the content inventory, and a decision on which projects and sites are in scope. Workbook owners need to confirm which dashboards are still used, which data sources must stay in the export, and whether any workbook contains data that should not leave its current location. Owners also need to flag dashboards with filters or parameters that users depend on, because a raw export does not carry the viewing context that was agreed for reports. Agree on these inputs before any export runs so that rework stays low.
How long does a Tableau export project take for a large estate?
The duration depends on the estate size, the number of exceptions and how quickly owners answer questions, and no fixed figure applies across organizations. A small site with a short list of dashboards can be inventoried and exported in a short working session, while a multi-site estate with many extracts and owners needs a staged plan. Teams should ask for a timeline that separates inventory, export runs, validation of outputs and sign-off by owners. Any timeline should be written against the agreed scope and the actual counts in your environment.
Are PDF exports enough to keep Tableau dashboards for records?
PDF and PowerPoint exports are useful for reference, but they are not a full record of a dashboard. They capture a rendered snapshot with the filters and parameters applied at export time, and they need the Read and ExportImage permissions, and the workbook must have Download Images/PDF enabled, which is the default. They do not preserve the underlying data, calculations or the ability to re-run a view. If a retention or audit requirement applies, keep the workbook files, the view data exports and the PDFs together, and have your compliance lead decide which artifacts satisfy the requirement.
Which export format should we pick for each type of content?
Choose the format by what must survive the move. Workbook downloads return a .twb or .twbx file, which keeps the workbook logic, and a .twbx also packages local files; both are plain-text XML or archives that can be inspected and version-controlled. View data exports return CSV with a default cache of 60 minutes, which suits tabular records but not formatting. Crosstab Excel exports suit people who need spreadsheets. PDF and PowerPoint suit presentation and reference. Most estates need more than one format, and each format should be listed in the inventory with its owner and purpose.
When is it worth scoping an export as a fixed-scope engagement?
A fixed-scope engagement makes sense when the estate is large, when extracts are sensitive or large, when permissions are inconsistent across sites, or when the internal team does not have time to script and validate exports before a renewal date. DeployOpen plans and implements these exports inside the client's own infrastructure, and most engagements are scoped in writing before work starts, so deliverables and timelines are agreed up front. DeployOpen does not publish prices, so a quote follows from that written scope. Ask any provider to define the inventory, the export methods, the validation steps and the handover of outputs.
What should we confirm about Tableau licenses before exporting?
Confirm the license type and the expiry date for each Tableau Server deployment before the export starts. Tableau term licenses stop working when the subscription expires, so exports should run while the subscription is active. Legacy perpetual licenses behave differently, so the license record matters. Check with your Tableau account team or the license documentation whether any role or add-on limits affect the account used for exports, since role-based term licenses come in Display, Viewer, Explorer and Creator types.
Where the exported files go next
The file format you export determines how much rework lands on your team after the move. A .twb or .twbx file from the Download Workbook method carries the workbook's structure, sheets, calculated fields and data source connections in XML, so it shows the logic you must rebuild. A .twbx also packages the data extract if you choose to include it, while the includeExtract parameter can leave large extracts out. Treat the workbook file as a specification to read, not a file that will open in Superset or Metabase. Plan for the Apache Superset path (see the sibling migration page) to recreate each data source as a dataset and rewrite calculated fields in SQL, and for the Metabase path to rebuild the same logic as saved questions and dashboards.
CSV and crosstab Excel outputs are different. They contain the rows and values behind a view, not the design behind it, so they work well as reconciliation baselines and as seed data for a staging database. Each export returns only the first view's data for a dashboard, so confirm which views carry business-critical numbers and export each one separately. Ask whether those figures already exist in the warehouse that Superset or Metabase will query, because loading a flat file into the new tool is rarely the right long-term source. PDF and PowerPoint exports serve as a visual record for users who need to check layouts during cutover, not as migration inputs.
Before you archive any file, check that it is complete and readable: compare row counts and key totals against the live view, confirm that the owner and permission set of each workbook is recorded, and store the exports under the same access controls as the source data. Your migration owner should then map each file type to a sibling page and a named rebuild task, so that nothing depends on a single person's memory of how a dashboard was built.
How DeployOpen scopes and delivers a Tableau export
DeployOpen treats the export as a fixed-scope piece of work: we agree in writing which workbooks, data sources, views and permissions are in scope before anything is downloaded. The output is a documented, inventoried export that your own team or a self-hosted BI platform can pick up without depending on the original server.
How we scope
- Inventory every workbook, project, view and data source on the Tableau Server or Tableau Cloud site before exporting.
- Record which users hold Creator, Explorer, Viewer or Display roles so export permissions can be confirmed per account.
- Agree in writing whether extracts are in or out, since the Download Workbook includeExtract parameter controls large extracts.
How we build
- Script the Download Workbook calls as .twb or .twbx files, and confirm that the ExportXml permission is granted to the account running them.
- Export view data as CSV and crosstab Excel, and split dashboards into per-view outputs because those methods return only the first view.
- Test PDF and PowerPoint exports on a sample of dashboards where Download Images/PDF is enabled, and log every failure.
How we hand over
- Deliver a manifest listing each exported file, its source workbook, its permissions and any gaps that need manual rebuilding.
- Document the scripts, API versions and credentials handling so your team can rerun the export during the migration window.
- Walk your engineers through the outputs and confirm that the files open in your target tool before the engagement closes.
How we support
- Offer ongoing support and periodic re-exports as a retainer if workbooks keep changing during the migration.
- Keep a change log of re-runs so that the final export set matches the state of the source content at cutover.
- Confirm with your Tableau administrator the subscription end date, because term licenses stop working when the subscription lapses.

