maxlength attribute for input and textarea elements

Declares an upper bound on the number of characters the user can input. Normally the UI ignores attempts by the user to type in additional characters beyond this limit.

Spec https://html.spec.whatwg.org/multipage/forms.html#attr-input-maxlength
Status WHATWG Living Standard
IE Edge Firefox Chrome Safari Opera
      98    
    95 97    
    94 96 TP  
11 95 93 95 15 80
10 94 92 94 14.1 79
9 (1,2,3) 93 91 93 14 78
8 (1,2,3) 92 90 92 13.1 77
Show all
7 (1,2,3) 91 89 91 13 76
6 (1,2,3) 90 88 90 12.1 75
5.5 89 87 89 12 74
  88 86 88 11.1 73
  87 85 87 11 72
  86 84 86 10.1 71
  85 83 85 10 70
  84 82 84 9.1 69
  83 81 83 9 68
  81 80 81 8 67
  80 79 80 7.1 66
  79 78 79 7 65
  18 (4) 77 78 6.1 64
  17 (4) 76 77 6 63
  16 (4) 75 76 5.1 62
  15 (4) 74 75 5 60
  14 (4) 73 74 4 (1,2,3) 58
  13 (4) 72 73 3.2 (1,2,3) 57
  12 (4) 71 72 3.1 56
    70 71   55
    69 70   54
    68 69   53
    67 68   52
    66 67   51
    65 66   50
    64 65   49
    63 64   48
    62 63   47
    61 62   46
    60 61   45
    59 60   44
    58 59   43
    57 58   42
    56 57   41
    55 56   40
    54 55   39
    53 54   38
    52 53   37
    51 52   36
    50 (4) 51   35
    49 (4) 50   34
    48 (4) 49   33
    47 (4) 48   32
    46 (4) 47   31
    45 (4) 46   30
    44 (4) 45   29
    43 (4) 44   28
    42 (4) 43   27
    41 (4) 42   26
    40 (4) 41   25
    39 (4) 40   24
    38 (4) 39   23
    37 (4) 38   22
    36 (4) 37   21
    35 (4) 36   20
    34 (4) 35   19
    33 (4) 34   18
    32 (4) 33   17
    31 (4) 32   16
    30 (4) 31   15
    29 (4) 30   12.1 (1)
    28 (4) 29   12 (1)
    27 (4) 28   11.6 (1)
    26 (4) 27   11.5 (1)
    25 (4) 26   11.1 (1)
    24 (4) 25   11 (1)
    23 (4) 24   10.6 (1)
    22 (4) 23   10.5 (1)
    21 (4) 22   10.0-10.1 (1)
    20 (4) 21   9.5-9.6 (1)
    19 (4) 20   9
    18 (4) 19    
    17 (4) 18    
    16 (4) 17    
    15 (4) 16    
    14 (4) 15    
    13 (4) 14    
    12 (4) 13    
    11 (4) 12    
    10 (4) 11    
    9 (4) 10    
    8 (4) 9    
    7 (4) 8    
    6 (4) 7    
    5 (4) 6    
    4 (4) 5    
    3.6 (1,2,3) 4    
    3.5 (1,2,3)      
    3 (1,2,3)      
    2 (1,2,3)      
Safari on iOS Opera Mini Android Browser Blackberry Browser Opera Mobile Android Chrome Android Firefox IE Mobile Android UC Browser Samsung Internet QQ Browser Baidu Browser KaiOS Browser
15 all (1) 94 (6) 10 64 (6) 94 (6) 92 (6) 11 12.12 15.0 (6) 10.4 7.12 2.5 (4)
14.5-14.8   4.4.3-4.4.4 7 12.1 (1)     10   14.0 (6)      
14.0-14.4   4.4   12 (1)         13.0 (6)      
13.4-13.7   4.2-4.3   11.5 (1)         12.0 (6)      
Show all
13.3   4.1   11.1 (1)         11.1-11.2 (6)      
13.2   4   11 (1)         10.1 (6)      
13.0-13.1   3   10 (1)         9.2 (6)      
12.2-12.5   2.3             8.2 (6)      
12.0-12.1   2.2             7.2-7.4 (6)      
11.3-11.4   2.1             6.2-6.4 (6)      
11.0-11.2                 5.0-5.4 (6)      
10.3                 4 (6)      
10.0-10.2                        
9.3                        
9.0-9.2                        
8.1-8.4 (5)                        
8 (5)                        
7.0-7.1                        
6.0-6.1                        
5.0-5.1                        
4.2-4.3                        
4.0-4.1                        
3.2                        

Notes

  1. <textarea>'s' UI does not prevent the user from typing additional characters beyond the maxlength limit.

  2. Does not support the HTMLTextAreaElement.maxLength DOM property.

  3. Does not support ValidityState.tooLong. In some cases, this is because .validity is not supported in the first place.

  4. Does not support ValidityState.tooLong correctly in the (unlikely) case of the value being initially set too long, then changed by the user to a still incorrect state. See Firefox bug and MS Edge bug.

  5. <input>'s UI does not prevent the user from typing additional characters beyond the maxlength limit between two existing characters of the string.

  6. Allows text beyond maxlength to be entered at first, but removes all characters past the maxlength when focus is lost.

Bugs

  • In Opera 12.1 & below ValidityState.tooLong is true when the input's initial value exceeds the maxlength. Per the spec, it should instead be false until the user edits the value.

Resources

Data by caniuse.com
Licensed under the Creative Commons Attribution License v4.0.
https://caniuse.com/maxlength