# Manifest description: optional app-store text

> The description manifest member is optional text for app-store listings; Chrome has supported it since version 88, but Firefox and Safari do not implement it.

import CompatTable from '@components/CompatTable.astro';

**In one line:** per MDN, the `description` manifest member "is used to explain the
core features or functionality of your web application," its value "is used in app
stores and other distribution platforms to help users understand what your app
does," and it also "provides an accessible description of your installed app."

## Where it is supported

<CompatTable feature="manifest-description" />

Per MDN's browser-compat-data, Chrome has supported `description` since version 88.
Firefox and Safari do not implement the member at all, and on Firefox for Android
specifically the property parses without error but has no effect.

## How to use it

```json
{
  "name": "My App",
  "description": "Track your habits and build streaks, even offline."
}
```

## How to detect it at runtime

MDN states that `description` "is supplementary metadata that does not affect the
app's runtime behavior or how browsers present the app." Neither MDN nor its
compat data describes a way for a script to query whether the current browser
acts on this member — reading the page's own manifest only confirms what the site
declared, not whether the browser or an app store will surface it:

```js
async function manifestDeclaresDescription() {
  if (typeof document === 'undefined') {
    // Fallback: no manifest link element available in this context.
    return false;
  }
  const link = document.querySelector('link[rel="manifest"]');
  if (!link) return false;
  const manifest = await fetch(link.href).then((r) => r.json());
  return typeof manifest.description === 'string' && manifest.description.length > 0;
}
```

Treat this only as a deployment check (did the manifest ship a non-empty
`description`?), not as a support check — it cannot tell you whether the browser or
an app store will do anything with the text.

## Practical checklist

- Per MDN's browser-compat-data, Firefox does not support `description` at all —
  don't rely on it being surfaced there.
- MDN's data notes that on Firefox for Android specifically, the property parses
  without error but has no effect, so validation alone won't reveal that it is
  being ignored.
- Safari does not implement `description` either, per the same browser-compat-data
  — see the table above for the full per-browser picture.
- MDN notes `description` is optional and that "app stores may not use this text
  when presenting your app," so don't treat it as your only channel for app-store
  copy you control.

## Where to go next

- [Web App Manifest: related_applications / prefer_related_applications support](/compatibility/manifest-related-applications/)
- [Manifest scope: your PWA's installation boundary](/reference/manifest/scope/)