A method for contextual data visualization includes receiving data selected by a user and meta-data associated with the data. The data is analyzed, using a processor of a computing device, to determine content and structure attributes of the data that are relevant to visualization of the data. The meta-data is analyzed, using a processor of the computing device, to determine a context in which the visualization of the data will be used. A database comprising an aggregation of visualization records from a plurality of users is accessed and at least one template from the data visualization records that matches the data attributes and context is selected. A data visualization is created by applying at least one template to the data.