How Fireworks Get Their Colors - Science Friday
Maybe your like
- Facebook Messenger
X
- SMS
Grade Level
9 -10
minutes
15 min - 1 hr
subject
Physical Science
Activity Type:
atoms, energy, fire, metal salts, chemicals
Introduction
Have you ever watched a fireworks show and wondered how all the different colors – amazing reds, yellows, oranges, blues, purples, greens, and more – are made? The color, or colors, that a firework makes depends on what color-producing chemicals are in the firework. These chemicals are various metal salts that make different, specific colors as they are heated. In this science activity, you will get to burn some metal salts at home to investigate what colors they make. Then, at the next fireworks show, you can impress friends and family with your knowledge of what may be causing some of the colors they see!

Materials
- Chemicals to burn, specifically table salt and copper sulfate:
- Table salt is technically called sodium chloride.
- Copper sulfate is available through pet or aquarium stores to combat algae, or through home improvement stores as a root killer. Make sure the product is pure copper sulfate and that it is in powder or small crystals form.
- Alternatively, if you would like these chemicals—plus two other colorful, hard-to-find metal salts, as well as some safety equipment, all in one convenient package—try the Rainbow Fire kit from the Science Buddies Store.
- Small plastic bag
- Bamboo skewers (at least 6)
- White glue
- Candle
- Matches or lighter
- Container of water
- An outdoor surface you can safely burn a candle on when it is dark outside (or twilight). Be sure it is in an open area to allow good air flow.
- Adult helper
- Recommended: Disposable gloves. Dishwashing gloves are a fine alternative. These are for handling the copper sulfate.
- Safety goggles
- Optional: Flashlight
- Optional: Masking tape and pen or marker to label the skewers with the chemical names
Safety Tips:
- When you burn the skewers, be sure to do it in an open, outdoor area and be careful not to breathe the fumes or smoke from the skewers.
- Adult supervision is needed when using fire, burning the skewers, and handling the chemicals.
- This activity uses a small candle flame to maximize safety, but you should have a container of water handy for dousing any unintended flames.
Procedure:
- Pour a small amount of table salt (roughly one tablespoon) into a small plastic bag.
- Apply a thin layer of glue to the last inch of the tip of a skewer. Just a little bit of glue is enough.

Apply a thin layer of glue to the last one inch of the tip of a skewer. - Dip the glue-coated tip of the skewer into the salt in the bag. Twist the skewer back and forth a bit to coat the skewer’s tip with the salt. Set the skewer aside to dry.

Twist the skewer back and forth to coat the skewer’s tip with salt. - Repeat this process with two more skewers so you have a total of three skewers that have their tips coated with salt.
- Next, have an adult coat a skewer with copper sulfate—but first read and follow all safety precautions on the packaging that the copper sulfate came in. Be careful not to let anybody breathe in any copper sulfate dust or get any on their skin or face. If desired, use disposable gloves and safety goggles. If not using gloves, be sure not to touch the copper sulfate. The adult should coat the last inch of the tip of a skewer in a thin layer of glue and dip the glue-coated tip into the bag of blue-colored copper sulfate, twisting it back and forth to coat the tip in copper sulfate.

Copper sulfate coated skewers will be distinguishable by their blue tips. - The adult should repeat this with two more skewers, so that you have three total that are coated in copper sulfate.
- Allow all of your skewers to dry. This will take about half an hour for each.
- When it is dark (or twilight) outside, take your candle, matches, and prepared skewers to an open area outside where you can safely burn a candle. Be sure there is good air flow. Also have a container of water with you as a safety precaution.
- Have an adult light the candle.
- Once the candle is burning well, carefully take out one of the prepared skewers and hold the chemical-coated end in the flame. Be sure not to breathe the fumes or smoke from the burning skewer! What color does the chemical burn? How does it compare to the normal color of the candle’s flame?
- Tip: You may be able to see the chemical’s color in the candle’s flame, or by holding the skewer away from the candle (once the chemical has caught on fire) and looking at the flame on the chemical-coated end of the skewer.
- The skewer may also catch fire after a few moments. Simply remove it from the flame and blow it out, or extinguish it in the container of water.
- Repeat this process for the other chemical-coated skewers. (To help you distinguish which chemical you are burning, remember that the skewers coated in table salt will have white-coated tips, while the skewers coated in copper sulfate will have blue-coated tips.) Which color does the table salt (sodium chloride) burn? Which color does the copper sulfate burn? If you burn other chemicals, what color(s) do they burn?
Cleanup
Be sure to extinguish the candle and the skewers when you are done with the activity. When you are sure they have been extinguished, you can dispose of the used chemical-coated skewers in the garbage.

What Happened?
A typical flame will burn yellow/orange with a little bit of blue near the base of the wick. When you burned the skewer tip coated with sodium chloride, you should have seen that the flame on the sodium chloride was pure yellow/orange (without any blue). This is because when the metal sodium is heated, it makes intense yellow/orange light. When you burned the skewer tip coated with copper sulfate, you should have seen that the flame gained blue-green traces. This is because when the copper is heated, it makes bluish-green light. If you tested additional chemicals from the Rainbow Fire kit, you should have seen that the boric acid burned a vivid green and the strontium chloride burned red.
Today when we watch fireworks displays, there are many colors represented, but this was not always the case. From the time fireworks were invented (the earliest documentation is from around the 7th century C.E. China) until the 1830s, all fireworks were either white or orange. Then, in the 1830s, the Italians discovered that adding metal salts to the fireworks mixture resulted in interesting colors, just like in the flame test in this activity.
Digging Deeper
Colored flames are not just for fireworks displays; the same science that shows us a pretty colored flame allows astronomers to figure out what distant stars are made of (in other words, their atomic composition) by seeing what type of light is produced by the star. How does it work exactly? It comes down to atoms and energy.
All matter is made of atoms. Atoms have a nucleus that is surrounded by electrons. Electrons moving around the nucleus have certain amounts of energy, called energy levels. If electrons gain energy, they move from one energy level up to a higher level through distinct steps. Likewise, if electrons lose energy, they drop down to a lower energy level. The lost energy can be carried away in the form of heat or in the form of light (as a photon). Exactly how much energy is lost affects what kind of light is made, which we may perceive as a difference in the color of the light. Different types of atoms, or elements, have different gaps between their energy levels, which causes them to make light of different colors when they are burned and lose that energy.
For Further Exploration
You could try this activity using other metal salts known to produce certain flame colors when burned. Check out the Science Buddies Rainbow Fire science project for some ideas. Be sure to always look into and follow all proper safety precautions when handling different chemicals and burning them. What colors do other metal salts make when burned?
Credits: Teisha Rowland, PhD, Science Buddies

Related Links:
- For a printable version of this activity, visit Science Buddies.
- Watch Science Friday’s video “Celebrating Explosive Chemistry” for another explanation of the salts in fireworks.
Since 2001, www.ScienceBuddies.org has been engaging young people in science and engineering. Every year our website helps millions of K-12 students create hands-on science and engineering projects of outstanding quality, interact with real-life science and engineering role models, compete in their local science fairs, and ultimately become inspired to pursue further education in science and technology.
Meet the Writer
Science Buddies About Science Buddies
Science Buddies dedicates itself to helping students from all walks of life build their literacy in science and technology, so they can become productive and engaged citizens in the 21st century. See more projects at www.sciencebuddies.org
Explore More
See The World Through Color-Filtering Lenses
Explore color by creating color-filtering glasses using paper and tinted cellophane.
Read MoreMake A Secret Marshmallow Message
Use the chemistry of the Maillard reaction to spell out an edible secret marshmallow message as you toast your treat!
Read More X ClosePrivacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience. Necessary Necessary Always Enabled Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.| Cookie | Duration | Description |
|---|---|---|
| _abck | 1 year | This cookie is used to detect and defend when a client attempt to replay a cookie.This cookie manages the interaction with online bots and takes the appropriate actions. |
| ASP.NET_SessionId | session | Issued by Microsoft's ASP.NET Application, this cookie stores session data during a user's website visit. |
| AWSALBCORS | 7 days | This cookie is managed by Amazon Web Services and is used for load balancing. |
| bm_sz | 4 hours | This cookie is set by the provider Akamai Bot Manager. This cookie is used to manage the interaction with the online bots. It also helps in fraud preventions |
| cookielawinfo-checkbox-advertisement | 1 year | Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category . |
| cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
| cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
| cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
| cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
| cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
| csrftoken | past | This cookie is associated with Django web development platform for python. Used to help protect the website against Cross-Site Request Forgery attacks |
| JSESSIONID | session | The JSESSIONID cookie is used by New Relic to store a session identifier so that New Relic can monitor session counts for an application. |
| nlbi_972453 | session | A load balancing cookie set to ensure requests by a client are sent to the same origin server. |
| PHPSESSID | session | This cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user session on the website. The cookie is a session cookies and is deleted when all the browser windows are closed. |
| TiPMix | 1 hour | The TiPMix cookie is set by Azure to determine which web server the users must be directed to. |
| viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
| visid_incap_972453 | 1 year | SiteLock sets this cookie to provide cloud-based website security services. |
| X-Mapping-fjhppofk | session | This cookie is used for load balancing purposes. The cookie does not store any personally identifiable data. |
| x-ms-routing-name | 1 hour | Azure sets this cookie for routing production traffic by specifying the production slot. |
| Cookie | Duration | Description |
|---|---|---|
| __cf_bm | 30 minutes | This cookie, set by Cloudflare, is used to support Cloudflare Bot Management. |
| bcookie | 2 years | LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID. |
| bscookie | 2 years | LinkedIn sets this cookie to store performed actions on the website. |
| lang | session | LinkedIn sets this cookie to remember a user's language setting. |
| lidc | 1 day | LinkedIn sets the lidc cookie to facilitate data center selection. |
| S | 1 hour | Used by Yahoo to provide ads, content or analytics. |
| sp_landing | 1 day | The sp_landing is set by Spotify to implement audio content from Spotify on the website and also registers information on user interaction related to the audio content. |
| sp_t | 1 year | The sp_t cookie is set by Spotify to implement audio content from Spotify on the website and also registers information on user interaction related to the audio content. |
| UserMatchHistory | 1 month | LinkedIn sets this cookie for LinkedIn Ads ID syncing. |
| Cookie | Duration | Description |
|---|---|---|
| __jid | 30 minutes | Cookie used to remember the user's Disqus login credentials across websites that use Disqus. |
| _gat | 1 minute | This cookie is installed by Google Universal Analytics to restrain request rate and thus limit the collection of data on high traffic sites. |
| _gat_UA-28243511-22 | 1 minute | A variation of the _gat cookie set by Google Analytics and Google Tag Manager to allow website owners to track visitor behaviour and measure site performance. The pattern element in the name contains the unique identity number of the account or website it relates to. |
| AWSALB | 7 days | AWSALB is an application load balancer cookie set by Amazon Web Services to map the session to the target. |
| countryCode | session | This cookie is used for storing country code selected from country selector. |
| Cookie | Duration | Description |
|---|---|---|
| _fbp | 3 months | This cookie is set by Facebook to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising, after visiting the website. |
| fr | 3 months | Facebook sets this cookie to show relevant advertisements to users by tracking user behaviour across the web, on sites that have Facebook pixel or Facebook social plugin. |
| IDE | 1 year 24 days | Google DoubleClick IDE cookies are used to store information about how the user uses the website to present them with relevant ads and according to the user profile. |
| NID | 6 months | NID cookie, set by Google, is used for advertising purposes; to limit the number of times the user sees an ad, to mute unwanted ads, and to measure the effectiveness of ads. |
| personalization_id | 2 years | Twitter sets this cookie to integrate and share features for social media and also store information about how the user uses the website, for tracking and targeting. |
| test_cookie | 15 minutes | The test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies. |
| vglnk.Agent.p | 1 year | VigLink sets this cookie to track the user behaviour and also limit the ads displayed, in order to ensure relevant advertising. |
| vglnk.PartnerRfsh.p | 1 year | VigLink sets this cookie to show users relevant advertisements and also limit the number of adverts that are shown to them. |
| VISITOR_INFO1_LIVE | 5 months 27 days | A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface. |
| YSC | session | YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages. |
| yt-remote-connected-devices | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
| yt-remote-device-id | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
| yt.innertube::nextId | never | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
| yt.innertube::requests | never | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
| Cookie | Duration | Description |
|---|---|---|
| _dc_gtm_UA-28243511-20 | 1 minute | No description |
| abtest-identifier | 1 year | No description |
| AnalyticsSyncHistory | 1 month | No description |
| ARRAffinityCU | session | No description available. |
| ccc | 1 month | No description |
| COMPASS | 1 hour | No description |
| cookies.js_dtest | session | No description |
| debug | never | No description available. |
| donation-identifier | 1 year | No description |
| f | never | No description available. |
| GFE_RTT | 5 minutes | No description available. |
| incap_ses_1185_2233503 | session | No description |
| incap_ses_1185_823975 | session | No description |
| incap_ses_1185_972453 | session | No description |
| incap_ses_1319_2233503 | session | No description |
| incap_ses_1319_823975 | session | No description |
| incap_ses_1319_972453 | session | No description |
| incap_ses_1364_2233503 | session | No description |
| incap_ses_1364_823975 | session | No description |
| incap_ses_1364_972453 | session | No description |
| incap_ses_1580_2233503 | session | No description |
| incap_ses_1580_823975 | session | No description |
| incap_ses_1580_972453 | session | No description |
| incap_ses_198_2233503 | session | No description |
| incap_ses_198_823975 | session | No description |
| incap_ses_198_972453 | session | No description |
| incap_ses_340_2233503 | session | No description |
| incap_ses_340_823975 | session | No description |
| incap_ses_340_972453 | session | No description |
| incap_ses_374_2233503 | session | No description |
| incap_ses_374_823975 | session | No description |
| incap_ses_374_972453 | session | No description |
| incap_ses_375_2233503 | session | No description |
| incap_ses_375_823975 | session | No description |
| incap_ses_375_972453 | session | No description |
| incap_ses_455_2233503 | session | No description |
| incap_ses_455_823975 | session | No description |
| incap_ses_455_972453 | session | No description |
| incap_ses_8076_2233503 | session | No description |
| incap_ses_8076_823975 | session | No description |
| incap_ses_8076_972453 | session | No description |
| incap_ses_867_2233503 | session | No description |
| incap_ses_867_823975 | session | No description |
| incap_ses_867_972453 | session | No description |
| incap_ses_9117_2233503 | session | No description |
| incap_ses_9117_823975 | session | No description |
| incap_ses_9117_972453 | session | No description |
| li_gc | 2 years | No description |
| loglevel | never | No description available. |
| msToken | 10 days | No description |
Tag » What Color Does Sodium Burn
-
Sizzling Science: Exploring The Chemistry Of Fireworks
-
If You Burn Sodium, What Colour Flame Will Be Produced? - Quora
-
Flame Tests | Causes Of Color - Webexhibits
-
Flame Test Colors: Photo Gallery - ThoughtCo
-
Flame Test - Wikipedia
-
Sodium Salt Shows Which Of The Colour In A Flame Test? - Toppr
-
Sodium Flame Test - YouTube
-
Sodium Flame Color - YouTube
-
TOP 9 What Color Does Sodium Burn BEST And NEWEST
-
Colors Of Elements In A Flame - Sodium Chloride - ChemEdX
-
Flame Tests - Chemistry LibreTexts
-
Lesson Explainer: Flame Tests - Nagwa
-
Flame Tests Using Metal Salts | Resource - RSC Education
-
Classroom Resources | Flame Test (Rainbow Demo) - AACT