Freedom251 › Code Search Tools
OpenGrok

What OpenGrok is
OpenGrok is a Java source-code search and cross-reference engine for exploring 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 shows syntax-highlighted cross-references, file history, revision differences, and directory history. Supported revision control systems include Git, Mercurial, Subversion, CVS, Perforce, ClearCase, Bazaar, Monotone, Razor, RCS, SCCS, Teamware, and AccuRev. Plugins can extend support for programming languages or revision control systems, and the web application provides a REST API under `/api/v1/`. OpenGrok has granular authorization; authentication is handled by an application server or reverse proxy. Setup involves 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, and says indexing usually uses an 8 GB JVM heap while the web app needs more memory. The project is free and open source under the CDDL license, maintained by volunteers, with discussions, mailing lists, and GitHub Issues for support.
Who it suits
OpenGrok suits teams that need searchable, browsable source trees across supported revision control systems. It is intended for self-hosted deployments on Linux, macOS, or Windows.
What it does well
- Search covers symbols, paths, and revision history.
- The web interface shows syntax-highlighted cross-references.
- Plugins can add language or revision-control support.
- A REST API is available under `/api/v1/`.
- The project is free under the CDDL license.
What to know first
- Deployment requires creating an index and web application.
- Setup guidance is primarily for Unix-like systems.
- The web app needs more memory than the indexer's usual heap.
Limits
OpenGrok is free and open source. Setup requires an index and a deployed web application, and the guide says the web application needs more memory than the indexer's usual 8 GB JVM heap.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| OpenGrok | Open-source project · CDDL license | Free |
As oracle.github.io lists them, read 5 Oct 2026. The maker's own page has the final word.
Getting started
- Visit the OpenGrok website and review the setup guide.
- Prepare Java 21 through 25, Universal Ctags and a servlet container such as Tomcat 10.x.
- Create an index for the codebase.
- Deploy the web application.
- Access the read-only interface with a recent browser.
Overview
OpenGrok is a free, open-source engine for indexing and navigating source trees through a web interface. It suits teams that can run their own code-search infrastructure and want to search across varied revision-control systems. Its breadth is valuable, but the deployment and memory requirements make it a poor fit for anyone seeking a managed service.
Key features
Search covers full text, definitions, symbols, paths, and revision history, with subtree searches, wildcards, and date-range filters. That gives developers several ways to narrow a query across a codebase. Regex search is not supported, a meaningful limitation for users whose workflows depend on regular expressions.
The read-only browser combines syntax-highlighted cross-references with file history, revision diffs, and directory history. It is well suited to tracing code and reviewing how it changed, but it is not an editing environment.
OpenGrok supports Git, Mercurial, Subversion, CVS, Perforce, ClearCase, Bazaar, Monotone, Razor, RCS, SCCS, Teamware, and AccuRev. That range is a practical advantage for organizations whose repositories use different systems. Plugins can add language or revision-control support, and the web application exposes a REST API under /api/v1/ for integrations.
Authorization is granular, while authentication is delegated to the application server or a reverse proxy. API bearer tokens require HTTPS unless the application is configured to permit insecure-channel tokens, so secure deployment depends on configuring that boundary appropriately.
Pricing
OpenGrok costs free as an open-source project under the CDDL license. There are no paid tiers to compare; the trade-off is that users must handle deployment and operation themselves.
Platforms
OpenGrok is listed for API, Linux, macOS, self-hosted use, web, and Windows. Setup guidance is primarily for Unix-like systems, with Windows installation described as similar but requiring adjusted commands and paths. Deployment involves creating an index and deploying the web application. The guide calls for Java 21 through 25, Universal Ctags, a servlet container such as Tomcat 10.x, and a recent browser for clients. Indexing usually uses an 8 GB JVM heap, and the web application needs more memory, putting a real infrastructure burden on larger deployments.
Version 1.14.19 is the latest release and allows Java 25. The project is maintained by enthusiasts and volunteers; users can seek help through discussions and mailing lists, and report bugs or feature requests through GitHub Issues.
Who it's for
OpenGrok is a strong fit for development teams that need searchable indexes and code history across self-hosted source trees, especially when repositories span several revision-control systems. It is less suitable for individuals or teams that cannot dedicate memory and operational effort to indexing and hosting, or for workflows that require regex search or code editing in the browser.
Pros and cons
- Pros: Broad revision-control support helps unify discovery across diverse repositories.
- Pros: Search, cross-references, and revision history bring code navigation and change tracing into one read-only interface.
- Pros: Plugins and a REST API provide ways to extend language or revision-control support and connect other tools.
- Cons: Java, Ctags, a servlet container, index creation, and substantial memory make setup and operation demanding.
- Cons: No regex search limits query options for developers who rely on pattern matching.
- Cons: Authentication relies on the application server or reverse proxy rather than being handled directly by OpenGrok.
Alternatives
Code Search Tools is a useful place to compare other code-search options. Choose Code Search instead if its Community plan's unlimited users, full-text search, repository-wide find and replace, CLI, and MCP server better match the workflow. ast-grep is another free option for readers comparing code-search tools across API, extension, desktop, and web platforms.
LXR Cross Referencer is worth considering for Linux or self-hosted web use when a self-installed open-source cross-referencer is the better fit. Choose Shebe for local code search under the Apache-2.0 license, or sqry for a locally run, MIT-licensed open-source option on Linux, macOS, or Windows. Semantic Designs Source Code Search Engine offers a free evaluation version capped at 10,000 lines for Java, COBOL, C++, and pseudo-code.
Chromium is a free open-source browser for Windows, macOS, Linux, and Android. Chatterbox TTS is a free open-source text-to-speech option for Linux, macOS, and self-hosted use.
Verdict
Choose OpenGrok if your team wants free, self-hosted search and history browsing across varied source-control systems and can support the indexing and web-application infrastructure. Its strongest reason to choose it is the combination of broad repository support with useful code navigation. Look elsewhere if you need regex queries, browser-based editing, or a managed service that avoids deployment and memory demands.
Verdict
OpenGrok provides code search and history browsing for self-hosted source trees, with broad revision-control support. Deployment requires the listed Java, Ctags, and servlet-container components, along with memory for indexing and the web app.
Questions
How much does OpenGrok cost?
The OpenGrok plan is free. It is an open-source project under the CDDL license.
Can I use OpenGrok without paying?
Yes. OpenGrok is free and has a free plan.
Which platforms does OpenGrok support?
The listed platforms are API, Linux, macOS, self-hosted, web and Windows. The setup guide focuses primarily on Unix-like systems and says Windows setup is similar with adjusted commands and paths.
Which revision control systems does it support?
Supported systems include Git, Mercurial, Subversion, CVS, Perforce, ClearCase, Bazaar, Monotone, Razor, RCS, SCCS, Teamware and AccuRev.
Does OpenGrok provide an API?
Yes. The web application provides a REST API under `/api/v1/`.
Who maintains OpenGrok and where can users get support?
The project is maintained by enthusiasts and volunteers around the world. It directs users to discussions and mailing lists, and to GitHub Issues for bugs or feature requests.
Facts from OpenGrok's own pages
- API
- The web application provides a REST API under `/api/v1/`. · github.com, 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, 5 Oct 2026
- Code browsing
- Its read-only web interface provides file history, revision diffs, directory history, and syntax-highlighted cross-references. · github.com, 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, 5 Oct 2026
- Extensibility
- Plugins can add support for programming languages or revision control systems. · github.com, 5 Oct 2026
- Maintenance
- The project says it is maintained by enthusiasts and volunteers from around the world. · oracle.github.io, 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, 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, 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, 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, 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, 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, 5 Oct 2026
- Security
- OpenGrok provides a granular authorization framework, while authentication is handled by the application server or a reverse proxy. · github.com, 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, 5 Oct 2026
Where OpenGrok stands on Freedom251
- Code Search Tools#8 of 42