How to link to a specific line number on GitHub
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
Linking to specific lines in a GitHub file can be incredibly useful when referring a colleague to a particular part of your code, or when documenting a change or a bug. GitHub provides a straightforward way to create line-specific links, which we will explore in this article.
Understanding GitHub's Line Annotations
When you browse a file in a GitHub repository, you might notice that every line in the file has a corresponding line number. These numbers are integral to referencing exact lines in code discussions effectively.
Creating a Single Line Link
- Navigate to the file: Open the file within the GitHub repository that you're interested in.
- Select the line number: Hover over the line number on the left side of the file. You will see that each line number is a potential clickable element.
- Copy the link for a single line:
- Click on the line number. This action highlights the line and appends an anchor (`#L``<number>```) to the URL. For example, if you clicked on line 42, the URL will end with `#L42`.
- Copy the updated URL from your browser’s address bar and share it. This link now points to the specific line number you selected.
Creating a Link to Multiple Lines
Linking to multiple lines is similarly simple:
- Select the range of lines:
- Click on the first line number of your desired range.
- While holding the `Shift` key, click on the last line of the range. The selected lines become highlighted, and the URL changes to reflect the range.
- Copy the link for multiple lines:
- The URL now ends with `#L``<start>``-L``<end>```, indicating the start and end lines. For example, linking from line 42 to line 45 will look like `#L42-L45`.
- Copy the updated URL to reference the specified block of lines.
Practical Use Cases
Linking to specific lines is invaluable in scenarios such as:
- Code reviews: Redirect a reviewer to a particular line or block for comments.
- Issue tracking: Pinpoint the exact line where a bug manifests.
- Documentation: Highlight parts of code supporting specific documentation or explanations.
Additional Features and Tips
- Permalinks: GitHub allows creating a "permalink" to a file. This link is tied to a specific commit and ensures the line numbers do not change even if the code does in the future. Click on `y` while viewing a file or use the `...` button above the file content to get a permalink.
- Editing and Commenting: Users with appropriate permissions can directly comment or suggest changes on specific lines, further leveraging line-specific links.
Table Summary: Key Points
| Feature/Action | Description/Action |
| Single Line Link | Click line number > URL updates with `#L``<number>``` > Copy URL |
| Multiple Line Link | Click first line, shift-click last line > URL updates with `#L\<start>-L``<end>``` > Copy URL |
| Permalink | Use y or ... for commit-tied URL |
| Practical Uses | Code reviews Issue tracking Documentation |
Conclusion
Mastering the ability to link to specific lines on GitHub can greatly enhance teamwork and communication, especially in large codebases. Recognizing how to make these connections quickly is a small yet powerful skill in the modern developer's toolkit. Using the procedures highlighted, you can direct attention to relevant parts of your code effectively, aiding in more focused and efficient discussions.
By utilizing GitHub's built-in features, your collaboration within repositories can be more precise, leading to better code quality and more insightful code discussions.

