There is considerable interest in the skin as a site of drug application both for local and systemic effect. However, the skin, in particular the stratum corneum, poses a formidable barrier to drug penetration thereby limiting topical and transdermal bioavailability. Skin penetration enhancement techniques have been developed to improve bioavailability and increase the range of drugs for which topical and transdermal delivery is a viable option. This review describes enhancement techniques based on drug/vehicle optimisation such as drug selection, prodrugs and ion-pairs, supersaturated drug solutions, eutectic systems, complexation, liposomes, vesicles and particles. Enhancement via modification of the stratum corneum by hydration, chemical enhancers acting on the structure of the stratum corneum lipids and keratin, partitioning and solubility effects are also discussed. The mechanism of action of penetration enhancers and retarders and their potential for clinical application is described.