List of URI schemes explained

This article lists common URI schemes. A Uniform Resource Identifier helps identify a source without ambiguity. Many URI schemes are registered with the IANA; however, there exist many unofficial URI schemes as well. Mobile deep links are one example of a class of unofficial URI schemes that allow for linking directly to a specific location in a mobile app.

Official IANA-registered schemes

URI schemes registered with the IANA, both provisional and fully approved, are listed in its registry for Uniform Resource Identifier (URI) Schemes. These include well known ones like:

as well as many lesser known schemes like:

Unofficial but common URI schemes

SchemePurposeDefined byGeneral formatNotes
admin URL scheme in the GNOME desktop environment to access file(s) with administrative permissions with GUI applications in a safer way, instead of the insecure-considered sudo, gksu & gksudo.GNOME Virtual file system<nowiki>admin:/⟨path⟩/⟨to⟩/⟨file⟩</nowiki>example: <nowiki>gedit admin:/etc/default/grub</nowiki>See more information on: https://wiki.gnome.org/Projects/gvfs/backends
app URL scheme can be used by packaged applications to obtain resources that are inside a container.Google<nowiki>app://⟨application⟩/⟨path⟩</nowiki>example: <nowiki>app://com.foo.bar/index.html</nowiki>See more information on: http://www.w3.org/TR/app-uri/ http://www.w3.org/TR/2013/WD-app-uri-20130516/
freeplane Open a Freemind/Freeplane `.mm` file in the locally installed Freeplane application and optionally highlight a node in the opened mindmap.Freeplane v1.3 and above<nowiki>freeplane:/%20⟨path to file⟩#ID_⟨node number⟩</nowiki>
<nowiki>freeplane:/%20⟨path to file⟩#:⟨path⟩/⟨in⟩/⟨map⟩/⟨to⟩/⟨node⟩</nowiki>||-| javascript | Execute JavaScript code| IETF Draft| <nowiki>javascript:⟨javascript to execute⟩</nowiki>||-| jdbc | Connect a database with Java Database Connectivity technology.| Database vendor dependent| <nowiki>jdbc:somejdbcvendor:other_data...</nowiki>
<nowiki>jdbc:oracle:oci:@host:port(sid or [/service])?params...</nowiki>
<nowiki>jdbc:sqlserver://serverName\instanceName:portNumber;params...</nowiki>
<nowiki>jdbc:mysql://host:port/database?params...</nowiki>| Requires a vendor provided connector (jar archive) to be included in the client library.|-| msteams | Used by Microsoft to launch the Microsoft Teams desktop client.| Microsoft| <nowiki>msteams:/l/...</nowiki>| [1] [2] |-| ms-access
ms-excel
ms-infopath

ms-project
ms-publisher
ms-spd
ms-visio
ms-word| Used by Microsoft to launch Microsoft Office applications.| Microsoft| <nowiki>⟨scheme-name⟩:⟨command-name⟩|⟨command-argument-descriptor⟩|⟨command-argument⟩</nowiki>example: <nowiki>ms-excel:ofv|u|<https://contoso/Q4/budget.xls></nowiki>||-| odbc | Open Database Connectivity| IETF Draft| ||-|psns|Used by PlayStation consoles to open the PS Store application, also used by Media Go.|Sony (not public)|psns://browse?product=⟨ContentID⟩If entered without parameters, like psns:// it opens the PS Store or Media Go app main page.||-| rdar| URL scheme used by Apple's internal issue-tracking system.| Apple (not public)| rdar://⟨issue number⟩example: rdar://10198949| Allows employees to link to internally-tracked issues from anywhere. Example of a private scheme which has leaked in to the public space and is widely seen on the internet, but can only be resolved by Apple employees.|-| s3| Used to interact programmatically with Amazon S3 bucket| aws-cli documentation| |

|-| trueconf | Used by TrueConf Server to interact with client applications.| https://trueconf.com/blog/knowledge-base/trueconf-protocol-designed-to-interact-with-trueconf-client-applications.html| <nowiki>trueconf:[target][@server]&[param_1]=[value_1]&[...]&[param_n]=[value_n]</nowiki>| See more information at https://trueconf.com/blog/knowledge-base/trueconf-protocol-designed-to-interact-with-trueconf-client-applications.html|-| slack| Used by Slack to launch the Slack client.| Slack API reference| <nowiki>slack://open?team={TEAM_ID}</nowiki>||-| stratum

| Connectivity URI for the Stratum protocol, used for proof-of-work coordination in pooled cryptocurrency mining.| Stratum Protocol Draft| <nowiki>stratum+tcp://server:port, stratum+udp://server:port</nowiki>| This protocol has completely superseded the now-obsolete Getwork protocol, and was created primarily to reduce network overhead as mining pool sizes inevitably scale upwards.[3] |-| viber | Open the locally installed Viber application to link to a view or perform an action, such as share an URL to a contact.| Viber API Documentation - Deep Links
Viber API Documentation - Viber Share Button| <nowiki>viber://pa?chatURI=⟨URI⟩</nowiki>
<nowiki>viber://pa/info?uri=⟨URI⟩</nowiki>
<nowiki>viber://forward?text=<ShareDescription></nowiki>||-| web+... | Effectively namespaces web-based protocols from other, potentially less web-secure, protocols.| This convention is defined within the HTML Living Standard specification| web+{{angbr|string of some lower-case alphabetic characters}}:| This convention is not associated with the registration of any new scheme but is currently a requirement as well as convention for non-whitelisted web-based protocols.|-| zoommtg
zoomus| Used by Zoom conferencing software to launch the Zoom client.| Zoom developer community| <nowiki>zoommtg://zoom.us/join?confno=⟨confno⟩...</nowiki>| See more information at Zoom developer community|}

External links

Notes and References

  1. Web site: Create deep links - Teams . learn.microsoft.com . https://web.archive.org/web/20221006141551/https://learn.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/deep-links . 2022-10-06 . en-us . usurped.
  2. Web site: Build apps for Teams meeting stage - Teams . learn.microsoft.com . 27 October 2022 . en-us.
  3. http://mining.bitcoin.cz/stratum-mining Stratum mining protocol