iOS имеет разные пределы.
Используя симулятор iOS 7, я смог продемонстрировать, что предел равен 5 МБ следующим образом:
var canvas = document.createElement('canvas');
canvas.width = 1024 * 5;
canvas.height = 1024;
alert(canvas.toDataURL('image/jpeg').length);
// prints "110087" - the expected length of the dataURL
, но если я подниму размер холста вверх с помощью одной строки пикселей:
var canvas = document.createElement('canvas');
canvas.width = 1024 * 5;
canvas.height = 1025;
alert(canvas.toDataURL('image/jpeg'));
// prints "data:," - a broken dataURL