Sourcegraph vs Zoekt
This is not a comparison between two competitors. Zoekt is the trigram search engine inside Sourcegraph, it is Apache-2.0, and Sourcegraph itself has maintained it since forking it from google/zoekt in 2017, with commits landing in August 2026. The axis here is therefore product against component: you can have the fast part of Sourcegraph for free and with no licence restrictions, provided you are willing to build or borrow everything that surrounds it.
Pick Zoekt if your licence policy demands OSI-approved open source with no commercial-use clause, if you have a platform team that would rather own the search layer than rent a product, or if you are building an internal developer portal that needs code search as a feature. Stay on Sourcegraph if you want a supported product with permissions, navigation, history and dashboards already built, and nobody on staff whose job is to keep an index cluster healthy.
Side by side
Sourcegraph vs Zoekt at a glance
| Sourcegraph | Zoekt | |
|---|---|---|
| What it is | A complete code intelligence platform | The search engine that platform runs on |
| Licence | ✗ Proprietary, source private | ✓ Apache-2.0, no use restrictions |
| Maintained by | Sourcegraph | Sourcegraph, since the 2017 fork of google/zoekt |
| Cost | Enterprise, starting at $16K | ✓ Free; you pay for the machine |
| Search speed at scale | ✓ Excellent, powered by Zoekt | ✓ Identical engine, same technique |
| Web UI | ✓ Full product interface | ✗ Minimal built-in search page |
| Repository sync across hosts | ✓ Built in | ✗ You write the sync |
| Permissions and auth | ✓ SSO and per-repository permissions | ✗ None; put it behind your own proxy |
| Code navigation | ✓ Precise, SCIP based | ✗ Not in scope |
| Releases | Continuous, not publicly versioned | ✗ No tags; build from source or a container |
| Support | ✓ 24x5 on Enterprise | ✗ GitHub issues |
| Best for | Buying the whole capability | Owning the search layer, or embedding it in your own tool |
Sources: Sourcegraph pricing · sourcegraph/zoekt · google/zoekt. Compiled August 2026.
Where Zoekt wins
The licence is the whole point
Apache-2.0, with a patent grant, no field-of-use restriction and no competing-use clause. Nothing on this page is easier to get through a legal review. That matters more than usual here, because the reason most readers arrived on this site is a licence change: Sourcegraph relicensed off Apache-2.0 in June 2023 and made its core repository private in August 2024. Adopting Zoekt puts you back on the licence Sourcegraph left, using code Sourcegraph still writes.
Same engine, same speed
Zoekt is a trigram index, the technique behind Google Code Search, which is why arbitrary regular expressions return in milliseconds across millions of files instead of requiring a scan. When people say Sourcegraph is fast, this is the thing they are describing. You are not adopting a lesser search engine to save money; you are adopting the same one without the product wrapped around it.
It composes into things a product cannot
Because it is a library and a pair of binaries rather than an application, Zoekt goes places a hosted product cannot follow: inside an internal developer portal, behind a chat command, into a security tool that needs to grep every branch of every repository nightly, or under an agent that searches code as a tool call. Several of the other projects on this site are, in effect, opinionated interfaces over this engine. If your requirement is unusual, building on the engine is faster than bending someone else's product to it.
There is no vendor to be repriced by
The failure mode this entire page documents cannot recur. A published Apache-2.0 grant on code already released is not revocable, so the worst case is that Sourcegraph stops maintaining the repository and the community forks it, which is precisely what happened when Google stopped maintaining the original in 2017.
Where Sourcegraph still wins
Everything that is not search. Permissions are the sharpest example: Sourcegraph enforces per-repository access so an engineer never sees code they are not entitled to, and Zoekt has no concept of a user at all. If you index private repositories with it, you are responsible for the proxy, the authentication and the authorisation in front of it, and getting that wrong leaks source code rather than merely inconveniencing people. Repository synchronisation is the same shape of problem: keeping indexes current across several hosts and thousands of branches is a real service, and Sourcegraph has already written it.
There is also no tagged release. For a piece of infrastructure that some organisations must pin, patch and attest, "build from main" is a genuine obstacle rather than a stylistic quibble. And Sourcegraph's precise navigation, Batch Changes and Code Insights are not adjacent to Zoekt's scope at all; they are separate products that happen to sit above the same index. Choosing the engine means choosing to do without them, permanently, not later.
Migrating Sourcegraph to Zoekt
The path most teams take:
1. Decide honestly whether you are a platform team. If nobody will own this after the person who set it up moves on, use Sourcebot or OpenGrok instead. Adopting a component means adopting maintenance, and an abandoned internal search server is worse than none.
2. Index a single repository first. Run the indexer over one large repository and the web server over the result. This takes an afternoon and immediately tells you what index size and query latency look like on your actual code, which no benchmark will.
3. Write the sync and the front door. The two pieces you are building are a job that keeps repositories and branches indexed, and an authenticating proxy in front of the search server. Neither is large; both are yours forever. Budget the proxy properly, because it is the piece that protects private source.
4. What does not move. Saved searches, code monitors, Batch Changes, Code Insights and every Sourcegraph permalink in your issue tracker. Zoekt replaces the query box and nothing else, and that is the correct expectation to set with the team before, not after, the contract lapses.
Common questions
FAQ: Sourcegraph vs Zoekt
Is Zoekt really maintained by Sourcegraph?
Yes, and this is the detail that makes the whole situation strange. The sourcegraph/zoekt repository describes itself as the maintained source for Zoekt since 2017, when it was forked from the original google/zoekt, and it was pushed to on 5 August 2026. So the company that relicensed its product off Apache-2.0 in 2023, made its core repository private in 2024 and now sells one enterprise plan continues to develop the search engine underneath that product in public, under Apache-2.0, with no restrictions on use. If you want the fast part of Sourcegraph without the commercial terms, it has been sitting in the open the entire time.
What do you have to build on top of Zoekt?
More than a weekend and less than a product. Zoekt ships an indexer, a search server and a basic web interface, so a single team can point it at a set of repositories and get fast regex search working quickly. What is not included is the surrounding platform: repository synchronisation across hosts and branches, authentication and per-repository permissions, code navigation, blame and history views, and the operational work of keeping indexes fresh at scale. Sourcebot is essentially that platform built around this engine, which is why adopting Zoekt directly makes sense when you have a specific requirement no product satisfies.
Does Zoekt scale to a large codebase?
It was built for exactly that. Zoekt is a trigram index, the same technique behind Google Code Search, which is what makes arbitrary regular expressions fast across millions of files instead of requiring a linear scan. Sourcegraph runs it as the search layer of a commercial product used on very large corpora, and Zoekt shards indexes across processes to spread the load. The practical constraint is memory and disk on the indexing machines rather than any architectural ceiling, and index size is roughly proportional to the volume of code and the number of branches you choose to index.