JFlex Logo


The current stable version is JFlex 1.9.1 released on Mar 11, 2023

The current maven jflex plugin is version 1.9.1.

See the changelog.

What is it?

JFlex is a lexical analyzer generator (also known as scanner generator) for Java, written in Java.

A lexical analyzer generator takes as input a specification with a set of regular expressions and corresponding actions. It generates a program (a lexer) that reads input, matches the input against the regular expressions in the spec file, and runs the corresponding action if a regular expression matched. Lexers usually are the first front-end step in compilers, matching keywords, comments, operators, etc, and generating an input token stream for parsers. Lexers can also be used for many other purposes.

JFlex lexers are based on deterministic finite automata (DFAs). They are fast, without expensive backtracking.

JFlex is designed to work together with the LALR parser generator CUP by Scott Hudson, and the Java modification of Berkeley Yacc BYacc/J by Bob Jamison. It can also be used together with other parser generators like ANTLR or as a standalone tool.


2023-03-11: JFlex 1.9.1 released.

2023-02-05: JFlex 1.9.0 released.

2020-05-03: JFlex 1.8.2 released.

2020-02-28: JFlex 1.8.1 released.

2020-02-26: JFlex 1.8.0 released.

Stay informed

jflex-announce is a mailing-list for notification on new JFlex releases and severe bugs. This list is read only and very low traffic. Your email address will be kept private.

JFlex is free

JFLex is released under a permissive open-source BSD-style license and available for download. See also Copyright, License & Warranty.

What platforms does JFlex support?

JFlex supports JDK 1.8 or above.