1. A computer-implemented method comprising: receiving at a client device, an indication to render a screenshot of a webpage presented on the client device; determining that one or more images are presented on the webpage; and for each image, determining whether an image is on a same domain as the webpage; identifying the image data from the respective image if the respective image is on the same domain; and using an image proxy to identify the image data of the respective image if the respective image is not on the same domain; creating at the client device, a canvas; traversing a document object model (DOM) of the webpage; for each of one or more nodes in the DOM: identifying a property of a respective node; and rendering data in the respective node on the canvas based on the property, wherein the data includes the image data if one or more images are presented on webpage.