- Home
- Code Search Tools
- OpenGrok
OpenGrok
What it is
OpenGrok is an open-source Java engine for searching and navigating source trees through a read-only web interface. It searches full text, definitions, symbols, paths, and revision history, with subtree searches, wildcards, and date-range filters. Browsing features include syntax-highlighted cross-references, file history, revision diffs, and directory history. It supports many revision control systems, including Git, Mercurial, Subversion, CVS, Perforce, ClearCase, Bazaar, Monotone, Razor, RCS, SCCS, Teamware, and AccuRev. Plugins can extend language or revision-control support. The web application also exposes a REST API under `/api/v1/`. A granular authorization framework is included, while authentication is handled by the application server or a reverse proxy. Deployment requires creating an index and installing the web application. The guide lists Java 21 through 25, Universal Ctags, and a servlet container such as Tomcat 10.x. The project is free under the CDDL license and maintained by volunteers; support channels include discussions, mailing lists, and GitHub Issues.
For and against
For
- Searches symbols, definitions, paths, and revision history.
- Read-only web interface includes diffs and file history.
- Supports a wide range of revision control systems.
- REST API is available under `/api/v1/`.
- Free and open source under the CDDL license.
Against
- Deployment requires creating an index and installing the web application.
- Setup guidance is primarily for Unix-like systems.
- Requires Java 21 through 25 and Universal Ctags.
- Regex search is not supported.
The verdict
OpenGrok offers extensive code search and browsing in a self-hosted web application, with a REST API and broad revision-control support. Deployment requirements and setup work are important considerations.
Who it suits
OpenGrok may suit teams or individuals who need a self-hosted way to search and browse source trees across supported revision-control systems. It is aimed at users able to set up the index and web application.
Plans and prices
OpenGrok
Open-source project · CDDL license
Read 5 Oct 2026 · oracle.github.io
On the record
- API
- The web application provides a REST API under `/api/v1/`.github.com · read 5 Oct 2026
- API token security
- API bearer tokens require HTTPS unless the web application is configured to allow tokens over an insecure channel.github.com · read 5 Oct 2026
- Code browsing
- Its read-only web interface provides file history, revision diffs, directory history, and syntax-highlighted cross-references.github.com · read 5 Oct 2026
- Deployment
- Setup requires creating an index and deploying the web application; the guide is primarily for Unix-like systems and says Windows setup is similar with adjusted commands and paths.github.com · read 5 Oct 2026
- Extensibility
- Plugins can add support for programming languages or revision control systems.github.com · read 5 Oct 2026
- Maintenance
- The project says it is maintained by enthusiasts and volunteers from around the world.oracle.github.io · read 5 Oct 2026
- Purpose
- OpenGrok is a Java source code search and cross-reference engine for searching, cross-referencing, and navigating source trees.oracle.github.io · read 5 Oct 2026
- Release
- The releases page lists version 1.14.19 as the latest release and describes it as allowing Java 25.github.com · read 5 Oct 2026
- Repository integrations
- The supported revision control systems include Git, Mercurial, Subversion, CVS, Perforce, ClearCase, Bazaar, Monotone, Razor, RCS, SCCS, Teamware, and AccuRev.github.com · read 5 Oct 2026
- Requirements
- The setup guide lists Java 21 through 25, Universal Ctags, a servlet container such as Tomcat 10.x, and a recent browser for clients.github.com · read 5 Oct 2026
- Resource needs
- The guide says the indexer is usually run with an 8 GB JVM heap and the web app needs more memory.github.com · read 5 Oct 2026
- Search features
- It searches full text, definitions, symbols, paths, and revision history, with subtree searches, wildcards, and date-range filters.github.com · read 5 Oct 2026
- Security
- OpenGrok provides a granular authorization framework, while authentication is handled by the application server or a reverse proxy.github.com · read 5 Oct 2026
- Support
- The project directs users to discussions and mailing lists, and asks users to report bugs or feature requests through GitHub Issues.oracle.github.io · read 5 Oct 2026