Knighton (en galés, Tref-y-clawdd o Trefyclo) es una localidad situada principalmente en Powys, Gales. Según el censo de 2011, tiene una población de 3007 habitantes.[1]
Un área muy pequeña, que incluye la estación de tren, está ubicada en Shropshire, Inglaterra.
El nombre significa Tierra o Villa del Caballero.[2] El nombre galés, Tref-y-clawdd, registrado oficialmente por primera vez en 1971, se traduce como Villa en el Dique, una referencia al Offa's Dyke, que está cerca.[2]