Rispetto alle versioni precedenti, <canvas> è uno degli aggiornamenti più significativi di HTML5 .
L'elemento <canvas> è fondamentalmente uno spazio che può essere utilizzato per la grafica e l'animazione pur facendo parte dei tag HTML.
Non si tratta di una novità assoluta, la prima comparsa dell'elemento <canvas> risale al 2004 sotto Apple che lo implementò per incrementare le funzionalità dei MacOs X.
Già allora, questo elemento, all’interno di una pagina web permetteva di creare elementi grafici.
Nel 2011 il gruppo no-profit Khronos rilasciò con versione 1.0 della specifiche WebGL, un set di API Javascript per consentire la definizione di ambienti <canvas> tridimensionali e l’interazione tra essi, la pagina circostante e l’utente.
Negli anni seguenti, <canvas> viene ammesso dal W3C e implementato l'uso nei più diffusi browser divenendo parte delle specifiche HTML5.
Con HTML5 fu deciso di definire due modalità di utilizzo del <canvas>: 2D e 3D.
Lo sviluppatore che intende avvalersi di un <canvas> può quindi scegliere se operare in modalità (definita tecnicamente contesto) 2D o 3D.
Ad oggi, anno 2016, le versioni dei più diffusi famosi browser (Chrome , Firefox , IE ecc.) supportano in modo sufficientemente uniforme il set di comandi javascript per <canvas>.