Clipboard API Browser Test

Tests what's needed to read the clipboard in different browsers.

0 — Copy some test data first

Select and copy this text (Ctrl/Cmd+C), so there's something in the clipboard to read:

Hello from clipboard test! 🎉 timestamp:

1 — Read on button click (user gesture)

Calls navigator.clipboard.readText() inside a click handler. This is the "happy path" — most browsers allow this with a permission prompt.

Waiting…

2 — Read automatically on page load (no user gesture)

Tries to read the clipboard immediately when the page loads, without any user interaction. Most browsers block this.

Waiting…

3 — Read after a setTimeout (delayed, no fresh gesture)

Clicks the button, but the actual read happens in a setTimeout(..., 1000). Tests whether the user gesture is still "fresh" after a delay.

Waiting…

4 — Check Permissions API

Queries navigator.permissions.query({ name: 'clipboard-read' }) to see the current permission state.

Waiting…

5 — Read via paste event (Ctrl/Cmd+V)

Listens for a paste event on the document. Click inside this box, then press Ctrl/Cmd+V.

Click here, then paste (Ctrl/Cmd+V)…

6 — Feature detection summary

Waiting…