The island is connected by regular ferry service to Portovesme and Calasetta.
The island is of volcanic origin. The rocks are of Cenozoic age, and include basalt, dacite and rhyolite (including the peralkaline variety comendite). The 18 kilometres (11 miles) of its coasts are mostly rocky; the western and northern part includes some natural grottoes, unprotected landings, with a few small beaches, in general here the coast is usually very steep, rocky. The eastern coast, on which the port of Carloforte lies, is more protected low and sandy.
Off the north-western coast are two small islands, the Isola dei Ratti and Isola Piana. The latter includes the remains of one of the largest tonnara in Italy, now turned into a tourist resort.
The island has no rivers or streams, but features numerous ponds and marshes. The interior is hilly, the highest points being the Bricco (hill) Guardia dei Mori (211 m (692 ft)) and Bricco Tortoriso (208 m).
The vegetation is that typical of the Mediterranean coast, with Cistus, mastic, strawberry tree, juniper, Aleppo pine and holm oak. Here groves of oak and pine with clearings that are often cultivated, and populated with scattered houses. Cultivation, held especially in the eastern and more protected region, includes grape (Vitis vinifera), fig and Indian fig. The western part exposed to the prevailing wind, the mistral, is more arid, with low scrub vegetation and largely uninhabited. The climate is temperate-hot. The island is connected to the Sardinia, and to the next island of Sant'Antioco by two ferry lines.
The island has been known since ancient times. The Phoenicians called it Enosim or Inosim, while for the Greek it was Hieracon Nesos and for the Romans Accipitrum Insula (Sparrowhawk Island). The latter derived from the presence of the small Eleonora's falcon, which is still present on the island. San Pietro is home today to remains from the Phoenician, Roman and Sardinian civilizations.
According to a legend, the island is so named because St. Peter visited the island in 46 AD.
In the 18th century the then-uninhabited San Pietro was colonized by people of Ligurian language and ethnicity, coming from the Republic of Genoa's colony at Tabarka after it had been taken over by the Bey of Tunisia. Today most of the population has retained a variant of Genoese dialect, called Tabarchino, which is also spoken in the northern part of the next Sant'Antioco island, in Calasetta, of same origin.