NEW

Pulse 2025 Product Roundup: From Monitoring to AI-Native Control Plane

Exporting a Kibana Dashboard: PDF, PNG, NDJSON, CSV, and Embeds

Exporting a Kibana dashboard means one of four distinct operations: generating a PDF/PNG report (snapshot for stakeholders), exporting the saved object as NDJSON (migration between Kibana instances), exporting a panel's data as CSV (the underlying numbers), or generating a shareable link or iframe (live interactive view). The right export depends on whether the recipient needs a frozen view, the dashboard configuration, raw data, or live access. PDF/PNG and scheduled CSV reports are paid Elastic Stack features in self-managed deployments; NDJSON export and link sharing are part of the free tier.

When to Use Each Export Method

Need Method Tier
Static report for management/stakeholders PDF/PNG via Share menu Paid (Standard+ for self-managed; included in Elastic Cloud)
Migrate dashboard between Kibana instances Saved Objects -> Export (NDJSON) Free
Backup dashboards Saved Objects -> Export (NDJSON) Free
Raw data from a panel Panel -> Inspect -> Download CSV Free
Scheduled CSV report from Discover Share -> CSV Reports Paid
Share a live, interactive dashboard Share -> Permalinks (Short URL or Snapshot) Free
Embed in another web app Share -> Embed code (iframe) Free

The most common confusion: NDJSON exports the dashboard configuration (panels, queries, filters, layout) - not the underlying data. To move data, you snapshot/restore the Elasticsearch indices.

Step-by-Step Guides

Export as PDF or PNG Report

  1. Open the dashboard.
  2. Click Share in the toolbar.
  3. Select PDF Reports or PNG Reports.
  4. Configure layout:
    • Optimize for printing: adjusts margins and styling.
    • Portrait or Landscape.
  5. Click Generate report.
  6. Wait for generation (Kibana renders the dashboard server-side via Chromium).
  7. Download from the Stack Management -> Reporting queue when ready.

Notes:

  • Reporting requires the Kibana reporting plugin (enabled by default in 8.x but requires sufficient resources).
  • PDF reports honor the current dashboard filters and time range.
  • Generation time scales with panel count - keep dashboards under 12 panels for snappy reports.

Schedule Reports via Alerts

Schedule a PDF/PNG to be sent on a cadence or condition:

  1. Open the dashboard.
  2. Click Share -> PDF Reports -> Post URL to get the report URL.
  3. Navigate to Stack Management -> Rules and Connectors.
  4. Create a rule (any trigger - schedule, threshold, anomaly).
  5. Add a Send to Email connector with the report URL.
  6. Set schedule (cron expression or interval).

Scheduled reporting depends on which paid tier you're on. Self-managed Basic does not include scheduled reports; Elastic Cloud Standard and above do.

Export Dashboard Configuration (NDJSON)

For migration, backup, and version control of dashboards:

  1. Navigate to Stack Management -> Saved Objects.
  2. Search for or filter to your dashboard.
  3. Tick the checkbox next to the dashboard.
  4. Click Export X object in the toolbar.
  5. Choose options:
    • Include related objects: bundles the dashboard's visualizations, data views, saved searches.
    • Exclude: skip specific objects.
  6. Click Export to download the NDJSON file.

The NDJSON file is a newline-delimited list of JSON saved objects. Each line is one object with its type, ID, attributes, and references. Store this in version control alongside infrastructure-as-code.

For programmatic export via API:

POST /api/saved_objects/_export
{
  "objects": [
    { "type": "dashboard", "id": "your-dashboard-id" }
  ],
  "includeReferencesDeep": true
}

The response is the NDJSON content. Authenticate with an API key or service account.

Import a Dashboard NDJSON

On the target Kibana instance:

  1. Stack Management -> Saved Objects -> Import.
  2. Upload the NDJSON file.
  3. Choose conflict resolution:
    • Automatically overwrite conflicts: replace existing objects with the same ID.
    • Request action on conflict: prompt per object.
  4. Click Import.

Kibana reports any missing references (e.g., a data view that doesn't exist on the target). Resolve by either importing the prerequisite objects first or by remapping references during import.

Export Panel Data as CSV

For one-off CSV of a panel's data:

  1. Open the dashboard.
  2. Click the three-dot menu on a panel -> Inspect.
  3. Click Data tab in the inspector.
  4. Click Download CSV -> choose Formatted or Raw.

For larger CSV exports of search results, use Discover:

  1. Navigate to Discover, apply filters, select fields.
  2. Click Share -> CSV Reports (paid feature on self-managed).
  3. Configure and submit; download from Reporting queue.

CSV size limits are controlled by xpack.reporting.csv.maxSizeBytes (default 250 MB) and search settings xpack.reporting.csv.scroll.size / xpack.reporting.csv.scroll.duration in kibana.yml.

Share a Live Dashboard Link

  1. Open the dashboard.
  2. Click Share -> Permalinks.
  3. Choose:
    • Saved object link: stable URL that always reflects current state.
    • Snapshot link: bakes the current filters and time range into the URL.
  4. Optionally toggle Short URL for a compressed link.
  5. Copy and share.

Permalinks inherit Kibana authentication. The recipient must log in unless anonymous access is configured.

Embed a Dashboard via iframe

  1. Click Share -> Embed code.
  2. Configure embed options (layout, controls visibility).
  3. Copy the generated iframe HTML:
<iframe src="https://your-kibana/app/dashboards#/view/dashboard-id?embed=true&_g=()"
        height="600" width="800"></iframe>

Embeds inherit Kibana auth. For public-facing embeds you either configure anonymous access (security exposure) or proxy the embed through a service account.

Common Issues with Dashboard Export

  1. PDF/PNG generation fails or times out. Reporting needs Chromium and enough memory. Check kibana.log for ReportingError. Increase memory or reduce dashboard complexity.
  2. NDJSON import fails with "missing references." The target Kibana doesn't have the required data views or visualizations. Export with Include related objects checked, or import the prerequisites first.
  3. CSV export is truncated. Hit the size limit. Increase xpack.reporting.csv.maxSizeBytes, narrow filters, or scroll-based exports.
  4. Shared link doesn't work for recipient. Authentication or space-level permissions. The user needs at least read access on the dashboard and underlying indices.
  5. Reports show stale data. A scheduled report runs at its trigger time, not at dashboard view time. The "as of" date is in the report header; check it.

Operating Reports and Embeds in Production

PDF/PNG reporting puts real load on Kibana - rendering a 20-panel dashboard runs 20 Elasticsearch aggregations and a Chromium render in parallel. Scheduled report fleets can saturate the cluster.

Pulse tracks Elasticsearch query load, hot nodes, and shard imbalance, and correlates them with downstream Kibana behavior. When dashboard exports start timing out at scale, Pulse's agentic analysis identifies whether the bottleneck is the Kibana reporting plugin, a specific Elasticsearch query, or cluster-wide pressure - rather than just paging on the symptom.

Frequently Asked Questions

Q: How do I export a Kibana dashboard as PDF?
A: Open the dashboard, click Share -> PDF Reports -> Generate report. The PDF queues in Stack Management -> Reporting; download when ready. PDF reporting is a paid Elastic Stack feature (Standard+ on self-managed, included in Elastic Cloud).

Q: How do I move a Kibana dashboard to another Kibana instance?
A: On the source, Stack Management -> Saved Objects, select the dashboard, click Export with Include related objects checked. On the target, Saved Objects -> Import the NDJSON file. Resolve any missing data view references.

Q: What file format is a Kibana dashboard export?
A: NDJSON (Newline Delimited JSON). Each line is one saved object with its type, ID, attributes, and references. The export bundles the dashboard plus its dependencies (visualizations, saved searches, data views) when "Include related objects" is checked.

Q: Can I schedule automatic PDF reports from Kibana?
A: Yes, via the alerting framework: create a rule with a schedule trigger and a Post URL action pointing to the dashboard's report URL. Scheduled reporting requires a paid Elastic Stack tier (Standard+ self-managed, or Elastic Cloud).

Q: How do I export raw data from a Kibana dashboard?
A: Open the panel's three-dot menu -> Inspect -> Data tab -> Download CSV. For larger exports, use Discover -> Share -> CSV Reports with a defined field list and time range.

Q: Will an exported Kibana dashboard work in a different Kibana version?
A: Same major version: usually yes. Across major versions (7.x -> 8.x): saved object migrations may rewrite the export on import, but some plugins or features may not migrate cleanly. Always test imports in staging before production.

Q: Can I export multiple Kibana dashboards at once?
A: Yes. In Saved Objects, tick multiple dashboards, click Export X objects. The single NDJSON file contains all selected dashboards plus their dependencies.

Q: How do I embed a Kibana dashboard in a website?
A: Share -> Embed code generates an iframe snippet. The iframe inherits Kibana authentication, so anonymous public embedding requires explicit anonymous-access configuration in kibana.yml (security exposure to plan around).

Subscribe to the Pulse Newsletter

Get early access to new Pulse features, insightful blogs & exclusive events , webinars, and workshops.

We use cookies to provide an optimized user experience and understand our traffic. To learn more, read our use of cookies; otherwise, please choose 'Accept Cookies' to continue using our website.