IDN stands for “internationalized domain name.” It is a domain name that uses characters besides the standard English letters, numbers, and symbols. They are represented with multi-byte Unicode.
For example, the IDN for Cologne Student Flats is köln.studenten-wohnung.de. This is mostly a standard domain name. For site from Greek or Indian, however, the entire domain name (other than the extension) can consist of international characters.
Punycode is a system for representing Unicode IDNs using only the standard English characters, numbers, and symbols.
For example, the IDN we used above, köln.studenten-wohnung.de, is represented in Punycode as xn--kln-sna.studenten-wohnung.de.