Die Fano-Bedingung (nach Robert Fano) bezeichnet in der Kodierungstheorie der Informatik die Eigenschaft einer Sprache, präfix-frei zu sein. In einer Sprache, die der Fano-Bedingung genügt, gibt es also kein Wort, welches identisch mit dem Anfang eines anderen Wortes ist.
Präfix-freie Sprachen vereinfachen die Worterkennung, da nach jedem erkannten Wort sofort zum nächsten übergegangen werden kann. Eine weitere Vorausschau ist aufgrund der Präfixfreiheit nicht nötig.
Mit Hilfe der Shannon-Fano-Kodierung oder der Huffman-Kodierung lassen sich Kodierungen konstruieren, die die Fano-Bedingung erfüllen. Ein Code, der die Fano-Bedingung erfüllt, wird Präfixcode genannt.
Sei eine Sprache und das leere Wort. erfüllt die Fanobedingung, ist also präfixfrei genau dann, wenn ein Gefüge von zwei Wörtern der Sprache nur dann ein Wort sein kann, wenn einer der Bestandteile das leere Wort ist:
Ein deterministischer Kellerautomat, der mit leerem Keller akzeptiert, akzeptiert genau die Sprachen, die die Fano-Bedingung erfüllen.