Ultrashort laser pulses are finding increasing application in numerous branches of science and technology. This article is an attempt to provide a comprehensive review of the whole field of ultrashort pulse generation, covering both the experimental and the theoretical aspects of the subject. By far the commonest method of generating pulses in the picosecond and subpicosecond regime is the technique known as 'modelocking' and it is with this that the review is therefore largely concerned. After introductory remarks and a simple treatment of some of the general principles, the central sections of the review deal with the main generic techniques, namely spontaneous mode-locking, active mode-locking (including mode-locking by synchronous pumping) and passive mode-locking. Within each section the material is organised into three main categories, namely ( a ) general background, ( b ) historical survey (mainly relating to experimental work and densely packed with references to published work) and (c) theoretical methods (presented with a strongly pedagogical flavour). A major section at the end deals with a mass of important (and mostly recent) work that does not fit naturally into the main framework of the review. This includes USP generation in semiconductor lasers, a number of special methods such as injection mode-locking (and others where two or more mode-locking techniques are combined), as well as chopping and switching techniques.