Volcano Plot — Differential Expression Visualization
Plot log2 fold-change vs. significance from a DESeq2/edgeR/limma table, with draggable thresholds.
🔒 Nothing you paste is logged or stored
Paste a differential-expression results table — from DESeq2, edgeR, limma or any tool that outputs a gene, a log2 fold-change and a p-value — and see it as a volcano plot instantly. Column names are auto-detected (including common aliases like log2FoldChange/logFC and pvalue/padj/FDR), preferring the adjusted p-value/FDR column over the raw one when both are present, since that's the statistically correct choice for multiple comparisons. Drag the threshold lines directly on the plot, or use the sliders, to reclassify genes as up/down/not-significant without re-uploading anything, and hover any point for its gene, fold-change and p-value.
0 row(s) parsed
Paste a differential-expression table (or load the example) to plot.
|log2FC| ≥ 1 and p ≤ 0.05 are conventional starting-point thresholds, not universal cutoffs — adjust them for your experiment. When both a raw p-value and an adjusted/FDR column are detected, the adjusted column is used by default (the statistically correct choice for multiple comparisons); switch to raw p-value if you prefer.
How to use the Volcano Plot tool
- 1Paste a tab- or comma-delimited DE table (gene, log2FC, p-value/FDR columns) — or load the example.
- 2If columns can't be auto-detected, map gene / log2FC / p-value columns explicitly.
- 3Drag the threshold lines (or use the sliders) to set your significance cutoffs, hover points for details, then export the figure as SVG/PNG.
Frequently asked questions
Which column formats are auto-detected?
Gene name/id columns named gene, gene_id, symbol or id; log2 fold-change columns named log2FC, log2FoldChange or logFC; and p-value columns named pvalue/pval (raw) or padj/p.adj/qvalue/FDR/adj.P.Val (adjusted) — all matched case-insensitively regardless of punctuation, so DESeq2, edgeR and limma exports all work out of the box. If detection is ambiguous, you're asked to map the columns explicitly rather than have them guessed wrong.
Should I threshold on the raw p-value or the adjusted (FDR) value?
The adjusted/FDR column, which is why it's used by default when both are detected — thresholding on raw p-values across thousands of genes inflates your false-positive rate. A toggle lets you switch to the raw p-value if you specifically need it.
Can I change the significance thresholds?
Yes — |log2FC| ≥ 1 and p ≤ 0.05 are shown as conventional starting points, not fixed rules. Drag the dashed threshold lines directly on the plot, or use the sliders, and the up/down/non-significant counts and point colors update immediately.
Is my data stored?
No. Your pasted table is used only to validate rows and compute -log10(p), and is never logged or stored. You can export the plot as a vector SVG or PNG.
More
Related tools
Cluster and visualize a gene x sample expression matrix with row/column dendrograms.
Convert an HGVS c. variant to genomic (g.) coordinates and predict its protein (p.) effect, via a real, live Ensembl exon map.
Look up a variant by rsID, chrom:pos:ref:alt, or HGVS and get its ClinVar significance, gnomAD allele frequencies, and CADD/SIFT/PolyPhen2/REVEL scores in one card.