Skip to content
SPECIFICTION
Get listed

OpenGrok

oracle.github.io

Free plan WebWindowsmacOSLinuxAPISelf-hosted
Visit oracle.github.io
Spec score 7.8 #11 of 42 in Code Search Tools

What it is

OpenGrok is a Java source code search and cross-reference engine for searching and navigating source trees. It searches full text, definitions, symbols, paths and revision history, with subtree searches, wildcards and date-range filters. Its read-only web interface provides syntax-highlighted cross-references, file and directory history, and revision diffs. Supported revision control systems include Git, Mercurial, Subversion, CVS, Perforce, ClearCase, Bazaar, Monotone, Razor, RCS, SCCS, Teamware and AccuRev. Plugins can add support for programming languages or revision control systems. The web application provides a REST API under `/api/v1/` and a granular authorization framework; authentication is handled by the application server or a reverse proxy. Setup requires creating an index and deploying the web application. The guide lists Java 21 through 25, Universal Ctags and a servlet container such as Tomcat 10.x. OpenGrok is free and open source under the CDDL license, and is maintained by volunteers. Support and project requests go through discussions, mailing lists and GitHub Issues.

Spec sheet

Purpose
OpenGrok is a Java source code search and cross-reference engine for searching, cross-referencing, and navigating source trees.Read 5 Oct 2026 · oracle.github.io
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.Read 5 Oct 2026 · github.com
API
The web application provides a REST API under `/api/v1/`.Read 5 Oct 2026 · github.com
Security
OpenGrok provides a granular authorization framework, while authentication is handled by the application server or a reverse proxy.Read 5 Oct 2026 · github.com
Support
The project directs users to discussions and mailing lists, and asks users to report bugs or feature requests through GitHub Issues.Read 5 Oct 2026 · oracle.github.io
API token security
API bearer tokens require HTTPS unless the web application is configured to allow tokens over an insecure channel.Read 5 Oct 2026 · github.com
Code browsing
Its read-only web interface provides file history, revision diffs, directory history, and syntax-highlighted cross-references.Read 5 Oct 2026 · github.com
Extensibility
Plugins can add support for programming languages or revision control systems.Read 5 Oct 2026 · github.com
Maintenance
The project says it is maintained by enthusiasts and volunteers from around the world.Read 5 Oct 2026 · oracle.github.io
Release
The releases page lists version 1.14.19 as the latest release and describes it as allowing Java 25.Read 5 Oct 2026 · github.com
Repository integrations
The supported revision control systems include Git, Mercurial, Subversion, CVS, Perforce, ClearCase, Bazaar, Monotone, Razor, RCS, SCCS, Teamware, and AccuRev.Read 5 Oct 2026 · github.com
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.Read 5 Oct 2026 · github.com
Resource needs
The guide says the indexer is usually run with an 8 GB JVM heap and the web app needs more memory.Read 5 Oct 2026 · github.com
Search features
It searches full text, definitions, symbols, paths, and revision history, with subtree searches, wildcards, and date-range filters.Read 5 Oct 2026 · github.com

Plans and prices

OpenGrok Free Open-source project · CDDL license Read 5 Oct 2026 · oracle.github.io

Every OpenGrok plan and price →

Strong points and limits

Strong points

  • Searches symbols, definitions and revision history.
  • Provides syntax-highlighted cross-references and revision diffs.
  • Supports many revision control systems.
  • Offers a REST API and granular authorization.
  • Free and open source under the CDDL license.

Limits

  • Setup requires creating an index and deploying the web app.
  • Requires Java 21 through 25 and Universal Ctags.
  • Guide is primarily for Unix-like systems.

Who it suits

OpenGrok suits teams that want to search and browse source trees through a self-hosted web application. It may fit codebases using its supported revision control systems or plugins for additional language support.

OpenGrok in depth

Read the full write-up

OpenGrok is a self-hosted Java engine that indexes source trees for search, cross-reference and history browsing. It is best suited to development teams able to operate their own web application and indexing process. The trade-off is substantial control and repository coverage in exchange for infrastructure work and ongoing maintenance.

Overview

OpenGrok turns a codebase into a navigable, read-only web index. It is useful when developers need to locate implementation details, follow symbols across files or understand how a directory evolved, without granting the browser an editing role. The project is open source under the CDDL license, so there is no software charge; the operational cost is the Java-based deployment, indexing capacity and administration.

Key features

Search covers full text, definitions, symbols, paths and revision history. Subtree searches, wildcard queries and date-range filters make large repositories more manageable and let investigators focus on a branch of the tree or a period of change. Regex search is not supported, which is a meaningful limitation for teams whose normal workflow depends on regular-expression matching.

The web interface is read-only but rich in context. Syntax-highlighted cross-references connect related code, while file history, revision diffs and directory history expose how an implementation changed. That combination favors code archaeology, review and onboarding; it is not a replacement for an editor or a write-enabled code-hosting interface.

Repository support is unusually broad: Git, Mercurial, Subversion, CVS, Perforce, ClearCase, Bazaar, Monotone, Razor, RCS, SCCS, Teamware and AccuRev are supported. This matters to organizations with inherited or mixed version-control estates. Plugins can add programming-language or revision-control support, providing an extension path when a standard integration is missing, although doing so adds another maintenance responsibility.

A REST API is exposed at /api/v1/, allowing other applications and internal tooling to consume the web application's capabilities. Authorization is granular, while authentication is delegated to the application server or a reverse proxy. Bearer tokens require HTTPS unless the application is explicitly configured to permit tokens over an insecure channel, so secure deployment is essential for API use.

Pricing

The sole OpenGrok plan costs free. It is an open-source project distributed under the CDDL license, with no seat quota, usage allowance or trial expiration stated. This is the right price structure for teams that can absorb hosting and administration costs; it does not turn the product into a managed service, and there is no paid tier that buys vendor-operated infrastructure or support.

Platforms

OpenGrok is offered for API, Linux, macOS, self-hosted, web and Windows use. Deployment requires creating an index and deploying the web application. The setup guidance is primarily Unix-oriented; Windows installation follows the same model with adjusted commands and paths. The stated requirements include Java 21 through 25, Universal Ctags, a servlet container such as Tomcat 10.x and a recent browser for clients. The release page identifies version 1.14.19 as the latest release and notes Java 25 support.

Resource planning is important. The guide says the indexer is usually run with an 8 GB JVM heap and that the web application needs additional memory. Smaller environments may therefore need careful scoping or tuning, while larger code estates should budget for indexing and application capacity separately.

Who it's for

OpenGrok fits engineering organizations that own their source infrastructure, need one searchable view across multiple repository technologies and value historical context as much as current text search. It also suits teams willing to integrate authentication, authorization and API clients into an existing server environment. It is a poor choice for users wanting hosted search with no servlet-container, indexing or memory administration, and for workflows centered on regex queries or direct code editing.

Pros and cons

Pros

Broad query coverage: definitions, symbols, paths, full text and revision history support both discovery and historical investigation.

Strong browsing context: cross-references, diffs and directory history help explain relationships and change over time.

Wide repository coverage: support for many established version-control systems is valuable in heterogeneous estates.

Extensible and integrable: plugins and the /api/v1/ REST API provide ways to adapt and automate the index.

No license fee: the CDDL-licensed project costs nothing.

Cons

Operational overhead: users must build indexes and deploy a web application rather than subscribe to a hosted service.

High memory expectations: an 8 GB JVM heap is the usual indexer guidance, with further memory needed by the web app.

No regex search: regular-expression-centric workflows lose a familiar query method.

Security is deployment-dependent: authentication sits with the application server or reverse proxy, and API tokens require HTTPS in normal configurations.

Read-only browsing: it supports investigation and review, not editing source files.

Alternatives

For a broader comparison of this category, see the Code Search Tools list.

Choose ast-grep instead when an API, extension or web-capable tool with a free plan across major desktop platforms better matches your workflow. Code Search is the stronger fit if you want a free Community plan with unlimited users, find-and-replace, CLI and MCP access, plus SCIP code intelligence. Semantic Designs Source Code Search Engine is worth considering for its evaluation allowance of 10,000 lines across Java, COBOL, C++ and pseudo-code. Sourcebot suits readers seeking a freemium, self-hosted/API/web option with a free Basic plan. Pick sqry for a local, MIT-licensed open-source tool on Linux, macOS or Windows. Chromium is a general free, open-source browser rather than a direct code-search counterpart. Shebe offers local code search under Apache-2.0 across self-hosted and desktop environments. Understand is the alternative when a commercial, freemium product with an annual subscription and trial is acceptable.

Verdict

Choose OpenGrok if you need a free, extensible index of source and revision history across diverse repositories and have the staff to run Java, Ctags, a servlet container and its security boundary. Look elsewhere if you need managed hosting, regex search, editing, or a product whose infrastructure and authentication are handled for you.

Verdict

OpenGrok combines source search, history views and cross-referencing in a free, self-hosted tool. Review its deployment requirements and authentication setup before adopting it.

Where Specifiction places it

Alternatives to OpenGrokAll alternatives →