We present a deterministic \(n^{2+o(1)}\) -time algorithm that approximates the crossing number of any graph G of order n up to an additive error of \(o(n^4)\) . We also provide a randomized polynomial-time algorithm that constructs a drawing of G with \(\text {cr}(G)+o(n^4)\) crossings. These results yield a \(1+o(1)\) approximation algorithm for the crossing number of dense graphs. Our work complements a paper of Fox, Pach and Súk [20], who obtained similar results for the rectilinear crossing number. The results in [20] and in this paper imply that the (normalized) crossing and rectilinear crossing numbers are estimable parameters. Motivated by this, we introduce two graphon parameters, the crossing density and the rectilinear crossing density, and we prove that, in a precise sense, these are the correct continuous analogs of the crossing and rectilinear crossing numbers of graphs.