It can be done without to much code, even in a good old spreadsheet program. But to do so with QGis: The idea is to build a WKT, well known text out of it. You have the lower left of a square and need the other 4 points to build a geometry (start and endpoint needs to be onto each other). As it is a square its easy with simple math. You add 50 to the x-coordinate, then 50 to both x and y and so on. The rules for formatting a wkt can be found here : https://en.wikipedia.org/wiki/Well-known_text
You end up with the following you put into the field-calculator for a new text field (set it to a length of 254, as the maximum for a shapefile and sufficient here):
'POLYGON ((' || $x || ' ' || $y || ', '|| ($x+50) || ' ' || $y || ', '|| ($x+50) || ' ' || ($y+50) || ', '|| $x || ' ' || ($y+50) || ', '|| $x || ' ' || $y || ', ' || '))'
It is just some text concatenation to build the wkt. You then export your layer to a csv. And load it as a text via "Layer menue - Load layer from textfile" You set it to comma seperated and choose "Well-Known-Text" at geometry definition and your text field you created earlier. Choose the correct coordinate reference when Qgis asks you after loading.
Added some pictures for better clearance (sorry for the german qgis, but the idea should be possible to follow):




A vector grid would just place a grid over the entire canvas/selection.
– user82635 Sep 15 '16 at 11:21