/Web APIs


Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

Note: This page describes the Keygen Element interface as specified, not as currently implemented by Gecko. See bug 101019 for details and status.

The <keygen> elements expose the HTMLKeygenElement interface, which provides special properties and methods (beyond the regular element object interface they also have available to them by inheritance) for manipulating the layout and presentation of keygen elements.



Is a Boolean that reflects the autofocus HTML attribute, indicating that the form control should have input focus when the page loads.


Is a DOMString that reflects the challenge HTML attribute, containing a challenge string that is packaged with the submitted key.

form Read only

Is a HTMLFormElement that indicates the control's form owner, reflecting the form HTML attribute if it is defined.


Is a DOMString that reflects the keytype HTML attribute, containing the type of key used.

labels Read only Unimplemented (see bug 556743)

Is a NodeList that represents a list of label elements associated with this keygen element.


Is a DOMString that reflects the name HTML attribute, containing the name for the control that is submitted with form data.

type Read only

Is a DOMString that must be the value keygen.

validationMessage Read only

Is a DOMString representing a localized message that describes the validation constraints that the control does not satisfy (if any). This is the empty string if the control is not a candidate for constraint validation (willValidate is false), or it satisfies its constraints.

validity Read only

Is a ValidityState representing the validity states that this element is in.


Is a Boolean that is always false because keygen objects are never candidates for constraint validation.


Name & Arguments Return Description
checkValidity() Boolean Always returns true because keygen objects are never candidates for constraint validation.
setCustomValidity(in DOMString error) void Sets a custom validity message for the element. If this message is not the empty string, then the element is suffering from a custom validity error, and does not validate.

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
Never fully implemented. See bug 1315460.

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.