The mark() method creates a timestamp in the browser's performance entry buffer with the given name. The application defined timestamp can be retrieved by one of the Performance interface's getEntries*() methods (getEntries(), getEntriesByName() or getEntriesByType()).

Note: This feature is available in Web Workers.

The mark's performance entry will have the following property values:

If the name given to this method already exists in the PerformanceTiming interface, SyntaxError is thrown.




A DOMString representing the name of the mark.

Return value



The following example shows how mark() is used to create an application-defined peformance entry in the browser's performance entry buffer.

function create_mark(name) {
  if (performance.mark === undefined) {
    console.log("performance.mark Not supported");
  // Create the performance mark


Specification Status Comment
User Timing Level 2
The definition of 'mark()' in that specification.
Working Draft Clarifies mark() processing model.
User Timing
The definition of 'mark()' in that specification.
Recommendation Basic definition.

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic Support 43.0 (Yes) 41 10 33 No support
Feature Android Android Webview Edge Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic Support No support 46.0 (Yes) 42 42 10 33 No support 46.0

Document Tags and Contributors

Last updated by: chrisdavidmills,