Skip to main content
Export Fiddler Sessions Like a Pro: Save, Share & Analyze Traffic
Performance Analysis6 min read

Export Fiddler Sessions Like a Pro: Save, Share & Analyze Traffic

Learn how to export Fiddler sessions as SAZ, HAR, and raw files for performance analysis, collaboration, and automation — with pro tips and troubleshooting.

Share:

Fiddler is the de facto standard for HTTP debugging across web and mobile development teams — and exporting sessions isn’t just about archiving traffic. It’s how you collaborate with QA, hand off performance bottlenecks to backend engineers, reconstruct API failures in staging, or feed raw HTTP/HTTPS traffic into external analysis tools like Wireshark, Postman, or custom Python scripts. When your team needs reproducible evidence — not screenshots or vague descriptions — exported Fiddler sessions become your most trusted artifact.

Whether you’re diagnosing slow third-party API calls, validating HTTPS decryption correctness, or benchmarking frontend resource loading, knowing how, when, and what to export makes all the difference. This guide walks through every major export method in Fiddler Classic (v5.0+), with real-world context, pitfalls to avoid, and pro tips used by senior SREs and performance engineers.

Why Exporting Sessions Matters Beyond Saving Logs

A Fiddler session contains far more than request/response bodies: timestamps, cache headers, TLS negotiation details, WebSocket frames, client IP metadata, and even decrypted HTTPS payloads — provided HTTPS decryption is configured correctly. Exporting preserves this fidelity. Unlike browser DevTools network tabs, Fiddler captures all traffic — including background syncs, prefetches, and native app calls routed through its proxy.

Exporting also enables cross-tool workflows. For example:

  • Load .saz files into JMeter for replay-based load testing.
  • Parse .har exports in Python using haralyzer to compute TTFB distributions across 100+ requests.
  • Share .raw exports with security analysts who need unprocessed binary streams for signature validation.

Without proper export discipline, you risk losing critical context — especially when troubleshooting intermittent issues that vanish after a restart.

Exporting as SAZ (Session Archive Zip)

The .saz format is Fiddler’s native, lossless archive. It stores everything: requests, responses, inspector tabs (TextView, WebForms, JSON), custom flags, comments, and even breakpoints.

Step-by-step:

  1. In Fiddler, select one or more sessions in the Web Sessions list (Ctrl+Click or Shift+Click).
  2. Right-click → Save → Selected Sessions → As Archive…
  3. Choose a filename (e.g., checkout-flow-20240522.saz) and click Save.

Best for: Long-term storage, team handoffs, and full-fidelity replays.

⚠️ Caveat: .saz files are not human-readable. To inspect contents without Fiddler, extract with 7-Zip (it’s a ZIP archive containing XML + binary blobs). The SessionArchive.xml inside lists metadata; _Raw subfolders hold raw request/response bytes.

💡 Pro tip: Before exporting, use Rules → Customize Rules… (Ctrl+R) and add logic to auto-flag sessions matching patterns (e.g., oSession.hostname == "api.payments.example.com" && oSession.responseCode == 500). Flagged sessions export cleanly and help triage later.

Exporting as HAR (HTTP Archive)

HAR is the universal, JSON-based standard supported by Chrome DevTools, Firefox, curl, and dozens of open-source analyzers. It’s ideal for cross-platform collaboration and automated parsing.

Step-by-step:

  1. Select target sessions.
  2. Right-click → Export Sessions → All Sessions → HTTP Archive (HAR)…
  3. In the dialog, check Include encrypted HTTPS traffic only if HTTPS decryption is active and trusted. Uncheck it to export TLS-encrypted payloads (useful for security review).
  4. Click Save.

Best for: Sharing with frontend teams, feeding into Lighthouse or WebPageTest, or running batch latency analysis.

⚠️ Gotcha: HAR does not preserve Fiddler-specific metadata (e.g., custom columns, breakpoints, or inspector tab state). Also, large HAR files (>200 MB) may crash some viewers — filter sessions first using Fiddler’s Filters tab or column-based sorting (e.g., sort by Result then select only 4xx/5xx).

💡 Pro tip: Use the QuickExec box (bottom-left) to run export har C:\temp\filtered.har @status>400 — this exports only error responses directly from the command line.

Exporting Raw Request/Response Files

When you need byte-perfect copies — say, to validate base64-encoded image payloads or debug binary protocol mismatches — raw exports give you unaltered streams.

Step-by-step:

  1. Select a session.
  2. Switch to the Inspectors tab → Raw sub-tab.
  3. Right-click either Request or Response pane → Copy as → Raw Text (for ASCII-safe) or Save As… (to write .txt, .bin, or .jpg directly).

For bulk exports:

  • Go to File → Export Sessions → Selected Sessions → Raw Files…
  • Choose output folder, naming convention ({seq}-{url} is recommended), and whether to include request, response, or both.

Best for: Binary asset validation, malware analysis prep, or feeding into diff tools like vimdiff or meld.

⚠️ Warning: Raw exports skip charset decoding. If a UTF-8 response contains non-ASCII characters and you save as .txt, Notepad may misrender it. Always verify encoding in the Headers inspector (Content-Type: text/html; charset=utf-8) before saving.

Exporting for Performance Analysis Workflows

Performance engineers rely on exported data to isolate regressions. Here’s how top teams integrate Fiddler exports into their pipeline:

1. Measuring Real-World TTFB & Resource Breakdown

  • Export HAR after recording a full page load (including XHR, fetch, and async scripts).
  • Upload to WebPageTest or parse locally:
    from haralyzer import HarParser
    with open('load.har', 'r') as f:
        har_parser = HarParser(json.load(f))
    for page in har_parser.pages:
        print(f"TTFB avg: {page.pagetimings.get('onContentLoad', 0)}ms")
    

2. Comparing Before/After Deployments

  • Record identical user flows pre- and post-deploy.
  • Export both as .saz, then use Fiddler’s Compare Sessions (right-click → Compare) to spot header changes, new redirects, or altered cache-control directives.

3. Automating Export via FiddlerScript

Add this to CustomRules.js to auto-export on stop:

static function OnBeforeShutdown() {
    var sazPath = "C:\\fiddler-exports\\" + System.DateTime.Now.ToString("yyyyMMdd-HHmmss") + ".saz";
    FiddlerApplication.Log.LogString("Auto-exporting to " + sazPath);
    Utilities.WriteSessionArchive(sazPath, null, null, false);
}

This eliminates “I forgot to save” moments during critical outages.

Troubleshooting Common Export Issues

❌ “Export options grayed out”

  • Cause: No sessions selected, or you’re in Streaming mode (which buffers nothing).
  • Fix: Click File → Capture Traffic to ensure capture is active, then reload the flow. Disable streaming via File → Preferences → Streaming → Uncheck “Stream large responses” if needed.

❌ “HAR export missing HTTPS bodies”

  • Cause: HTTPS decryption isn’t enabled or the root certificate isn’t trusted system-wide.
  • Fix: Confirm Decrypt HTTPS traffic is checked under Tools → Options → HTTPS, then run Actions → Trust Root Certificate and restart Fiddler.

❌ “SAZ won’t open in newer Fiddler versions”

  • Cause: Legacy .saz files saved in Fiddler v2.x may lack UTF-8 support for Unicode URLs.
  • Fix: Open in legacy Fiddler, re-export as .saz or .har, or use FiddlerCore to script a conversion.

Key Takeaways for Every Developer & Tester

  • Use .saz for fidelity, .har for interoperability, and .raw for binary precision. Never default to one format — match the export to the analysis goal.
  • Always filter before exporting. A 10,000-session trace is useless if you’re only investigating /api/v2/orders. Use Fiddler’s Host, Result, or URL filters aggressively.
  • Validate HTTPS decryption before exporting sensitive traffic. An incomplete trust chain means your HAR will show <encrypted> instead of JSON — and that breaks every downstream tool.
  • Automate exports for repeatable performance tests. Whether via QuickExec macros or FiddlerScript, removing manual steps reduces noise and increases reliability.

Exporting Fiddler sessions isn’t administrative overhead — it’s how you turn ephemeral network activity into auditable, shareable, and actionable engineering intelligence. Master these methods, and you’ll spend less time recreating bugs and more time solving them.

For deeper fiddler debugging techniques, explore our more tutorials. Looking for advanced optimization patterns? browse Performance Analysis tutorials. Need help configuring export pipelines for your CI/CD stack? contact us.

Share:

Related Topics

fiddler tutorialfiddler debugginghttp debuggingfiddler proxyhttps decryption

Get Fiddler Tips & Tutorials

Stay updated with the latest Fiddler tutorials, HTTP debugging guides, request modification tips, and web traffic analysis techniques.

Free forever. New tutorials published daily.

Related Articles