Xon/Xoff (soms geschreven als "X-on/X-off" of "XON/XOFF" en uitgesproken als eks-AWN eks-AWF ) is een protocol voor het regelen van de gegevensstroom tussen computers en andere apparaten over een asynchrone seriële verbinding. Een computer zendt bijvoorbeeld gegevens sneller naar een printer dan de printer kan afdrukken. De printer bevat een buffer waarin de gegevens worden opgeslagen totdat de printer de computer heeft ingehaald. Als de buffer vol raakt voordat de printer de achterstand heeft ingelopen, stuurt een kleine microprocessor in de printer een X/off-signaal terug om te stoppen met het verzenden van gegevens. Als genoeg gegevens zijn afgedrukt en er bufferruimte vrijkomt, zendt de printer een X/on-signaal om de computer te vertellen door te gaan met het zenden van gegevens.
De "X" staat voor "transmitter" (zender), dus de X/on en X/off zijn signalen om een zender aan of uit te zetten. Het eigenlijke signaal voor X/on is dezelfde bitconfiguratie als de ASCII toetsenbordcombinatie Ctrl-Q. Het X/off signaal is het Ctrl-S teken.
Wanneer u uw modem aan het besturingssysteem van uw computer koppelt, moet u wellicht het gebruik van flow control met X/on/Xoff of met CTS/RTS (Clear to Send/Ready to Send) specificeren. Bij het verzenden van binaire gegevens kan het zijn dat Xon/Xoff niet wordt herkend, omdat het tekengecodeerd is.