Varicode is a self-synchronizing code for use in PSK31. It supports all ASCII characters, but the characters used most frequently in English have shorter codes. The space between characters is indicated by a 00 sequence, an implementation of Fibonacci coding. Originally created for speeding up real-time keyboard-to-keyboard exchanges over low bandwidth links, Varicode is freely available.
Beginning with the single-bit code "1", valid varicode values may be formed by prefixing a "1" or "10" to a shorter code. Thus, the number of codes of length n is equal to the Fibonacci number F<sub>n</sub>. Varicode uses the 88 values of lengths up to 9 bits, and 40 of the 55 codes of length 10.
As transmitted, the codes are two bits longer due to the trailing delimiter 00.