# List of URI schemes

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:
* file - File URI scheme
* ftp – File Transfer Protocol
* http – Hypertext Transfer Protocol
* https – Hypertext Transfer Protocol Secure
* mailto – mailto for email addresses
* tel – for telephone numbers
* imap – Internet Message Access Protocol
* irc – Internet Relay Chat
* nntp – Network News Transfer Protocol
as well as many lesser known schemes like:
* acap – Application Configuration Access Protocol
* icap – Internet Content Adaptation Protocol
* mtqp – Message Tracking Query Protocol (RFC3887)
* wss – Encrypted WebSocket connections

## Unofficial but common URI schemes

| Scheme | Purpose | Defined by | General format | Notes |
| admin | URL scheme in the GNOME desktop environment to access file(s) with administrative permissions with GUI applications in a safer way, instead of sudo, gksu & gksudo, which may be considered insecure | GNOME Virtual file system | admin:/⟨path⟩/⟨to⟩/⟨file⟩ example: gedit admin:/etc/default/grub | See more information on: |
| app | URL scheme can be used by packaged applications to obtain resources that are inside a container | Google | app://⟨application⟩/⟨path⟩ example: app://com.foo.bar/index.html | See more information on: |
| 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 | freeplane:/%20⟨path to file⟩#ID_⟨node number⟩ freeplane:/%20⟨path to file⟩#:⟨path⟩/⟨in⟩/⟨map⟩/⟨to⟩/⟨node⟩ |
| geo | Open a geographic location in a two or three-dimensional coordinate reference system on your preferred maps application. | Internet Engineering Task Force's RFC 5870 (published 8 June 2010) | geo:25.245470718844146,51.45400942457904 | See more information on: Geo URI scheme. Alternatively, maps: may be implemented in some clients. |
| javascript | Execute JavaScript code. | IETF Draft | javascript:⟨javascript to execute⟩ | |
| jdbc | Connect a database with Java Database Connectivity technology. | Database vendor dependent | jdbc:somejdbcvendor:other_data... jdbc:oracle:oci:@host:port(sid or [/service])?params... jdbc:sqlserver://serverName\instanceName:portNumber;params... jdbc:mysql://host:port/database?params... | 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 | msteams:/l/... | |
| ms-access ms-excel ms-infopath ms-powerpoint ms-project ms-publisher ms-spd ms-visio ms-word | Used by Microsoft to launch Microsoft Office applications | Microsoft | ⟨scheme-name⟩:⟨command-name⟩|⟨command-argument-descriptor⟩|⟨command-argument⟩ example: ms-excel:ofv|u|<https://contoso/Q4/budget.xls> | |
| 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 | aws s3 sync /tmp/foo/ s3://bucket/ --recursive \ --exclude "*" --include "*.jpg" --include "*.txt" | |
| shortcuts | A scheme used by Apple to execute a Shortcut from apps that support links | Apple | shortcuts://run-shortcut?name=Add20%to20%Notes&input=clipboard | See more information at |
| slack | Used by Slack to launch the Slack client | Slack API reference | slack://open?team={TEAM_ID} | |
| stratum | Connectivity URI for the Stratum protocol, used for proof-of-work coordination in pooled cryptocurrency mining | Stratum Protocol Draft | stratum+tcp://server:port, stratum+udp://server:port | 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. |
| trueconf | Used by TrueConf Server to interact with client applications | TrueConf official website | trueconf:[target][@server]&[param_1]=[value_1]&[...]&[param_n]=[value_n] | See more information at |
| 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 | viber://pa?chatURI=⟨URI⟩ viber://pa/info?uri=⟨URI⟩ viber://forward?text=<ShareDescription> | |
| web+... | Effectively namespaces web-based protocols from other, potentially less web-secure, protocols | This convention is defined within the HTML Living Standard specification | web+⟨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 | zoommtg://zoom.us/join?confno=⟨confno⟩... | See more information at Zoom developer community |

## Registering Schemes

A procedural guideline like RFC 2717 BCP 35 is provided for new URL Scheme Names registration. From time to time, some guidelines may be updated. The scheme registry maintains the mapping between scheme names and their specifications.