Skip to content
| Marketplace
Sign in
Visual Studio Code>Data Science>mzML Chromatogram ViewerNew to Visual Studio Code? Get it now.
mzML Chromatogram Viewer

mzML Chromatogram Viewer

Kimura

|
2 installs
| (0) | Free
Open mzML and mzXML mass-spectrometry files in the editor: total ion chromatogram, extracted ion chromatograms, spectra, scan table and a file report.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

mzML Chromatogram Viewer

Open mzML and mzXML mass-spectrometry runs inside Visual Studio Code.

  • Chromatogram. Total ion current or base peak, by MS level. Click to pick a scan, drag to zoom, double-click to reset.
  • Extracted ion chromatograms. Type an m/z and a tolerance in ppm or Da. Several at once, with a legend.
  • Spectrum. The picked scan, top peaks labelled, with a peak list.
  • Scan table. Every scan: level, time, TIC, base peak m/z, precursor m/z, charge, window. Half a million rows scroll.
  • File report. Did the conversion work? Instrument, software, scan counts by level, polarity, time range, profile or centroid, whether peak picking really reached every level, whether the file's index was right, how many scans cannot be decoded.

Price

Free. No paid tier, no key, no account. Every command works for everyone.

What it is for, and what it is not

It is for looking: triage after a conversion, a quick check of a run, pulling one ion. It does not process, integrate, quantify or report, and nothing it shows should enter a regulated submission. It never writes to a data file.

JCAMP-DX is out of scope. The only JavaScript reader for it is licensed CC-BY-NC-SA-4.0, terms this extension cannot meet. Vendor formats (.raw, .wiff, .d) are out of scope too: convert with MSConvert first.

Large files

Nothing the size of the data is ever loaded. A file is indexed — from its own offset table when that is present and correct, by scanning when it is not — and scans are read one at a time. A 9 GB run opens with about 200 MB of memory. Whatever the number of scans, the chart on screen is at most mzml.chromatogramPoints points, reduced by min/max bucketing so that a one-scan spike survives.

A wrong offset table is common: it happens whenever a file is edited, joined or cut short after conversion. It is detected and ignored, and the file report says so.

Gzip

Plain gzip cannot be read at random. mzml.gzipPolicy decides what happens:

Value Behaviour
stream (default) Read front to back. Showing a scan inflates the file up to that scan. The viewer says so.
decompressToCache Inflate once into workspace storage and read that copy.
refuse Decline, and say why.

Things it tells you rather than hides

  • A truncated file: every scan before the break is shown, with the byte where parsing stopped.
  • A scan that cannot be decoded: named, counted in the report, and the others still work.
  • MS-Numpress and other compressions this build does not decode: named, skipped, not fatal.
  • A file with chromatograms and no spectra (SRM, MRM): its stored chromatograms are drawn.
  • A header that says "peak picking" over spectra that are still profile.

Commands

mzML: Open viewer · mzML: Extract ion chromatogram at m/z… · mzML: Clear extracted chromatograms · mzML: Show scan table · mzML: Go to scan number… · mzML: Export current trace as CSV · mzML: Export current spectrum as CSV · mzML: Rebuild scan index · mzML: File report

Exports are full resolution and in real units, not the downsampled picture.

Settings

mzml.xicToleranceUnit, mzml.xicTolerance, mzml.chromatogramPoints, mzml.msLevelFilter, mzml.maxInMemoryBytes, mzml.indexCacheEnabled, mzml.gzipPolicy.

Where it runs

In the extension host: under Remote-SSH that is the machine where the data is. Works offline. No server, no account, no telemetry. No WebGL: charts are SVG, so it works over a remote desktop with no GPU. The file is read without an XML parser, so external entities and entity expansion cannot happen.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft