ctags

From public sources

A maintained ctags implementation

CLI toolCategory: Developer Tools · Editors & IDEsOpen sourcedata checked Oct 16, 2026

Overview

  • code-analysis
  • code-completion
  • code-navigation
  • code-reading
  • code-summarization
  • ctags
  • developer-tools
  • tagjumping

Installation

Commands are shown, never run by the marketplace. Check them against the official documentation.

Compatibility

Unknown means no evidence was found — not that the product is incompatible.
PlatformStatusArchitectureEvidenceConfidence
WindowsUnknown———
macOSUnknown———
LinuxUnknown———
Container (OCI)Unknown———

Releases

checked Oct 30, 2026
v6.2.1LatestOct 25, 2025Official source ↗

Files in 6.2.1

The marketplace does not host these files: downloads go to the official source. Files have not been scanned by us.
FilePlatformSizeSHA-256Download from the official source
universal-ctags-6.2.1.tar.gzUnknown3 MB2c63efe9e0e0…Official source ↗

Release history

Quality profile

algorithm quality-v1.0 · assessed Oct 16, 2026
Quality Score86
Risk Score0
Confidence 1.00
Quality Score and Risk Score are different measures. A high score does not guarantee safety.

Score components

Maintenance · 2020
last activity 5 days ago
Documentation · 1515
README 6313 chars, description present
Ready to use · 156
install instructions: no; releases: yes
Metadata · 1010
4/4 of description, homepage, license, topics
Releases · 1010
4 release(s), latest 355 days ago
Category confidence · 105
classifier confidence 0.5
Adoption · 1010
7296 stars (log-dampened, 10k = max)
License clarity · 55
SPDX GPL-2.0
Community · 55
issues enabled, 672 forks

License

GPL-2.0
Known licensefrom the repository host

This is the catalog policy status, not legal advice.

Sources

github.com/universal-ctags/ctagsPrimary★ 7,296 starslast activity Oct 11, 2026Primary repository · Confidence 1.00

Reviews

Sign in to write a review

No reviews yet.

Alternatives

README

From universal-ctags/ctags · license GPL-2.0 · fetched Oct 30, 2026

Universal Ctags

[Coverity Scan Build Status] [Coverage Status] [Build status] [RTD build status] [CircleCI Build Status] [GitHub Actions/VALGRIND] [Gurubase]

Universal Ctags (abbreviated as u-ctags) is a maintained implementation of ctags. ctags generates an index (or tag) file of language objects found in source files for programming languages. This index makes it easy for text editors and other tools to locate the indexed items.

Exuberant Ctags (e-ctags) maintained by Darren Hiebert, the ancestor of Universal Ctags, improved traditional ctags with multi-language support, the ability for the user to define new languages searched by regular expressions (called optlib in Universal Ctags), and the ability to generate emacs-style TAGS files. But the activity of the project unfortunately stalled.

Universal Ctags has the objective of continuing the development of Exuberant Ctags. Reza Jelveh reza.jelveh@gmail.com initially created a personal fork of Exuberant Ctags on GitHub. As interest and participation grew, it was decided to move development to a dedicated project as Universal Ctags. The goal of this project is to maintain a common/unified working space where people interested in making ctags better can work together.

Some of the major features of Universal Ctags are:

  • more numbers of improved language support
    • new extended C/C++ language parser, etc.
  • fully extended optlib (a feature to define a new language parser from a command line)
  • interactive mode (experimental)

The latest build and package

If you want to try the latest Universal Ctags without building it yourself...

Windows

Daily builds are available at the ctags-win32 project. Go to the releases page to download zip packages.

Unix-like

Nightly builds are available at the ctags-nightly-build project. Go to the releases page to download tarball archives.

Mac

Recent builds are available via the universal-ctags Homebrew formula.

Snap

Go to ctags-snap and clone the ctags-snap repo. Then, follow instructions to build the snap package of Universal Ctags. Snapcraft will automatically fetch the source code from GitHub.

How to build and install

To build with Autotools (Autoconf and Automake) on GNU/Linux, OSX, or Windows 10 WSL,

    $ git clone https://github.com/universal-ctags/ctags.git
    $ cd ctags
    $ ./autogen.sh
    $ ./configure  # use --prefix=/where/you/want to override installation directory, defaults to /usr/local
    $ make
    $ make install # may require extra privileges depending on where to install

GNU make is assumed as the make command.

See docs/autotools.rst for more information.

To build on Windows, see docs/windows.rst for more information.

To build on OSX, see docs/osx.rst for more information.

Manual

The primary documents of Universal Ctags are man pages. Users should first consult the ctags(1), and other man pages if necessary.

Universal Ctags Hacking Guide, which also includes the man pages, is primarily for developers and provides additional information to the man pages, including experimental features.

See also */README.md on this repository.

Differences from exuberant-ctags

You may be interested in how Universal Ctags is different from Exuberant Ctags. See ctags-incompatibilities(7) and Introduced changes for details.

The most significant incompatible changes:

  • Universal Ctags doesn't load ~/.ctags and ./.ctags at starting up time. Instead, it loads ~/.ctags.d/*.ctags and ./.ctags.d/*.ctags.

  • Universal Ctags is more strict about characters that can be used in kind letters and kind names than Exuberant-ctags.

    • The letter must be an alphabetical character ([a-zA-EG-Z]). F is reserved for file kind.

    • The first character of the name must be alphabetic, and the rest characters must be alphanumeric ([a-zA-Z][a-zA-Z0-9]*).

    The detailed background is explained in #1737.

    If you want to reuse your .ctags written for Exuberant-ctags, you must review kind letters and names defined with --regex-<LANG>=... options. When updating the definitions, using --kinddef-<LANG>=... option is appreciated.

CVE-2022-4515

It is not affected to Universal Ctags. It was fixed in e00c55d7a0204dc1d0ae316141323959e1e16162 in 2016. Thanks to the reporter.

Pull-requests are welcome!

Open the repository ↗