Kannur district is connected by means of roadways and railways. The length of the railway line in Kannur district is estimated to be around 57 kms. This railway line is part of the Mangalore-Shornur route of Palakkad division. The main railway stations in Kannur district are Chirakkal, Kannur, Thalassery, Dharmadom, Pappinisseri, Elimala, Payangadi, Mahe, Valapattanam, Kannapuram and Payyanur. The biggest station in this district is Kannur railway station and many major trains pass through this district.
Kannur has a good road network and the National Highway that passes through this district is NH 17. It has a length of 80.5 kms. The total length of the PWD roads in Kannur district is estimated to be 1421 kms. The State Highways in Kannur are SH 30, SH 34, SH 36 and SH 38. The major bus Stations in Kannur District are at Kannur, Payyanur, Thaliparamba, Mahe, Mattannur, Iritty and Thalasseri.
The nearest airport to Kannur is the Karipur International Airport at a distance of 115 kms. Another airport which is also close to Kannur is the Mangalore International Airport at a distance of 170 kms. A new International airport has been proposed in Kannur at Mattanur. There are minor ports in Kannur at Thalasseri, Azhikkal and Kannur.