snarf logo

What is snarf?

snarf is a command line resource grabber. It can transfer files through the http, gopher, finger, and ftp protocols without user interaction. It is small and fast.

How do I use snarf?

If you have an URL (for example,, you type the following (the $ below represents the command prompt):

$ snarf
snarf will fetch the file and save it to your local system with the name picture.jpg. If you want to save the file under a different name (for example, background.jpg), you type the following:
$ snarf background.jpg
snarf saves the file with the name background.jpg. If you want snarf to send the file to standard output, you would type the following:
$ snarf -
When snarf sees a dash as the local file name, it sends everything it fetches to standard output.

Special cases

If you specify an FTP URL that ends with a slash, snarf returns a directory listing instead of a particular file. If you specify an HTTP URL that ends with a slash, snarf returns the default index document (usually index.html).

What does snarf look like?

I have created a screen shot of snarf in action.


snarf is designed to automate repetitive tasks such as downloading the latest Dr. Fun cartoon. It is not designed to be a whizzy, all purpose tool. It is not designed to be Netscape or Lynx or ncftp. It is fast and simple because it doesn't need to be anything else.


People often send me interesting patches to do cool stuff. I don't always get a chance to put these patches into a snarf release in a timely way.

Zachary Beane