Least-effort principle forbids tool programming if it already exists (at least as open source). This results in web browser usage for display (HTML and CSS allow for fancy page lay-out), definitions and references stored in an available relational data base and file parsing with Exuberant ctags tool. LXR is written in Perl, handy choice for CGI scripts, but not really fit for lexical or syntactic parsing. LXR tries to impose as few constraints as possible: several database choices: MySQL, PostgreSQL, SQLite or Oracle, choices for full text search between Glimpse and SWISH-E, free choice for HTTP server provided it can execute CGI scripts (instructions are given for Apache, Cherokee, lighttpd, Nginx and thttpd), source-file stored in real directory or in version management system repository (choice between CVS, Git, Mercurial and Subversion). Usage After software installation, which is not a trivial task but does not require expertise, source code must be pre-processed and LXR configured to display it. The different source code versions are implemented as sub-directories. An alternative stores source code in a version management system. Code is indexed during a second phase: identifiers are gathered and their locations entered in a data base. Reindexing is only necessary when source code is modified or a new version added. Afterwards, all is needed is to launch a web browser with an URL corresponding to the source code and navigate across files through the hyperlinks associated to identifiers. Capabilities and limitations Source code can be written in any language that Exuberant ctags can handle, but parsers are not equally fine-grained. Two versions of the same file can be compared side by side with differences visually enhanced (through diff command launched by LXR). Besides hyperlinks under variables, a form allows searching for an identifier typed by the user. To work around the indexing phase limitations, any character sequence may be (full text) searched at the cost of an extensive source files traversal. LXR limitations are those of the support tools, mainly Exuberant ctags. But the primary cause of difficulties comes essentially from incorrect access permissions to files. Another limitation comes from the design choice to only do static code analysis, in contrast to other solutions which do semantic analysis as a compile step, An advanced user may change LXR layout and rendering through customizing page templates (written in HTML) and cascading style sheet (CSS). LXR collections LXR itself Linux kernel browsing LXR (formerly