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; creating at the client device, a canvas element, wherein the canvas element is created based on at least one client side scripting language function call; traversing, using a client side scripting language, 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, a client side scripting language, data in the respective node on the canvas element based on the property.