This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The Summarizer API summarizes a given body of text via a browser's internal AI model (which may differ between browsers).
Writing a summary of a larger body of text is a common writing task, and one that AI is well-suited to. Typical use cases include:
The Summarizer API provides an asynchronous (Promise-based) mechanism for a website to feed a body of text into the browser's own internal AI model and request that it returns a summary of the text based on specified options.
This is done using the functionality made available by the Summarizer interface, in a two-step process:
Summarizer object instance using the Summarizer.create() static method, specifying options for what kind of summary you want written. Options include length, type (for example, "tldr" or key points), format (plain text or markdown), and input and output languages. Note: If you want to check whether the browser AI model is able to support your preferences, you can do so with the Summarizer.availability() static method.
Summarizer.summarize() instance method to request the summary.After a Summarizer instance has been created, you can remove it again using the Summarizer.destroy() instance method. You can also cancel a pending create() or summarize() operation using an AbortController.
See Using the Summarizer API for a walkthrough of how the API works.
Summarizer Experimental
Contains all the functionality for the Summarizer API, including checking AI model availability, creating a new Summarizer instance, using it to generate a new summary, and more.
Permissions-Policy; the summarizer directiveControls access to the Summarizer API. Where a policy specifically disallows the use of the Summarizer API, any attempts to call the API's methods will fail with a NotAllowedError DOMException.
The specification requires that a user has recently interacted with the page when creating Summarizer objects (transient user activation is required).
In addition, the specification controls access to the API via summarizer Permissions-Policy directives.
For a full example, see Using the Summarizer API.
| Specification |
|---|
| Writing Assistance APIs> # summarizer-api> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
Summarizer_API |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
availability_static |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
create_static |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
destroy |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
expectedContextLanguages |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
expectedInputLanguages |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
format |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
inputQuota |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
length |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
measureInputUsage |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
outputLanguage |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
sharedContext |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
summarize |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
summarizeStreaming |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
type |
138Availability may be subject to geographical restrictions. |
138 | No | 122Availability may be subject to geographical restrictions. |
No | No | No | No | No | No | No | No |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Summarizer_API