I'm reading through the W3C's Definition of User Agent:

Definition: A user agent is any software that retrieves, renders and facilitates end user interaction with Web content, or whose user interface is implemented using Web technologies.

I'm trying to understand if some programs that have been customarily referred to as user agents are indeed classified as user agents under the W3C's definition.

The programs I am wondering about are:

  • Command line browsers, like Lynx
  • Command line tools, like curl and wget

I know the Lynx and command line tools like cURL and Wget:

  • facilitate interaction with web content
  • interpret the language because they follow redirects

So it seems to me they are User Agents under the W3C definitions.

The open question for me is the rendering requirements, and precisely what is rendered and how it is rendered. The matter is further complicated by visually impaired folks who might use a screen reader so that a visual user interface is completely unnecessary.

Are Lynx and cURL or GNU Wget considered user agents under the W3C's definition?

The context is this thread at the W3C on WebCrypto, and the use of "user agent" and "browser" to fulfill testing requirements: WebCrypto edits on key material (Option 2).

1 Answer 1


The HTTP protocol is not a W3C specified language. HTML is a W3C specified language. Following redirects specified by the HTTP protocol is not "interpreting a W3C specified language."

Lynx would qualify as a user agent under this W3C definition. It renders HTML and has an interactive interface.

Curl and wget would not qualify as user agents. They do retrieve web content, but they are not interactive, nor do they render HTML.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.