UpSet Plot Generator

Figran

Paste up to 20 lists, compare every intersection, and download the figure.

  • 2 to 20 sets
  • Sort by size or degree
  • Free SVG and PNG
Options
Mode
Sort
Set order
Labels
6 sets · 881 items · 33 intersections

UpSet plot examples

UpSet plot of six hallmark gene sets

Real gene sets; 33 non-empty intersections. Click a bar to see its genes.

Source: MSigDB hallmark gene sets · Liberzon et al., 2015 · CC BY 4.0

Hallmark gene sets sorted by degree, with three intersections highlighted

Genes shared by two or more sets, sorted by degree, with three glycolysis–hypoxia intersections highlighted.

Source: MSigDB hallmark gene sets · Liberzon et al., 2015 · CC BY 4.0

Illustrative values

UpSet plot from a membership matrix: proteins detected in five replicates

Protein detection across five replicate experiments.

Illustrative values

Variants called by five callers, intersections of at least 10

Compare variant calls shared across five callers.

Illustrative values

GWAS loci shared across seven traits

Compare loci shared across seven traits.

Illustrative values

Twelve DEG lists from three comparisons in four tissues

Explore the largest intersections among twelve DEG lists.

How to make an UpSet plot online from gene lists

  1. 1Paste each list, one item per line

    Copy an Excel column or paste items separated by commas, semicolons or tabs.

  2. 2Choose intersections and sort them

    Choose exclusive or inclusive intersections, sort by size or degree, and hide small intersections.

  3. 3Download the figure or export members

    Use SVG for editable text or PNG for a 300 DPI image.

How to read an UpSet plot

  1. Set size bars show how many items belong to each set.
  2. Set names identify the rows.
  3. Each column represents one intersection.
  4. Filled dots and a line show the sets in the intersection.
  5. The upper bar and its label show the intersection size.
  6. A single filled dot represents items unique to one set.

Exclusive and inclusive intersections

IntersectionMeaningCount
Hypoxia ∩ Glycolysis onlyIn Hypoxia and Glycolysis, not in any other set40
Hypoxia ∩ Glycolysis (any)In Hypoxia and Glycolysis, whether or not in other sets65 = 40 + 25
UnionIn at least one set; percentage denominator881

The plot shows exclusive intersections, which partition the union (distinct mode in ComplexHeatmap). Inclusive intersections (intersect mode) overlap and should not be added together.

When to use an UpSet plot instead of a Venn diagram

SetsUseful viewWhy
2–3VennUp to 7 possible regions; area can be proportional.
4–5UpSet15–31 possible regions are harder to read.
6+UpSet63 or more possible regions, many often empty.

UpSet columns can be sorted and filtered. For two or three sets a Venn diagram maker can show overlaps directly, including area-proportional diagrams.

UpSet plot FAQ

What is an UpSet plot?

An UpSet plot, sometimes called an UpSet chart or diagram, is an intersection plot introduced by Lex et al. in 2014. Each column is an intersection, the dots identify its sets, the upper bar shows intersection size, and the left bars show set sizes.

When should I use an UpSet plot instead of a Venn diagram?

Use an UpSet plot for four or more sets, many or mostly empty intersections, or when comparing and sorting sizes. Venn diagrams are useful for two or three sets and can be area proportional.

What is the difference between exclusive and inclusive intersections?

Exclusive intersections contain only items in the indicated sets and sum to the union. Inclusive intersections can overlap and do not sum to the union. In the default example Hypoxia ∩ Glycolysis is 40 exclusive and 65 inclusive. ComplexHeatmap calls these distinct and intersect.

How many sets can I include?

You can include 2 to 20 sets and show at most 100 columns. Use Show top, Minimum size and Degree to filter. R and Python libraries can handle more sets.

Can I sort, filter or highlight intersections?

Sort by size or degree, filter by size and degree, and highlight up to three intersections. These correspond to UpSetR order.by, nintersects and queries.

Can I export the members of each intersection?

Select a column to copy or download its members. Export members (CSV) includes each item, set membership and region. Counts have no member lists.

How is this different from making an UpSet plot in R or Python?

UpSetR, ComplexHeatmap and ComplexUpset (R) and UpSetPlot (Python) are code libraries that add attribute plots, annotations and combined layouts. This generator needs no installation: paste lists, get an UpSet plot drawn with UpSetR's layout and defaults, and download SVG, PNG and member lists.

Can I edit the plot in PowerPoint or Illustrator?

Insert the SVG into PowerPoint or Word, where Microsoft 365 can convert it to editable shapes. The SVG keeps labels as text, so it also opens in Illustrator, Inkscape or Affinity Designer.

Is this UpSet plot generator free, and is my data private?

Yes. No account is needed. Parsing, counting and drawing happen in your browser; lists are not uploaded. Your draft is kept only in this browser tab.

Ready to plot your intersections?

Paste your lists and download the UpSet plot.