We don’t know the actual number of COVID–19 cases, deaths & recoveries, just the reported ones. Please read the following visualizations with that in mind.

Covering the coronavirus is a challenge. We’d like to help. Here are more than 20 charts, maps and tables that show the latest coronavirus numbers. You can embed any of them on your own website. Since we know that lots of you use this blog post to actually inform yourselves, you can find visualizations on top. Scroll down to the bottom of this blog post for our thoughts on responsible data visualization in this crisis.

US counties without the per-capita colors You can find a map showing confirmed COVID–19 cases & deaths in here and in our River

Here’s an index of the content of this article and of all available visualizations. Not all of them are embedded here: Some charts, maps & tables were interesting in March or April 2020, but are not anymore (the doubling time charts, for example). You can still find them on our individual chart pages and in the Datawrapper River; we link to both.

Some general information

Doubling time charts & tables

Overviews & comparisons of countries

Detailed data for selected countries

Latest changes to this article

In this GitHub README, you can find our latest changes to the charts, maps, and tables in this blog. (We don’t mention when we fix obvious bugs that appear because the data source changes e.g. how it formats data.)

How you can use these visualizations in your own articles

All these charts, maps, and tables were created with Datawrapper. It’s a simple, free tool used by small blogs and big organizations around the world like the New York Times, SPIEGEL and Süddeutsche. You can try it out here, without signing up.

We’d be happy if you’d use and adapt the charts, maps and tables we show here! To do so, hover over them, then click on the appearing “Edit this chart” in the top right corner. This will open a new tab with the editing process for this visualization. Again, without the need to sign up.

Here you can change many things to your liking. For example:

change the wording or translate the title, descriptions, notes, and annotations in step 3: Visualize → Annotate; or translate the map tooltips.

the title, descriptions, notes, and annotations in step 3: Visualize → Annotate; or translate the map tooltips. change the colors in step 3: Visualize → Refine to make them fit to the rest of your article/organization.

in step 3: Visualize → Refine to make them fit to the rest of your article/organization. choose the custom design theme of your organization in step 3: Visualize → Design, (Don’t have one yet? Learn more about it here.)

Once you’re happy with style and wording, go to step 4: Publish, hit “Publish” and embed the visualization in your article, download it as PNG or share it on social media.

Please note: The charts, maps and tables that state the Johns Hopkins University as their source (most of them, sadly) fall under its licensing. You can only use these visualizations for educational and academic research purposes, not for commercial purposes.

What we considered while creating these visualizations

As data visualization designers, we have a responsibility towards our audience – an audience that might not be aware that each data visualizations tells a story instead of simply “showing the facts”. Our responsibility is to show the data truthfully. The story we want to tell with our coronavirus visualizations is not about panic, but about calm caution and putting things in perspective. So we considered the following while creating these charts, maps, and tables:

We show the current or confirmed cases in another color than red. The coronavirus is not a death sentence. Most infected people will survive. If you’re infected, you want to find yourself on a map as a blue (or orange, or beige, or purple…) dot, not as a “attention, danger, run!”-screaming red dot. Related, we show deaths in black, not red – it feels more respectful.

The coronavirus is not a death sentence. Most infected people will survive. If you’re infected, you want to find yourself on a map as a blue (or orange, or beige, or purple…) dot, not as a “attention, danger, run!”-screaming red dot. Related, we show deaths in black, not red – it feels more respectful. We counter absolute numbers with relative ones. We still show the absolute number of cases (that’s what we’re all interested in), but we set them in relation, e.g. in the tables. To do so, we use phrases like “that’s 3 in 1 million people” or “one in 200.000 people”.

We still show the absolute number of cases (that’s what we’re all interested in), but we set them in relation, e.g. in the tables. To do so, we use phrases like “that’s 3 in 1 million people” or “one in 200.000 people”. We avoid showing cumulative cases. When we look at coronavirus dashboards like this one by the Johns Hopkins University, we often get confronted with the “total confirmed cases”. But many of the people who got infected with COIVD–19 already recovered, or are close to full recovery. Instead of cumulative cases, we almost always show the current cases – which is way smaller.

When we look at coronavirus dashboards like this one by the Johns Hopkins University, we often get confronted with the “total confirmed cases”. But many of the people who got infected with COIVD–19 already recovered, or are close to full recovery. Instead of cumulative cases, we almost always show the current cases – which is way smaller. We use symbol maps, not choropleth maps. The whole state I live in is filled with a dangerous-looking color just because 500 out of 20 million people are infected? That seems out of proportion. Instead of choropleth maps, we use symbol maps to show infected people. Symbol maps are not the best solution either (because symbols need to be (too) big to be useful, and when used for countries it looks like all infected people gathered in one location), but at least they don’t suggest that the entire country you live in is a death zone.

Other people who have thought about how we should visualize the coronavirus are Andy Kirk, Kenneth Field and Evan Peck.

What you should consider when using these visualizations

The charts, maps, and tables we offer here don’t work on their own. They need to be put in context for your audience.

Build stories, not dashboards. Your readers will have questions like “What do I need to do now?” and “Do I need to be afraid?”, and our visualizations can’t answer that. But you can, with words. Consider changing the wording of our chart titles to make them fit into your story nicely.

Your readers will have questions like “What do I need to do now?” and “Do I need to be afraid?”, and our visualizations can’t answer that. But you can, with words. Consider changing the wording of our chart titles to make them fit into your story nicely. Use visualizations sparsely. Don’t show all these visualizations we offer here. Many of them show the same information anyway, just slightly differently presented. So ask yourself: Which of the visualizations will be most insightful for your readers, in the context of your story? Only select these.

Don’t show all these visualizations we offer here. Many of them show the same information anyway, just slightly differently presented. So ask yourself: Which of the visualizations will be most insightful for your readers, in the context of your story? Only select these. Remind readers of the uncertainty of these numbers. We can only count the coronavirus cases we’re aware of. Evan Peck wrote a few great tweets about the uncertain situation we’re in:

The number of *actual* #COVID19 cases contains tremendous uncertainty (estimates in around Seattle alone are 10x larger than the positive tests), but we aren't visually representing ANY uncertainty because we know the number of *positive tests*. — Evan Peck (@EvanMPeck) March 5, 2020

Be careful when showing maps together. If you show two maps below each other (e.g. the China map and the Germany map), you’ll confuse readers about the scope of the problem. The symbol size that communicates “20.000 cases” on the China map only communicates “2000 cases” on the Germany map. Also, lots of maps take a long time to load (as you can experience in this very post!).

Also, here’s a practical tip: To see the newest numbers in charts, maps, and tables you embed, readers will need to reload your website/article. Consider making that clear in the chart notes, at the end of the article or wherever it fits well.

What data sources we used

By now (end of March), there are many data sources available collecting information on both COVID–19 cases and deaths. Here are a few:

The data source for all our charts but some of the ones about Germany is Johns Hopkins University. We access it through the Github repo and via this API by software developer Muhammad Mustadi, which gives us the same numbers as the dashboard, up-to-date.

For the state map of Germany, we use numbers from the Robert Koch Insitute. This source is official, but updated slowly in comparison to e.g. this map by ZEIT Online.

To bring the data in the right format for our Datawrapper visualizations, we used R. You can find the (badly written) R script on Github. We update the charts, maps and tables every 20 minutes.

If you know of other data sources we should consider, please let me know at lisa@datawrapper.de.

As always, let us know if you have any questions, feedback or hints. If they’re any charts you’re missing, also let us know. We’re available at support@datawrapper.de. You can also write directly to me at lisa@datawrapper.de or find me on Twitter (@lisacrost).