Fossils are rocks that contain the remains and DNA of Pokémon from millions of years ago. They are obtained from mining Fossil blocks, which are found between height levels 12-50 in gravel piles. They're fairly uncommon finds so it may take a while to find one. They will generate before any gravel in the world begins falling due to gravity, which is something to keep in mind while searching for them. Unlike the gravel surrounding them, Fossil blocks are not affected by gravity.
When mined, the fossil block will always yield one of the nine possible covered fossils. These covered fossils can be cleaned in a Fossil Cleaner by right-clicking the fossil cleaner while holding a covered fossil.
Once a covered fossil have been cleaned, one of the nine types of fossils will be obtained. These include:
By placing one of the above fossils into a Fossil Machine, the process of resurrecting the ancient Pokémon within the fossil will begin, and will take several minutes of waiting to be completed. The Pokémon that will be revived depends on the fossil put inside the machine. Once the Pokémon is resurrected, any Poké Ball can be placed in the machine to obtain the Pokémon. All Pokémon brought back to life through the Fossil Machine will start off at level 1.