Di mesin piston dimungkinkan adanya satu atau lebih jumlah piston. Piston-piston ini terletak di dalam silinder. Di dalam silinder, campuran bahan bakar dimasukkan. Campuran ini dapat berupa gas yang sudah panas dan bertekanan (seperti dalam mesin uap), atau bisa juga gasnya dipanaskan di dalam silinder dengan sistem pengapian. Gas panas ini nantinya yang akan mendorong piston bergerak ke bawah dan menggerakkan crankshaft.
Di semua tipe mesin ini, pergerakan piston ke bawah akan dikonversikan ke pergerakan melingkar, dengan menggunakan connecting rod dan sebuah crankshaft atau swashplate. Sebuah roda gila digunakan agar perputarannya lebih halus. Semakin banyak silinder dalam mesin piston pada umumnya juga membuat mesinnya lebih halus. Tenaga yang dihasilkan dari mesin piston biasanya berbanding lurus dengan total volume piston mesin tersebut.
Sebuah seal digunakan di antara piston yang bergerak dan dinding silinder sehingga gas bertekanan tinggi yang ada di atas piston tidak bocor dan tidak mengurangi efisiensi mesin piston itu. Seal ini berupa satu atau lebih ring piston. Ring ini terbuat dari logam keras.
Biasanya mesin digolongkan berdasarkan jumlah silinder dan total volume silindernya. Volume silinder dinyatakan dalam satuan sentimeter kubik (cc) atau liter (l). Kalau dilihat dari jumlah silinder, penggolongannya berdasarkan moda yang dipakai. Mesin pembakaran dalam dengan 1 atau 2 silinder kebanyakan dipakai di motor, sedangkan mobil biasanya memakai mesin dari 4 sampai 8 silinder. Sebuah lokomotif atau kapal biasanya memiliki jumlah silinder minimal 12 atau lebih. Volume silinder dapat bervariasi, dari 10 cm³ sampai belasan ribu cm³.
Rasio kompresi adalah besaran perbandingan volume silinder ketika piston sedang berada di dasar silinder dan ketika piston berada di puncak silinder.
Dalam mesin uap dan mesin pembakaran dalam, katup dibutuhkan untuk mengatur bukaan masuk dan bukaan buang dalam siklus piston. Katup dijalankan oleh cam atau crank yang dijalankan oleh tangkai mesin. Desain pada mesin dulu-dulu menggunakan Katup D slide tetapi sekarang menggunakan desain Katup piston atau Katup poppet.
Kapasitas mesin
Untuk mesin piston, kapasitas mesin dihitung dari total volume semua piston yang ada di dalam mesin tersebut untuk sekali perpindahan. Biasanya kapasitas mesin diukur dalam satuan liter atau inci kubik atau sentimeter kubik (cc). Mesin dengan kapasitas yang besar biasanya akan lebih bertenaga dan torsinya lebih besar pada putaran rendah, tetapi konsumsi bensinnya juga lebih boros, meskipun keluaran tenaga dan konsumsi bensin juga banyak dipengaruhi faktor lain.