How Do Not Track works

At its most basic, DNT is a preference expressed by users. DNT lets you hear directly from your users that they have privacy concerns and they would like your site to respond to those concerns.

At a technical level, DNT is an HTTP header.[7] When DNT is enabled, Firefox sends the string “DNT: 1” for each browser transaction (for example, to load a Web page, an image, a widget, or other subpart of a page).

Here are two different ways you can see DNT in action from the Firefox browser.

In DNT’s debut in Firefox 4.0, under Firefox > Preferences > Advanced > General there is an option labeled “Tell web sites I do not want to be tracked.” Checking this box turns on DNT. Unchecking it stops sending a DNT header. This is the interaction users have with DNT in Firefox.


In Firefox 5.0 and later, the same checkbox is under Firefox > Preferences > Privacy.


In Firefox for mobile, users can also enable DNT under Options > Privacy, where there is a similar option labeled “Tell sites not to track me.” Checking this box turns on DNT so the header can be sent to sites you browse from your Android or Maemo mobile devices.

You can watch Firefox send HTTP headers, for example with the Live HTTP headers plugin. The example below shows the HTTP headers Firefox sent while loading, with the DNT header highlighted in yellow for clarity.

GET / HTTP/1.1
GET / HTTP/1.1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6;
rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
DNT: 1
Connection: keep-alive
If-Modified-Since: Mon, 23 May 2011 07:29:40 GMT
HTTP/1.0 304 Not Modified
Date: Wed, 25 May 2011 03:53:03 GMT
Content-Type: text/html; charset=utf-8
Last-Modified: Mon, 23 May 2011 07:29:40 GMT
Age: 7
X-Cache: HIT from
X-Cache-Lookup: HIT from
Connection: keep-alive

If users check the “Tell web sites I do not want to be tracked” box, then Firefox sends out the HTTP header “DNT: 1” to websites. Do Not Track is that simple.

Up: Introduction to Do Not Track

Previous: Background

Next: What does tracking mean?

[7] HTTP headers contain information sent prior to the content. For example, HTTP headers may contain information about the referring website visited prior to the current site, the user agent string containing the operating system and Web browser requesting content, etc. The Internet Engineering Task Force (IETF) first standardized HTTP headers in RFC 2616 and they have been modified several times with additional extensions. DNT is currently an optional HTTP header; user agents like Web browsers may choose to implement DNT, but are not required to.

Document Tags and Contributors

 Contributors to this page: Sheppy, trevorh, jswisher
 Last updated by: Sheppy,