CAPTCHA (Completely Automated Public Turing test to Tell Computers and Humans Apart) (prueba de Turing completamente automática y pública para diferenciar ordenadores de humanos)[1] es una prueba desafío-respuesta controlada por máquinas (no es necesario ningún tipo de mantenimiento ni de intervención humano en su realización, ya que es implementado en un ordenador) que son utilizadas para determinar cuándo el usuario es un humano o un programa automático (bot).
Es similar a un test de Turing con la diferencia de que son jueces humanos. Por ello, a los captchas a veces se les llama Test de Turing inverso o prueba de Turing inversa;[2]esta denominación es un tanto ambigua, ya que eventualmente puede significar que los participantes o usuarios tratan de convencer a alguien (humano o autómata) de que ellos no son humanos.
Lo ideal es que el algoritmo utilizado sea público. De esta forma la ruptura de un captcha requiere la solución a un problema difícil, en lugar de solo el descubrimiento del algoritmo (secreto) que podría obtenerse mediante ingeniería inversa u otros medios.