Xon/Xoff (às vezes escrito "X-on/X-off" ou "XON/XOFF" e pronunciado eks-AWN eks-AWF ) é um protocolo para controlar o fluxo de dados entre computadores e outros dispositivos em uma conexão serial assíncrona. Por exemplo, um computador normalmente envia dados para uma impressora mais rápido do que a impressora pode imprimir. A impressora contém um buffer onde os dados são guardados até que a impressora os apanhe com o computador. Se o buffer ficar cheio antes de a impressora se apanhar, um pequeno microprocessador na impressora envia de volta um sinal X/off para parar o envio de dados. Quando são impressos dados suficientes e o armazenamento do buffer fica livre, a impressora envia um sinal X/on dizendo ao computador para retomar o envio de dados.
O "X" significa "transmissor", portanto o X/on e o X/off são sinais para ligar ou desligar um transmissor. O sinal real para X/on é a mesma configuração de bit que a combinação de teclado ASCII Ctrl-Q. O sinal X/off é o caractere Ctrl-S.
Quando você define seu modem para o sistema operacional do seu computador, você pode precisar especificar o uso do controle de fluxo com X/on/Xoff ou com CTS/RTS (Clear to Send/Ready to Send). Ao enviar dados binários, Xon/Xoff pode não ser reconhecido porque é codificado com caracteres.