AbstractVariable-length T-Codes may be used to provide robust compression for data communication and storage on noisy channels or media. Over the past twelve years, a number of papers on T-Codes have been published in various journals and as technical reports. During this time, notation and scope of the T-Codes have changed considerably, giving rise to a more integrated theory of T-Codes as recursive codes. This paper presents all known core principles of T-Code theory by taking a recursive approach throughout. A sufficient condition for information sources, ensuring decoder self-synchronisation for the T-encoded symbol stream, is introduced. By example of a recursive program, the paper shows how a suitable T-Code set for encoding a given memoryless source can be found.