Performance: toJSON() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

Note: This feature is available in Web Workers.

The toJSON() method of the Performance interface is a serializer; it returns a JSON representation of the Performance object.

Syntax

js
toJSON()

Parameters

None.

Return value

A JSON object that is the serialization of the Performance object.

The returned JSON doesn't contain the eventCounts property because it is of type EventCounts, which doesn't provide a toJSON() operation.

Note: The JSON object contains the serialization of the deprecated performance.timing and performance.navigation properties. To get a JSON representation of the newer PerformanceNavigationTiming interface, call PerformanceNavigationTiming.toJSON() instead.

Examples

Using the toJSON method

In this example, calling performance.toJSON() returns a JSON representation of the Performance object.

js
performance.toJSON();

This would log a JSON object like so:

json
{
  "timeOrigin": 1668077531367.4,
  "timing": {
    "connectStart": 1668077531372,
    "navigationStart": 1668077531367,
    "secureConnectionStart": 0,
    "fetchStart": 1668077531372,
    "domContentLoadedEventStart": 1668077531580,
    "responseStart": 1668077531372,
    "domInteractive": 1668077531524,
    "domainLookupEnd": 1668077531372,
    "responseEnd": 1668077531500,
    "redirectStart": 0,
    "requestStart": 1668077531372,
    "unloadEventEnd": 0,
    "unloadEventStart": 0,
    "domLoading": 1668077531512,
    "domComplete": 1668077531585,
    "domainLookupStart": 1668077531372,
    "loadEventStart": 1668077531585,
    "domContentLoadedEventEnd": 1668077531580,
    "loadEventEnd": 1668077531585,
    "redirectEnd": 0,
    "connectEnd": 1668077531372
  },
  "navigation": {
    "type": 0,
    "redirectCount": 0
  }
}

To get a JSON string, you can use JSON.stringify(performance) directly; it will call toJSON() automatically.

Specifications

Specification
High Resolution Time
# dom-performance-tojson

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
toJSON

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also