DNT

The HTTP DNT request header is an unofficial, deprecated header that expressed a user's tracking preference. Voluntary compliance and lack of legal backing led to its removal from major browsers.

Deprecated

The W3C Tracking Protection Working Group closed in January 2019 without advancing DNT beyond a Working Group Note. Safari removed DNT in 2019, Firefox removed DNT in February 2025. The Sec-GPC header (Global Privacy Control) replaces DNT with legal enforceability under CCPA and other privacy laws.

Note

The "X-" naming convention does not apply to DNT, but the header is not registered in the IANA HTTP Field Name Registry and never reached W3C Recommendation status.

Usage

The DNT header communicates a tracking preference from the browser to the server. A value of 1 signals the user prefers not to be tracked. A value of 0 signals consent to tracking or an active exception. When the header is absent, the user has not expressed a preference.

The header originated from a 2009 prototype Firefox add-on and gained momentum after the U.S. Federal Trade Commission proposed a "Do Not Track" mechanism in December 2010. Firefox shipped DNT support in March 2011, followed by Internet Explorer, Chrome, and Safari.

Adoption failed because compliance was voluntary. No legal mandate or enforcement mechanism existed, and the advertising industry largely ignored the signal. The W3C Tracking Protection Working Group worked on a formal specification from 2011 to 2019 but closed without reaching consensus. Microsoft enabling DNT by default in Internet Explorer 10 further eroded industry trust in the signal as a genuine expression of user choice.

Apple removed DNT from Safari 12.1 in March 2019, citing its use as a fingerprinting variable. Mozilla removed DNT from Firefox 135 in February 2025, recommending Global Privacy Control instead. Chromium-based browsers (Chrome, Edge) still expose the setting but disable DNT by default.

Values

1

The 1 value indicates the user prefers not to be tracked. The browser sends this when the user enables the Do Not Track setting.

0

The 0 value indicates the user consents to tracking or has granted a site-specific exception.

Unset

When the header is absent from the request, the user has not expressed a tracking preference.

Example

A browser with Do Not Track enabled sends the header on every request. The value 1 signals a preference against tracking.

GET /articles HTTP/1.1
Host: example.re
DNT: 1

A response from a server acknowledging the tracking preference using the Tk (Tracking Status) header. The Tk header is also deprecated and triggers no browser behavior.

HTTP/1.1 200 OK
Tk: N
Content-Type: text/html

See also

Last updated: April 4, 2026