Kapal selam ialah kenderaan yang bergerak di bawah air, selalunya untuk tujuan ketenteraan. Kebanyakan tentera laut mempunyai kapal selam. Kapal selam juga digunakan untuk kajian sains laut dan air tawar dan untuk bertugas di kedalaman yang tidak sesuai untuk penyelam manusia. U-boot ialah ringkasan bagi Unterseeboot (istilah bahasa Jerman bermaksud "bot bawah laut") iaitu nama Jerman untuk kapal selam Jerman (mula ditugaskan dalam Perang Dunia Pertama). Salah satu pesawat selam yang lain ialah loceng selam.
Perkataan "kapal selam" merupakan pinjam terjemah bahasa Belanda duikboot (duik bermaksud "menyelam" dan boot bermaksud "bot" atau "perahu") yang diketahui daripada perkenalan teknologi ini dalam Nusantara di Hindia Timur (kini Indonesia).[1][2]
Karena negara kita [Indonesia] cukup lama dijajah oleh Belanda banyak sekali istilah-istilah dalam bahasa kita yang mengekor serupa dengan ekspresi dalam bahasa Belanda. [...] Kata ’kapal selam’ ini juga diambil dari bahasa Belanda duikboot (duik = selam, boot = kapal), sedangkan dalam bahasa Inggris dinamakan submarine...