Git URL Parser
Break a git remote URL into protocol, host, owner and repository.
Paste a remote URL on the left.
How it works
`git remote -v` prints one of four shapes depending on how a repository was cloned: an HTTPS URL, the SCP-like
shorthand user@host:owner/repo.git, an explicit ssh:// URL, or the largely-retired
git:// protocol. This reads whichever one you paste and reports host, owner and repository — useful
for scripting against a remote without hand-parsing four different URL shapes.
The SCP-like shorthand isn't a URL
git@github.com:owner/repo.git has no scheme and the colon before the path is not a port separator —
it is git's own historical shorthand for an SSH connection, inherited from `scp`'s own syntax. A generic URL
parser rejects it outright; this checks for that shape first.
Example
Both https://github.com/anthropics/claude-code.git and
git@github.com:anthropics/claude-code.git parse to the same owner (anthropics) and
repository (claude-code) — same remote, different transport.
Frequently asked questions
Why does a generic URL parser reject git@github.com:owner/repo.git?
Because it has no scheme, and the colon before the path is not a port separator — it's git's own SCP-like shorthand for an SSH connection, inherited from scp's own syntax. This checks for that shape specifically before falling back to standard URL parsing.
Does it verify the remote actually exists?
No — this only takes the URL apart as a string. No DNS lookup and no network request happen, so a syntactically valid URL to a repository that was deleted yesterday parses identically to one that is live.
Related tools
GitHub URL Parser
Break a github.com URL into owner, repo, ref, path and line range.
LocalURL Parser
Split a URL into scheme, host, path, query and fragment.
LocalGitignore Generator & Checker
Generate a .gitignore for common stacks, or check whether a path is actually ignored.
LocalCommit Message Formatter
Validate a Conventional Commits message, or build one from separate fields.
LocalSemVer Comparator
Compare two versions using SemVer 2.0.0 precedence, not string sort.
LocalSemVer Range Checker
Check whether a version satisfies a range like ^1.2.0 or ~2.0.0.
Local