Likert scale chart maker: diverging stacked bar chart from survey answers (free)

Turn agree/disagree survey answers into a diverging stacked bar chart centred on the neutral answer, sorted by agreement, with % agree, medians and means per statement. Paste raw answers or counts; download PNG, SVG and CSV.

Keep it one tap away for everyday use.

Bookmark Likert chart?

Press Ctrl + D now. Your browser opens its own bookmark box, where you choose the name and folder.

  1. Answers
  2. Scale
  3. Chart
  4. PNG/SVG
Nothing is uploadedWorks offline once open

Your answers

Statements to chart

Disagreeing answers go left of the centre line and agreeing answers right; a middle answer is split across the line. % agree counts the answers above the middle.

What it does

Likert questions (“Strongly disagree” to “Strongly agree”) are the backbone of staff surveys, course evaluations and social research. The clearest way to show them is a diverging stacked bar chart: each statement is one bar, disagreeing answers stretch to the left of a centre line, agreeing answers to the right, and the neutral answer sits across the line. Statements people agree with stand out on the right at a glance.

This tool makes that chart from your data, in your browser:

  • from raw answers (one row per person, one column per statement), as codes 1 to k or as the answer labels, or from a table of counts per answer;
  • with 4, 5, 6 or 7 answer options and your own labels;
  • sorted by agreement, by disagreement, by mean, or kept in your order;
  • with a summary table: number of answers, % disagree, % neutral, % agree, median and mean (SD) for each statement.

Download the chart as PNG or SVG (vector, for reports and slides), the summary as CSV, or everything as an image, PDF or Word report.

It works well with the reliability and agreement, the publication plot maker and the sample size and power calculator.

How to use it

  1. Paste your answers or open a CSV or Excel file. Each column header is the statement text. Columns such as an ID are left unticked; tick or untick the statements you want.
  2. If you only have totals, choose Counts per answer and paste one row per statement with its counts, most negative first.
  3. Choose the number of answer options and edit the labels if yours differ (separate them with commas). Answers given as labels are matched in any letter case.
  4. Pick the order and, if you like, a chart title. Blank answers are skipped.

Worked example (made-up data)

The sample is a made-up staff survey: 150 people rated 8 statements from 1 (strongly disagree) to 5 (strongly agree). Sorted by agreement, “I feel part of a team” comes first with 72.0 % agree, 7.3 % disagree and a median of 4. At the bottom are “Pay is fair for my role” (22.3 % agree, 58.8 % disagree, median 2, from 148 answers because two were blank) and “Meetings are a good use of time” (20.0 % agree, median 3). “I have the tools I need” splits opinion: 50.3 % agree but 34.9 % disagree.

How it was checked

The counts, percentages, % agree and % disagree, medians (numpy’s median, which averages the two middle answers when the number of answers is even), means and standard deviations (pandas, n − 1) agree with Python for every statement in the example. The chart layout is checked so that the bars of each statement touch, add up to 100 % and put the neutral answer exactly across the centre line.

Tips

  • Report the percentages and the median. Likert answers are ordered categories; the mean treats the gaps between them as equal, which they may not be.
  • Keep the same scale for every statement. Reverse-worded statements should be recoded first so that “agree” always means the favourable answer.
  • Look at the neutral share. A statement with few disagreements but a large neutral middle is not the same as one people actively endorse.

Frequently asked questions

Can I use a scale without a middle option? Yes: choose 4 or 6 answer options and the bars split at the centre line between the last disagreeing and the first agreeing answer.

Is my survey data uploaded? No. Everything runs in your browser and the page keeps working offline.

Where the numbers come from

  • Method: Likert (1932) rating scales; diverging stacked bar charts as described by Robbins and Heiberger (2011). Example data made up.

Standard scientific values, such as constants, atomic weights and melting points, are facts found in every textbook; we name where ours were checked. If you are an author or publisher and want a value, a credit or a table changed or removed, tell us and we will act quickly.

Last updated 2026-11-09.

Related tools

Reliability and agreement #40 Check a questionnaire scale with Cronbach's alpha and item statistics, or rater agreement with Cohen's kappa (weighted too), Fleiss' kappa and all six intraclass correlations with 95 % intervals. Matches R's psych package. Sample size and power calculator #32 How many subjects, samples or survey responses do you need? Sample size for comparing two means, paired data, two proportions, or a survey's margin of error, with power curves. Matches R and G*Power. Publication plot maker #27 Paste columns or open a CSV or Excel file and get a clean scientific figure with error bars, sized for a journal column. Download vector SVG or PDF, or PNG at 300 or 600 dpi. Your data stays in your browser. Questionnaire scorer #723 Score a questionnaire in your browser: reverse-keyed items, subscale sums or means, a clear rule for missing answers with prorating, Cronbach's alpha for each subscale and a CSV of everyone's scores. Cross-tab and chi-square #747 Turn raw survey answers into a cross-tabulation with row, column and total percentages, then test it: Pearson chi-square, likelihood-ratio G², Cramér's V, adjusted residuals, Fisher's exact test for 2 × 2, and a design-effect correction for weighted data. Matches scipy. Social network analysis #749 Turn 'name your friends' survey answers or an edge list into a network: in- and out-degree, betweenness, closeness and eigenvector centrality, density, reciprocity, components, Louvain communities and a force-directed drawing. Matches networkx; nothing leaves your browser.