We give faster methods to compute discrete convolutions. We assume that all the inputs are packed, that is, strings are packed into words such that each word is packed with [Formula: see text] characters, where w is the length of a machine word and ∑ is the alphabet. The output of our methods is also packed, that is, each word of the output contains more than one element of the result. The approach is based on the word-level parallelism and the FFT. Given two strings with m and n ( n ≥ m ) characters that are packed into [Formula: see text] and [Formula: see text] words respectively, the convolution of them can be computed in [Formula: see text] time, where [Formula: see text] by the FFT. Experiments show that our method is three times faster than the convolution using the standard trick. We consider the problem of pattern matching with wildcards on packed strings. It finds all the occurrences of a pattern in a text, both of which may contain wildcards. By the convolution of packed strings, we present algorithms that are faster than the previous [Formula: see text]-time algorithm, where m is the length of the pattern and n the length of the text. The algorithm runs in [Formula: see text] time, where occ is the number of occurrences of the pattern in the input. Experiments show that the method is faster than the bit-parallel wildcard matching algorithm for long patterns.