Canvas — это элемент HTML5, который представляет собой прямоугольную область на странице, которую можно настраивать и рисовать на ней с помощью JavaScript.
Первые признаки тогда еще проприетарного элемента Canvas были внесены в древо исходного кода WebKit — Ричардом Уильямсоном 25 мая 2004 года. Идея Apple заключалась в том, чтобы предоставить доступ к системе рисования Quartz операционной системы Mac OS X для JavaScript и HTML, чтобы упростить написание графических виджетов для Apple Dashboard. Следовательно, поскольку оба продукта используют один и тот же движок рендеринга, элемент стал доступен также в браузере Safari.
Несколько лет ранее, в конце октября 2001 года, Джо Хьюитт открыл issue #102285 в системе отслеживания ошибок Mozilla. Предлагая тот же самый элемент и мотивацию, его предложение заключалось в реализации пользовательского элемента управления рисованием для XML User Interface Language Mozilla. Брендан Айк, создатель языка JavaScript, отверг идею как нечто для фанатов рендеринга.
Первого апреля 2005 года Владимир Вукичевич из Mozilla загрузил патч с базовыми функциями Canvas, который открыл путь для дальнейшей работы в Firefox. Хотя эта первая реализация работала только в Linux из-за разных форматов цвета в Windows и Mac OS X, выход их проекта "Deer Park" в конце ноября, известного как Firefox 1.5, представил кросс-платформенную реализацию Canvas.
Opera ввел элемент Canvas в середине 2006 года с выпуском Opera 9. Это означало, что все основные браузеры, за исключением Internet Explorer, реализовали элемент на уровне ядра. Однако это не означало, что элемент Canvas был непригоден для использования, так как проекты Google ExCanvas и Mozilla IECanvas обеспечили ограниченную поддержку элемента в браузере Microsoft.
Путь к правильной стандартизации был далеко не гладким. Это началось с отсутствия должного предложения со стороны Apple, что привело к тому, что первая спецификация была основана на работах по обратной инженерии Иэна Хиксона, редактора спецификации HTML5. В 2005 году Джаянт Сай выдвинул первую идею относительно рисования текста на холсте, которая позже была оформлена в приличное предложение Стефаном Хаустайном.
Тем не менее, не все прошло гладко. После того как Mozilla Firefox и Opera реализовали элемент Canvas, Хелен Плотка Уоркман, старший юрист Apple по патентам, отправила сообщение в WHATWG и Иэну Хиксону, заявив, что Apple считает себя владельцем интеллектуальной собственности по элементу холста и рассмотрит возможность предоставления этих прав интеллектуальной собственности только в случае принятия чернового стандарта Веб-приложений в качестве формализованного стандарта с W3C.
В феврале 2008 года, был опубликован первый черновик спецификации HTML5 как рабочий черновик W3C. 18 июня того же года Apple раскрыла патент 11/144384 для использования спецификации HTML5. Тот же патент был раскрыт в еще шести юрисдикциях, что позволило WHATWG продолжать включать новый элемент Canvas.