Un botón de opción o botón de radio (a veces llamado incorrectamente «botón radial») es un tipo de widget de interfaz gráfica de usuario que permite al usuario elegir una de un conjunto predefinido de opciones. Los botones de opción se arreglan en grupos de dos o más y se muestran en la pantalla como, por ejemplo, una lista de agujeros circulares que pueden contener un espacio blanco (para la opción de «no seleccionado») o un punto (para la opción de «seleccionado»). Adyacente a cada botón de opción normalmente se muestra un texto que describe la opción que representa el botón de opción. Cuando el usuario selecciona un botón de opción, cualquier botón de opción previamente seleccionado en el mismo grupo queda deseleccionado. Un botón de opción se selecciona dando clic sobre la opción o sobre el texto, o bien usando un atajo de teclado.
Los botones de opción (botones de radio) se llaman así en referencia a los botones físicos que se usan en los radios para seleccionar estaciones preajustadas - cuando se presionaba uno de los botones, otro de los botones saltaba.
Es posible que, inicialmente, ninguno de los botones de opción en un grupo esté seleccionado. Este estado no puede restaurarse interactuando con el widget del botón de opción (pero es posible a través de otros elementos de la interfaz de usuario).
Un aspecto interesante de los botones de opción, cuando se utilizan en un formulario web en HTML, es que si no se marca ningún botón en un grupo, entonces no se pasa ningún par nombre-valor cuando se envía el formulario. Por ejemplo, para un grupo de botones de opción llamado Sexo, con las opciones de Masculino y Femenino, la variable Sexo no pasaría, ni siquiera con un valor en blanco.