情報通信における制御コードの一つで、否定的な返答や通信に対する応答を意味する。一般には、通信内容やコマンド等々にエラーがあり、要求が受け付けられなかったことを示すメッセージである。
ASCIIでは1/6(0x16)を、EBCDICでは3/13(0x3d)を使うのが一般的である。
また派生して、何らかのプロトコルにおいて否定的な返答についてNAKと呼ぶこともあり、そういった物も含めてNAKの返信が戻ることを「NAKが返る」のように表現する。
通信プロトコルにおいて、NAKの送受信は重要なものである。要求が正常に受け付けられたかどうかを判断せねば、安定した動作は期待できないからである。
このため多くのプロトコルではACKやNAK返信の機能を持っている。
レガシーな通信媒体ではNAK文字を返信することでNAKとする実装が多い。RS-232Cや類する媒体を用い、ほぼ物理層の規定のみで使われるような世界では、この方式が採用される。
また、仮にプロトコルを用いていても、インターネット用プロトコルのような複雑なものは当時殆どなかった。このため、次のプロトコルはNAK文字をNAKに採用している。
また、パラレルインターフェイス(プリンタポートやIEEE 1284など)では、ACK信号を送るための線を1本以上用意し、その信号レベルによってこれを実現することもある。
最近のインターネット用プロトコルの流行としては、昔よりは気の利いた方法がよく使われている。
「NAK」だけではエラーであることしか分からないが、最近のプロトコルは、正常か不正か、不正ならどのような不正なのかを番号によって管理し、返信してくるものが多い。
Webを見るために頻用されるHTTPでも、正常なら200、サーバ故障なら500などが返る。この場合、正常でない返信がNAKであると考えることができる。
通信以外の世界でも、NAKは様々な表現として使われている。