From the early days of HTML5 when drag and drop was new. I cut up an image and converted the pieces to SVG. These are mixed up in a grid and you have to drag and drop them to reassemble the image. Vanilla JS written in 2013, still works. Its embedded inside a blogger blog post and it works on desktop Chrome and Firefox still.

Here is the link: