末尾再帰(まつびさいき、tail recursive)とは、再帰のうち、関数の末尾にのみ再帰を記述するプログラミングのテクニックである。
そんな小難しくて面倒なことをして何が嬉しいかというと、賢いコンパイラだと最適化時に末尾再帰を検出すると自動的に再帰ではなくしてくれる。これを末尾再帰最適化という。
末尾再帰の記述例は以下を参照。