What's the Netscape format of wget's cookies.txt? I need to mirror a website that requires login. I use a Chrome extension that returns cookies in that format, I save them in cookies.txt, import with wget command but to no use, it just downloads the content like I'm not logged in at all.

I appreciate any help.

3 Answers 3


The format is Netscape format as stated in the man page and this format is:

The layout of Netscape's cookies.txt file is such that each line contains one name-value pair. An example cookies.txt file may have an entry that looks like this:

.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103

Each line represents a single piece of stored information. A tab is inserted between each of the fields.

From left-to-right, here is what each field represents:

domain - The domain that created AND that can read the variable.

flag - A TRUE/FALSE value indicating if all machines within a given domain can access the variable. This value is set automatically by the browser, depending on the value you set for domain.

path - The path within the domain that the variable is valid for.

secure - A TRUE/FALSE value indicating if a secure connection with the domain is needed to access the variable.

expiration - The UNIX time that the variable will expire on. UNIX time is defined as the number of seconds since Jan 1, 1970 00:00:00 GMT.

name - The name of the variable.

value - The value of the variable.

(From "The Unofficial Cookie FAQ", edited for clarity)

  • 3
    Is the file Tab or Space seperated?
    – Ferrybig
    Nov 1, 2015 at 22:14
  • 5
    @ferrybig Tabs are used.
    – geckon
    Jan 6, 2016 at 15:15
  • anything special is the cookie comes from e.g. instead of something with a domain name ?
    – PypeBros
    May 9, 2018 at 10:08
  • Apparently you also have to put a "bash comment" at the top of the file saying # Netscape HTTP Cookie File for some programs to even recognize it as a cookie file. Sep 4, 2021 at 20:25

One way of getting cookies for wget is to use the --keep-session-cookies options of wget.

For example :

wget --keep-session-cookies --save-cookies cookies.txt "http://MYSITE/?__login=USER&__password=PASS"

The ?__login etc depends on the web site you're trying to mirror, you might have to look at how the authentication form works.

Then you can use :

wget --mirror --load-cookies cookies.txt http://MYSITE/
  • 4
    this doesn't answer the question of what the file format is
    – Michael
    Jan 9, 2015 at 20:37

The Netscape cookies file format for each data line is as above, but you won't be able to read it in with HTTP::Cookies::Netscape unless it has a header line like this, which the complete file format requires:

# Netscape HTTP Cookie File

or this:

# HTTP Cookie File
  • 3
    this is such black voodoo... do you have a reference to where in docs it is mentioned? it's not in curl docs (curl.haxx.se/docs/http-cookies.html) and none of the pages linked in there... (it did solve my issue though! So definitely needed like you said!) Apr 29, 2020 at 17:28
  • I probably had a reference when I wrote that 4 years ago, but I don't remember it now. I haven't used Firefox for any web scraping since the great plugin massacre of Firefox 57.
    – Phil Goetz
    Apr 30, 2020 at 18:37
  • 2
    For others wondering, this comment header is also required for youtube-dl to accept a cookie file with --cookies mycookies.txt
    – Someguy123
    Nov 13, 2020 at 10:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.