Luciferins are a class of small-molecule substrates that react with oxygen in the presence of a luciferase (an enzyme) to release energy in the form of light. It is not known just how many types of luciferins there are, but some of the better-studied compounds are listed below. 
Because of the chemical diversity of luciferins, there is no clear unifying mechanism of action, except that all require molecular oxygen, The variety of luciferins and luciferases, their diverse reaction mechanisms and the scattered phylogenetic distribution indicate that many of them have arisen independently in the course of evolution.