A causa mais comum de tsunamis são os terremotos submarinos no fundo do oceano. Deslizamentos de terra submarinos e erupções vulcânicas também causam tsunamis. Em ocasiões muito raras, o impacto de um meteorito no oceano resulta em um tsunami. Qualquer evento que desloque uma quantidade significativa de água em um curto período de tempo pode causar um tsunami.
Nem todos os terremotos submarinos causam tsunamis. O terremoto deve fazer com que parte da crosta se levante como um remo gigantesco, deslocando um grande volume de água. Se o terremoto acontecer nas profundezas da crosta ou se a crosta não for deslocada significativamente, não é provável que ocorra um tsunami. Terremotos fortes e rasos produzem mais tsunamis. Os tsunamis são difíceis de detectar no oceano aberto, pois a onda não sobe muito acima da superfície do oceano. Conforme o tsunami se aproxima de águas rasas, a água se acumula e causa uma onda muito mais alta.
As erupções vulcânicas também causam tsunamis, como as ondas produzidas quando o vulcão indonésio Krakatoa entrou em erupção em 1883. Gás superaquecido e rocha do vulcão fluíram para o mar, deslocando um grande volume de água e causando tsunamis. Essas ondas foram sentidas tão longe quanto a África do Sul. Muitas aldeias foram destruídas por essas ondas e mais de 36.000 pessoas morreram.