Let $t$ represent the imaginary part of a zeta zero on the critical line. The asymptotic expansion of RiemannSiegelTheta[t]
for large $t$ is
Simplify[Series[RiemannSiegelTheta[t], {t, Infinity, 2}]]
the first term of which is $\frac{1}{2}{\rm Log}[\frac{t}{2\pi}]-\frac{1}{2}$. For large $t$, the phase of the zeta function on the critical line is $\theta(t)=\frac{t}{2} Log[\frac{t}{2\pi}]-\frac{t}{2}$. The instantaneous angular frequency $\omega$ is the derivative of the phase, that is, $\omega = \frac{1}{2} Log[\frac{t}{2\pi}]$. The instantaneous period is $P=2 \pi/\omega=4\pi/Log[\frac{t}{2\pi}]$. Each period $P$ contains two zeros, so the approximate zero spacing as $t\rightarrow\infty$ is the period divided by two, or $2\pi/Log[\frac{t}{2\pi}]$. To normalize the root separation, divide by this number.
NormedZetaZeroSpacing[t_List] :=
Differences[t]*Log[Most[t]/(2 \[Pi])]/(2 \[Pi])
Generate the imaginary parts of some zeros.
t = ParallelTable[N[Im[ZetaZero[k]]], {k, 1, 40000}];
Plot the histogram.
Histogram[NormedZetaZeroSpacing[t], {0.02}, Frame -> True,
AspectRatio -> 1/1.5,
FrameLabel -> {"Normalized Zero Spacing", "Number"},
BaseStyle -> {FontSize -> 12}, PlotRange -> {{0, 3.0}, All},
PlotLabel -> "Normalized Spacing of First 40000 Zeros of Zeta Function"]