ClipboardItem: ClipboardItem() constructor

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The ClipboardItem() constructor creates a new ClipboardItem object, which represents data to be stored or retrieved via the Clipboard API clipboard.write() and methods, respectively.

Note: Image format support varies by browser. See the browser compatibility table for the Clipboard interface.


new ClipboardItem(data)
new ClipboardItem(data, options)



An Object with the MIME type as the key and data as the value. The data can be represented as a Blob, a String or a Promise which resolves to either a blob or string.

options Optional

An object with the following properties:

presentationStyle Optional

One of the three strings: unspecified, inline or attachment. The default is unspecified.

Note: You can also work with text via the Clipboard.readText() and Clipboard.writeText() methods of the Clipboard interface.


The below example requests a PNG image using the Fetch API, and in turn, the responses' blob() method, to create a new ClipboardItem. This item is then written to the clipboard, using the Clipboard.write() method.

Note: You can only pass in one clipboard item at a time.

async function writeClipImg() {
  try {
    if (ClipboardItem.supports("image/png")) {
      const imgURL = "/myimage.png";
      const data = await fetch(imgURL);
      const blob = await data.blob();
      await navigator.clipboard.write([
        new ClipboardItem({
          [blob.type]: blob,
      console.log("Fetched image copied.");
    } else {
      console.log("image png is not suported");
  } catch (err) {
    console.error(, err.message);


Clipboard API and events
# dom-clipboarditem-clipboarditem

Browser compatibility

BCD tables only load in the browser

See also