If you scroll down you should see a rough rendition of a million dots generated by building a size x size square of the original image, then a square of that image and so on.
The canvas size of 800 = 800x800 pixels clearly isn't enough to render a million dots properly. A value of (say) 10,000 may render all the dots but high values can crash the browser.
The rendered images can be downloaded by right-clicking and selecting "Save As..." (or equivalent on your device).
This is all implemented in-browser using conventional HTML, CSS &
<canvas>, then draws that canvas's content onto another
canvas as many times as required (multiplier x multiplier), then
repeats for the number of iterations specified.
Here's a blog post with more background and the source code.
Danny Ayers, 2021
Use this form to upload your own image and draw a million of those :