Skip to main content
HTML Validation

Bad value X for attribute “size” on element “input”: Zero is not a positive integer.

About This HTML Issue

The size attribute on an <input> element must be a whole number greater than zero, so size="0" is invalid.

size sets the visible width of a text field, counted in characters. It applies to the text, search, url, tel, email and password input types. The HTML standard requires a valid non-negative integer greater than zero, and browsers ignore a zero value and render the field at their default width of about 20 characters. Any value that parses to zero, such as 0 or 00, produces this error.

Templates and CMS search modules often write size="0" to mean "no fixed width" and leave the sizing to CSS. The attribute has no such meaning, so the zero only adds an error to the page.

Remove the attribute when CSS sets the width of the field, or set it to the number of characters that should be visible, such as size="30". The size attribute does not limit how much text the user can type; maxlength does that.

Invalid example

<form action="/search">
  <label for="q">Search</label>
  <input type="text" id="q" name="q" size="0">
</form>

Valid example

<form action="/search">
  <label for="q">Search</label>
  <input type="text" id="q" name="q" size="30">
</form>

Find issues like this automatically

Rocket Validator scans thousands of pages in seconds, detecting HTML issues across your entire site.

Help us improve our guides

Was this guide helpful?
🌍 Trusted by teams worldwide

Validate at scale.
Ship accessible websites, faster.

Automated HTML & accessibility validation for large sites. Check thousands of pages against WCAG guidelines and W3C standards in minutes, not days.

Scheduled Reports
API Access
Open Source Standards
€5 / week

1K Weekly

1,000 monthly checks. Cancel anytime.

Get 1K Weekly →

Join teams across 40+ countries