Is spectral leakage normal for FFT? I record a sample of 2000 data points, with a sampling rate of 40khz, so freq. resolution is 20hz. I multiplied the chunk of data with a Hanning window prior to doing the FFT.

I recorded a 1khz test tone, and the result of FFT showed a peak at 1khz, as it should. But the magnitudes at 980hz and 1020hz is also significantly higher than the rest, although not as high as the magnitude at 1khz (about 50%).

Is this really bad? Did I apply the Hanning window wrong or is this unavoidable? Will using finer frequency resolution help?
For the Hanning window, the zero crossings occur at a much wider bandwidth (trading for lower side-lobe height) compared to a rectangular window (sharper main-lobe width but higher side-lobe). You need to be careful with the requirements regarding the choice of window given the trade off between side-lobe height and main-lobe width.