SpeechRecognition: nomatch event

The nomatch event of the Web Speech API is fired when the speech recognition service returns a final result with no significant recognition.

This may involve some degree of recognition, which doesn't meet or exceed the confidence threshold.


Use the event name in methods like addEventListener(), or set an event handler property.

addEventListener("nomatch", (event) => {});

onnomatch = (event) => {};

Event type

Event properties

In addition to the properties listed below, properties from the parent interface, Event, are available.

SpeechRecognitionEvent.emma Read only

Returns an Extensible MultiModal Annotation markup language (EMMA) — XML — representation of the result.

SpeechRecognitionEvent.interpretation Read only

Returns the semantic meaning of what the user said.

SpeechRecognitionEvent.resultIndex Read only

Returns the lowest index value result in the SpeechRecognitionResultList "array" that has actually changed.

SpeechRecognitionEvent.results Read only

Returns a SpeechRecognitionResultList object representing all the speech recognition results for the current session.


You can use the nomatch event in an addEventListener method:

const recognition = new webkitSpeechRecognition() || new SpeechRecognition();

recognition.addEventListener("nomatch", () => {
  console.error("Speech not recognized");

Or use the onnomatch event handler property:

recognition.onnomatch = () => {
  console.error("Speech not recognized");


Web Speech API
# eventdef-speechrecognition-nomatch
Web Speech API
# dom-speechrecognition-onnomatch

Browser compatibility

BCD tables only load in the browser

See also