The bilateral filter is an edge-preserving smoother that has diverse applications in image processing, computer vision, computer graphics, and computational photography. The filter uses a spatial kernel along with a range kernel to perform edge-preserving smoothing. In this paper, we consider the Gaussian bilateral filter where both the kernels are Gaussian. A direct implementation of the Gaussian bilateral filter requires $O(\sigma_s^2)$ operations per pixel, where $\sigma_s$ is the standard deviation of the spatial Gaussian. In fact, it is well-known that the direct implementation is slow in practice. We present an approximation of the Gaussian bilateral filter, whereby we can cut down the number of operations to $O(1)$ per pixel for any arbitrary $\sigma_s$, and yet achieve very high-quality filtering that is almost indistinguishable from the output of the original filter. We demonstrate that the proposed approximation is few orders faster in practice compared to the direct implementation. We also demonstrate that the approximation is competitive with existing fast algorithms in terms of speed and accuracy.