The study of gene function often requires changing the expression of a gene and evaluating the consequences. In principle, the expression of any given gene can be modulated in a quasi-continuum of discrete expression levels but the traditional approaches are usually limited to two extremes: gene knockout and strong overexpression. However, applications such as metabolic optimization and control analysis necessitate a continuous set of expression levels with only slight increments in strength to cover a specific window around the wildtype expression level of the studied gene; this requirement can be met by using promoter libraries. This approach generally consists of inserting a library of promoters in front of the gene to be studied, whereby the individual promoters might deviate either in their spacer sequences or bear slight deviations from the consensus sequence of a vegetative promoter. Here, we describe the two different methods for obtaining promoter libraries and compare their applicability.