Volcano Plot Generator
FigranPaste a DESeq2, edgeR or limma table, set thresholds and label genes.
- DESeq2, edgeR and limma
- Volcano and MA plots
- Free SVG and PNG
Loading example data…
Volcano plot examples
Airway RNA-seq: Himes et al. (2014), GEO GSE52778; Bioconductor airway package (LGPL), study article CC BY 4.0. DESeq2 compares dexamethasone with untreated cells, adjusting for cell line. The plot includes all 4,028 results with adjusted p ≤ 0.05 and 5,000 non-significant results (adjusted p > 0.05) sampled without replacement (seed 52778). Gene symbols use org.Hs.eg.db, with Ensembl IDs where unavailable; simulated examples use MSigDB Hallmark symbols (CC BY 4.0). Study · airway package
How to make a volcano plot online
1Import your results
Paste or import a differential expression results table and check the detected columns.
2Set the cutoffs
Choose the p-value and absolute log2 fold-change cutoffs for your analysis.
3Label genes and download
Choose genes to label and download a publication-ready figure.
How to read a volcano plot
Each point represents a gene in a differential gene expression analysis. The horizontal position shows log2 fold change; height shows statistical evidence. Points toward either upper corner combine larger changes with stronger evidence. Li, 2012.
- Downregulated genes lie to the left and pass both thresholds.
- Genes that do not pass both thresholds are shown in gray.
- Upregulated genes lie to the right and pass both thresholds.
Adjusted p or raw p on the y axis
By default the y axis uses raw p and the colors use adjusted p when both are present. This retains rows with independent-filtering NA values and avoids the steps caused by many identical adjusted values. You can change both selectors.
Genes with p = 0 or NA
A reported zero is shown as a triangle at the top, not replaced with an invented small number. Missing fold changes or y values are skipped; rows with a missing adjusted p remain visible when raw p is the y axis.
Columns to use from DESeq2, edgeR and limma
Import a results table, not raw counts. In R, export the result with write.csv(as.data.frame(res), "results.csv").
| Source | Gene | log2FC | P value | Adjusted P | Mean expression |
|---|---|---|---|---|---|
| DESeq2 | row names / gene | log2FoldChange | pvalue | padj | baseMean |
| edgeR | row names | logFC | PValue | FDR | logCPM |
| limma | row names / ID | logFC | P.Value | adj.P.Val | AveExpr |
| Seurat | row names | avg_log2FC | p_val | p_val_adj | — |
MA plot and volcano plot
A volcano plot compares effect size with statistical evidence. An MA plot compares effect size with mean expression, making expression-dependent patterns easier to see. MA mode requires a mean expression column. Dudoit et al., 2002.
Volcano plot FAQ
What is a volcano plot?
A volcano plot, or volcano graph, shows each gene as a point: x is the log2 fold change and y is statistical evidence. Genes in the upper left or right have larger changes and stronger evidence.
What data do I need?
Use a differential expression results table with gene names, log2 fold changes and p values or adjusted p values. This tool does not perform differential expression analysis; analyze raw counts with DESeq2, edgeR or limma first.
Should I use padj or p for the y axis?
When both exist, the default y axis is raw p and the cutoff uses adjusted p. The horizontal line is placed at the least significant raw p among rows passing the adjusted cutoff. This retains rows with an independently filtered padj and avoids adjusted-value steps. You can change either choice.
Why do some genes have p = 0?
Very small values may be reported as zero when they fall below floating-point precision. We place them as triangles at the top without inventing a replacement. EnhancedVolcano instead substitutes one tenth of the smallest nonzero p value.
Why are some rows skipped?
Rows need a finite fold change and a valid value for the chosen y axis. DESeq2 can report NA for all-zero counts, extreme outliers or adjusted p values after independent filtering. Open the status pill for the breakdown. Rows with missing adjusted p can still be plotted using raw p.
What cutoffs should I use?
Adjusted p ≤ 0.05 and |log2FC| ≥ 1 are common starting points, but appropriate cutoffs depend on the study. Decide them before inspecting the plot and report them with the figure.
How do I make an MA plot?
Select MA above the tool. Your table must have a mean expression column such as DESeq2 baseMean, limma AveExpr or edgeR logCPM. The same significance cutoff applies.
Is my data uploaded?
No. The table is processed in your browser. SVG text can be edited in vector software. For large tables, PNG can be easier to use in presentations. Make a heatmap of top genes with Heatmap Generator.
Make your volcano plot
Turn your differential expression results into a clear figure.