Free · No sign-up · Data stays in your browser

Forest Plot Generator

Paste your study results and get a meta-analysis forest plot with pooled estimates, weights, heterogeneity and subgroups, sized for your journal.

Loading the forest plot editor…

Examples

Open an example in the editor, then paste your own data.

Binary outcome · Risk ratio

BCG vaccine and tuberculosis

The 13 classic BCG trials (Colditz et al., 1994): events and totals per arm, random-effects risk ratio.

About this example
Effect + 95% CI · Subgroups

Hazard ratios from published trials

Hazard ratios with confidence limits copied from papers, grouped by length of follow-up (illustrative).

About this example
Continuous outcome · SMD

Exercise and depressive symptoms

Means, SDs and sample sizes per arm, standardised mean difference by type of exercise (illustrative).

About this example

How to make a forest plot

  1. Pick your data type: effect + CI, events/total, or mean/SD/n.
  2. Paste one row per study from Excel or Google Sheets, with a header row. Add a subgroup column if you need subgroups.
  3. Check the column mapping. Columns are detected from their headers; change any that are wrong.
  4. Choose the effect measure and model (random or fixed effect).
  5. Export a vector PDF or SVG for your manuscript, a 600 dpi PNG, or an R script to reproduce the analysis with metafor.

Data formats

Effect estimate with 95% CI

StudyHRLowerUpperSubgroup
Smith 20190.820.611.10Europe

Binary outcome (events / total)

StudyEvents TTotal TEvents CTotal C
Aronson 1948412311139

Continuous outcome (mean / SD / n)

StudyMean TSD TN TMean CSD CN C
Adams 201412.15.24015.35.838

Reading a forest plot

  • Each square is a study's estimate; its size reflects the study's weight. The horizontal line is its 95% confidence interval.
  • The vertical line marks no effect (1 for ratios, 0 for differences). Intervals crossing it are not statistically significant.
  • The diamond is the pooled estimate; its width is the 95% confidence interval.
  • I² describes the share of variability due to heterogeneity rather than chance; values above 50–75% suggest substantial heterogeneity.

Frequently asked questions

What data can I use?

Three formats: (1) an effect estimate with its 95% confidence interval for each study, e.g. odds, risk or hazard ratios copied from papers; (2) events and totals in each arm for binary outcomes; (3) means, standard deviations and sample sizes in each arm for continuous outcomes.

How are the pooled estimate and weights calculated?

Studies are pooled with inverse-variance weights. The random-effects model estimates between-study variance (Tau²) with the DerSimonian–Laird method; the fixed (common) effect model assumes no between-study variance. Ratios are pooled on the log scale. The results match the metafor R package.

How do you get the standard error from a confidence interval?

For ratios, SE = (ln(upper) − ln(lower)) / (2 × 1.96); for differences, SE = (upper − lower) / (2 × 1.96). This assumes a symmetric 95% interval on the analysis scale, which is how most papers report them.

How are zero events handled?

For odds and risk ratios, 0.5 is added to every cell of a study with a zero cell. Studies with no events in either group are shown as “Not estimable” and left out of the pooled result, as in RevMan.

Can I show subgroups?

Yes. Add a subgroup column and map it as “Subgroup”. Each subgroup gets its own pooled diamond and heterogeneity statistics, and a test for subgroup differences is reported under the plot.

Is my data uploaded?

No. All calculations and drawing happen in your browser.