Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


args4j is a small Java class library that makes it easy to parse command line options/arguments in your CUI application. See more info at []

Why should I use it?

See the quick intro

  • It makes command line parsing very easy by using annotations
  • Generate usage text very easily
  • Generate HTML/XML documentation listing all options
  • Full localization support
  • Designed to parse javac like options, as opposed to GNU-style (where ls -lR is considered to have two options l and R).
  • Licensed under the MIT license.

How can I use it?

  1. Check the sample. This is how your code will look like.
  2. Download the distribution or include the library from the Maven Repository.
  3. Write your code.

More Resources

  1. A small tutorial for the use of the Starter and Args4J
  2. javadoc
  3. How to generate a documentation for your CLI
  4. Extend args4j to handle other Java types
  5. [Kohsuke's Blog: Parsing command line options in JDK 5.0 style] (
  6. A comparison between Commons CLI and Args4j in French