JavaScript Temporal Duration toJSON()
Example
const d1 = Temporal.Duration.from({ hours:2, minutes:30 });
let text = d1.toJSON();
Try it Yourself »
Description
The toJSON() method returns a string representing the duration
in RFC 9557 format.
The toJSON() method returns the same as the
toString() method.
The toJSON() method is intended to be called
by the JSON.stringify() method.
The toJSON() method does not change the original instant.
Syntax
duration.toJSON()
Parameters
| NONE |
Return Value
| Type | Description |
| String | The duration in RFC 9557 format. |
Browser Support
Temporal is a major update to the JavaScript standard (TC39).
It is currently fully supported in Chrome, Edge, and Firefox, and is expected to reach full availability across browsers throughout 2026.
| Chrome 144 |
Edge 144 |
Firefox 139 |
Safari |
Opera |
| Jan 2026 | Jan 2026 | May 2025 | 🚫 | 🚫 |
Opera Support
Opera support will probably appear 1-3 browser cycles after Chromium, which often means a few months later.
Safari Support
As of March 2026, Safari has not yet announced a confirmed release date for stable support of the JavaScript Temporal API.
However, the implementation is actively in development and can be tested today in Safari Technology Preview by enabling the --use-temporal runtime flag.
Polyfill
Until Opera and Safari supports Temporal natively, use the official polyfill.
This Polyfill allows Temporal code to run in all browsers today:
Example
<script
src="https://cdn.jsdelivr.net/npm/@js-temporal/polyfill/dist/index.umd.js">
</script>
<script>
// Now you can use Temporal
const today = Temporal.Now.plainDateISO();
</script>