How to Save Excel Charts as Images (save as PNG, JPG, BMP)

Watch video – Save Excel Charts as Images/Pictures

Excel has a lot of useful in-built charts and you can also combine and create some amazing combination charts as well. Excel charts are a great way to show your data visually and are often the most used ones when you have to present it to your manager/clients.

While your charts may be in Excel, it’s not necessary that it’s the best way to show them to your clients/managers. Often, it would be required to show these charts in a PowerPoint presentation or in an MS Word document of PDFs.

It would have been great had their been an in-built feature to save Excel charts as images, but that’s not the case.

However, there are some ways you can easily save and export charts in Excel as images (JPG, PNG, BMP are some popular ones), and in this tutorial, I will cover these methods.

The method I use would depend on how many charts you have. If you only have a couple of charts that you want to save as images, you can use the copy-paste method, but if you have many, it’s better to use the ‘download as HTML’ or VBA methods.

Copy the Chart as Save as an Image (MS Paint or Other Graphics Tool)

A really common method I see a lot of people using is by taking the screenshot of the entire screen (this can be done by hitting the PrintScreen key). Once this is done, you can open MS Paint (or whatever tool you use), paste the screenshot, and then remove everything else and just keep the image.

While this is a fine way to save a chart as an image and works well, there is a better way (which takes less time and the images are more accurate).

Suppose you have an Excel file with a chart as shown below:

Chart that needs to be saved as an image

Below are the steps to save this chart/graph as an image:

  1. Right-click on the chart that you want to save
  2. Click on CopyClick on Copy chart
  3. Open MS Paint (or whatever tool you use)
  4. Paste the image (Control V works for MS Paint)Paste the chart in MS Paint
  5. If there is any extra white space, just select and drag it so you only have the chart
  6. Click the File tabClick File tab in MS Paint
  7. Go to Save As
  8. Click on the image format in which you want to save the chart (there is JPG, PNG, and BMP format).Save the chart as the PNG image

The benefit of this method overtaking a screenshot is that this method only copies the chart and you need to adjust the white space in MS Paint once (this may not be needed if you’re using any other graphics tool).

In case you have two or more charts arranges already in Excel and you want to save this entire arrangement as an image, you can do that by selecting all these charts, copying them, and pasting them in MS Paint.

Save All the Charts in the Workbook as Images At One Go

If you have a workbook that has a lot of charts and you want to save all these charts at one go, a better way is to save the Excel workbook as an HTML file.

When you do this, all the charts in your Excel workbook will be saved as PNG format images in the downloaded folder.

Suppose you have an Excel workbook with multiple sheets with charts.

Below are the steps to save the file as HTML and save the Excel charts as images in PNG format:

  1. Open the workbook in which you have the charts
  2. Click the File tabClick File tab in Excel ribbon
  3. Click on Save AsClick on Save As
  4. Click on Browse and select the location where you want to save all the chart imagesClick on Browse
  5. Change the ‘Save as type’ to Web Page (*.htm, *.html)Save as Web Page HTM or HTML
  6. Click on Save

This will save your Excel file as a web page in the specified folder.

Now to get all the charts as images, go to the folder and you’ll find a folder with the name Filename_files (where FileName would be the name you gave to the file while saving it).

When you open this folder, you will find all the charts that have been saved as PNG images.

Excel file saved as an HTML web page

Note: When I tried this on my system, it gave me two images (identical) for each chart. So if you have four charts, it will give you eight images.

Caution: Before you save the Excel file as HTML, make sure you save a backup copy. Also, when you save a file as HTML, the currently open file is now an HTML file and not the Excel format file. After saving the file, you should close the current file (which is now an HTML file) and open the Excel version (this is why it’s important to take a backup)

Save All the Charts As Images Using VBA

You can also use a VBA code to quickly save charts from an Excel workbook to a specific folder.

If you only need to save the active chart (the one that you have selected) into a specific folder, you can use the below VBA code:

ActiveChart.Export ":\Users\sumit\Desktop\Example\ChartName.png"

The above code will save the active chart in the Example folder with the name ChartName in the PNG format. You can change the chart name and the folder name/location based on where you want it.

In case you want to save the image/picture in the JPG format, you can use the below code:

ActiveChart.Export ":\Users\sumit\Desktop\Example\ChartName.jpg"

You can run this VBA code by putting it in the immediate window, placing the cursor at the end of the line and hitting the Enter key (or you can put in a regular module and run the code from there).

But this method would be quite a time taking in case you have a lot of charts. In such a case, you can use a slightly longer VBA code mentioned below:

Sub SaveChartsasImages()
Dim i As Integer
Dim CurrentActiveSheet As Worksheet

Application.ScreenUpdating = False
Application.EnableEvents = False

Set CurrentActiveSheet = ActiveSheet

For Each Sht In Worksheets
    For Each cht In ActiveSheet.ChartObjects
        cht.Activate
        i = i + 1
        ActiveChart.Export "C:\Users\sumit\Desktop\Example\" & Sht.Name & "_chart" & i & ".png"
    Next cht
Next Sht

CurrentActiveSheet.Activate

Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub

The above code goes through each worksheet in the workbook and then within each worksheet it goes to each chart. It then selects the chart and saves it in the specified folder.

All this looping is done using the For Each Next loop.

Also, the charts are saved with the name format worksheetname_chartNumber. This would ensure that you’re able to identify what chart belongs to which worksheet.

Another good thing about using VBA is that you can customize the code to only save charts as images from some specific sheets. For example, if you only want to save charts from sheets that have the prefix 2020 in it, you can modify the code to do this (this can be done using an IF THEN ELSE statement after the FOR loop line)

Copy and Paste Excel Charts as Images in MS Word or PowerPoint

In most cases, you will have to present your charts in MS Word or PowerPoint documents. This is often the case if you’re creating client reports or documentation.

Just like you can copy and paste an image in MS Paint, you can also do the same with Word or PowerPoint.

But there is one difference…

When you copy a chart/graph in Excel and paste it in MS Word or MS PowerPoint, it doesn’t get pasted as an image. It actually gets pasted as a ‘Microsoft Office Graphic Object’

This option is useful for people who want to have the chart remain a chart even when in MS Word or PowerPoint, so you can edit and format it as a chart. Also, this type of chart is still connected to the data in Excel, and when you update the data in the backend, this pasted chart would also update.

But in case you want this chart to be pasted as an image, below is the way to do this (in this example, I will be using MS Word to showcase the steps, and these would be the same for PowerPoint as well):

  1. Select the chart that you want to copy to MS Word
  2. Right-click and then click on CopyClick on Copy chart
  3. Open MS Word document where you want to paste this chart as an image
  4. In the Home tab, within the Clipboard category, click on the Paste icon (the downward-pointing arrow part).Click on Paste Option in the Home tab
  5. In the options that appear, click on Paste as Picture optionPaste chart as Picture

The above steps would make sure the chart is pasted as a picture.

In case you simply click on the Paste Button (and not on Paste as Picture), the graph will not be pasted as a picture.

So these are four ways you can quickly save charts in Excel as images. Some methods allow you to choose the format of the image as well (such as using MS Paint or VBA).

In case you only have a few charts, you can use the MS Paint method, but in case there are many charts across sheets that you want to save, it’s better to use the HTML method or the VBA code. And if the final intent is to insert these charts in Word or PowerPoint anyway, it’s better to directly copy and paste these as a picture in these other tools.

Hope you found this tutorial useful.

You may also like the following Excel tutorials:

  • Max Moreno says:

    Hi Sumit
    the trick you share with us is great and added to your other post “How to Insert a Picture in Excel Comment”, I have a question about whether it is possible to insert an image that comes from a cut made with the Snipping Tool to a comment, since currently what I do is go Power Point and with the Save as Picture option I save the clipping as PNG and then I go to excel and apply the option Format Comment to be able to insert it.
    It is an activity that I have to do for catagos in which I work for more than 100 records a day, it would be useful to me find out how to automate this activity but I don’t know how to do it.
    Best regards

  • >