Free in-browser tool — no upload, no account

FCS to CSV Converter

Drop an FCS file, pick channels, download CSV.
Works for FCS 2.0 / 3.0 / 3.1 / 3.2 from any instrument — BD, Cytek, Sony, Beckman Coulter.

Drop FCS file here or click to choose
FCS 2.0 / 3.0 / 3.1 / 3.2 · max practical ~500 MB in browser

🔒 Your file never leaves your computer. Parsing and CSV generation happen entirely in your browser.

Need more than a CSV?

FlowVision desktop adds gating, spectral unmixing, reproducible UMAP, MFI statistics, multi-file batch, FlowJo .wsp + Gating-ML 2.0 export, and offline workspace save. Windows + macOS, $99 lifetime.

Download FlowVision Free Trial

15-day full trial · No account · Windows 10 / 11 + macOS (Apple Silicon & Intel)

Why convert FCS to CSV?

Flow cytometry data is stored in the binary FCS (Flow Cytometry Standard) format — a specification maintained by ISAC. FCS files pack per-event measurements (forward scatter, side scatter, fluorescence channels) along with instrument metadata in a layout that is efficient for cytometry tools but opaque to general data tools.

A CSV export is the simplest bridge to Excel (older labs and teaching environments), R or Python pipelines that don't already use flowCore / FlowKit, collaborators outside flow cytometry who need to look at the numbers, and data archival in a human-readable format that won't depend on FCS reader software a decade from now.

What is an FCS file, exactly?

FCS is the universal output of flow cytometers. Every major instrument writes FCS — BD (FACSDiva, Chorus, FACSDiscover S8), Cytek (SpectroFlo on Aurora and Northern Lights), Sony (ID7000, FACSChorus), Beckman Coulter (CytoFLEX, DxFLEX, Kaluza). Versions in active use: FCS 2.0, 3.0, 3.1, 3.2. This converter reads all four.

What this tool exports

For compensated or spectrally unmixed CSV output, run compensation / unmixing in FlowVision desktop first, then export — desktop preserves the corrected values.

Frequently asked questions

Is my FCS file uploaded anywhere?

No. The conversion runs entirely in your browser via JavaScript. Your file is read into local memory, parsed, and the CSV is generated and saved locally — it is never sent to any server. You can verify this by opening your browser's Network tab and watching while you convert: there are no upload requests.

Which FCS versions are supported?

FCS 2.0, 3.0, 3.1 and 3.2 — the same coverage as the FlowVision desktop app. Supports $DATATYPE F (Float32), D (Float64) and I (Integer 8/16/32/64), little-endian and big-endian, list mode.

Is there a file size limit?

Practically, yes — browsers reliably crash above ~1.5 GB. The tool refuses files larger than 1.5 GB and warns for files larger than 500 MB. For the typical 50–500 MB conventional or 1–2 GB spectral file, the converter works in seconds. For 22M-event Symphony or large spectral panels, use the FlowVision desktop app which handles multi-GB files via memory-mapped streaming.

Can I convert compensated or spectrally unmixed FCS files?

Yes. The CSV contains whatever values are stored in the file. If your FCS file was already compensated or unmixed (e.g. exported from FlowJo or SpectroFlo with compensation applied), the CSV will contain the compensated/unmixed values. If the file has only raw measurements, the CSV is raw too. The tool itself does not apply compensation — for live compensation / unmixing, use FlowVision desktop.

How do I open the CSV in Excel, R, or Python?

Excel: double-click the file; Excel imports CSV automatically. For files with > ~1 million rows, Excel will truncate — use Power Query or split before opening.
R: df <- read.csv("file.csv") or faster: df <- data.table::fread("file.csv").
Python: df = pandas.read_csv("file.csv").

Why convert to CSV instead of using FlowJo or a dedicated tool?

For full gating, MFI statistics, batch analysis and reporting, FlowJo / FlowVision / FCS Express are the right tools. CSV export is for the cases when you need to step outside the cytometry tool ecosystem: feed events into a custom ML pipeline, hand off to a statistician who works in R/Python, share with a collaborator who does not have access to flow software, or archive the raw values in a format that will outlast specific reader software.

Does this work for files from BD, Cytek, Sony, Beckman Coulter?

Yes — FCS is an instrument-independent standard. Files from BD (FACSDiva, Chorus, FACSDiscover S8), Cytek (SpectroFlo on Aurora and Northern Lights), Sony (ID7000, FACSChorus), Beckman Coulter (CytoFLEX, DxFLEX, Kaluza) and Stratedigm all use the same FCS format. The converter uses the same parser as the FlowVision desktop app, which has been tested on production files from each vendor.

More free FCS tools

Inspect FCS metadata online — keywords, channels, compensation matrix →
Validate FCS integrity & fix $SPILLOVER errors →

← Back to FlowVision home