Skip to content
lsl.devlsl.devLSL Dev

URI reference

The full list of viewer URI forms, from the Second Life Wiki’s Viewer URI Name Space page (revision 1219168, 6 October 2026), with the wording as written. Numbers in parentheses, such as (2.0), are the viewer version the wiki gives for a form. Part of the Viewer URIs feature.

The SL client supports links of the format secondlife://Region/123/45/67/<region name>, which have traditionally specified a region name and x/y/z location. This means “run Second Life viewer and show Region on the world map”.

The new URL scheme has 3 slashes1, and allows direct control of the user interface and login. For example, secondlife:///app/login

Most secondlife:///app URLs only work from browser instances running inside Second Life because of a denial-of-service attack using secondlife:///app/teleport links to force repeated teleports. SLURLs that work with external browsers include:

  • secondlife://<region name>
  • secondlife:///app/login

In chat, dialogs and other user interface elements, these URLs will be highlighted as clickable links, often with custom formatting including icons. The full functionality is available in Viewer 2.0 and up. Clickable links without formatting were available only in older versions’ chat and IM history.

These links also may be known as Viewer URL Namespace, SLAPP URLs or Application SLURL.

Each row shows the URI up to the part it describes. Parts in angle brackets are parameters.

URIDescription
secondlife://<region_name>log in to this region or, if logged in, show information and offer teleport
secondlife://<region_name>/<local_x>optional X position, defaults to 128
secondlife://<region_name>/<local_x>/<local_y>optional Y position, defaults to 128
secondlife://<region_name>/<local_x>/<local_y>/<local_z>optional Z position, defaults to 0

(see wear_folder)

URIDescription
secondlife:///app/add_folder/?folder_id=<inventory_folder_uuid>add contents of specified folder to outfit (7.1)
secondlife:///app/add_folder/?folder_name=<library_folder_name>add contents of named Library folder to outfit
URIDescription
secondlife:///app/agent/<agent_id>/aboutopen agent’s profile, with 2nd Life tab selected
secondlife:///app/agent/<agent_id>/completenamereplaces the URL with the avatar’s display and user names, e.g., “hmm secondlife:///app/agent/eea40b5a-553d-4a07-b1ca-9f6e2f867814/complete wow” in chat becomes “hmm Cerise (cerise.sorbet) wow” (2.4); see Avatar/Name for more details.
secondlife:///app/agent/<agent_id>/displaynamereplaces the URL with the avatar’s display name (2.4)
secondlife:///app/agent/<agent_id>/imstarts an IM session with the agent (2.0)
secondlife:///app/agent/<agent_id>/inspectdisplays info dialog for agent (2.0)
secondlife:///app/agent/<agent_id>/mentioncreates a link for the agent; the agent’s viewer may notify them with sound and highlight if they hear the message. (7?)
secondlife:///app/agent/<agent_id>/offerteleportdisplays the teleport offer dialog (2.0)
secondlife:///app/agent/<agent_id>/paydisplays the resident pay dialog (2.0)
secondlife:///app/agent/<agent_id>/requestfrienddisplays the friendship offer dialog (2.0)
secondlife:///app/agent/<agent_id>/muteadd to block list (2.0)
secondlife:///app/agent/<agent_id>/unmuteremove from block list (2.0)
secondlife:///app/agent/<agent_id>/usernamereplaces the URL with the avatar’s username e.g. “user.name” (2.4)
URIDescription
secondlife:///app/appearance/showdisplays the sidebar appearance tab (2.0)
URIDescription
secondlife:///app/balance/requestrequest a L$ balance update from the server (2.0)
URIDescription
secondlife:///app/chat/<channel>any channel number greater than 02 except DEBUG_CHANNEL.
secondlife:///app/chat/<channel>/<text>
URIDescription
secondlife:///app/classified/<classified_id>/aboutopen floater describing classified
URIDescription
secondlife:///app/event/<event_id>/aboutopen floater describing event
URIDescription
secondlife:///app/experience/<experience_id>/profileopen floater describing experience
URIDescription
secondlife:///app/group/<group_id>/aboutopen floater describing group
secondlife:///app/group/createopens the create group dialog (1.20)
secondlife:///app/group/<group_id>/inspectdisplays info dialog for group (2.0)
secondlife:///app/group/list/showopens the list of groups to which the user belongs (1.20)

In the wiki’s indented list, /inspect sits one level below /create; it is shown here under <group_id>, like the agent form.

URIDescription
secondlife:///app/help/<help_query>optional help topic (2.0)
URIDescription
secondlife:///app/inventory/<inventory_id>/selectinventory offer (2.0)
secondlife:///app/inventory/showopens the inventory sidebar tab (2.0)

Every action below takes the form secondlife:///app/keybinding/<action>.

ActionDescription
Movement controls
/walk_toWalk to location mouse cursor points to
/teleport_toTeleport to the location the mouse cursor points to, but not all locations allow direct teleportation, so you might be teleported closer to the destination instead
/push_forwardMove Forward
/push_backwardMove Backward
/turn_leftLeft
/turn_rightRight
/slide_leftStrafe left
/slide_rightStrafe right
/jumpJump/Up
/push_downDown
/run_forwardRun Forward
/run_backwardRun Backward
/run_leftRun Left
/run_rightRun Right
/toggle_runToggle Run
/toggle_flyFly/Stop flying
/toggle_sitSit/Stand
/stop_movingStop Moving
Camera controls
/look_upLook Up
/look_downLook Down
/move_forwardCamera Forward
/move_backwardCamera Backward
/move_forward_fastCamera Forward Fast
/move_backward_fastCamera Backward Fast
/spin_overCamera Spin Over
/spin_underCamera Spin Under
/pan_upCamera Pan Up
/pan_downCamera Pan Down
/pan_leftCamera Pan Left
/pan_rightCamera Pan Right
/pan_inCamera Pan In
/pan_outCamera Pan Out
/spin_around_ccwCamera spins around counterclockwise
/spin_around_cwCamera spins around clockwise
/move_forward_sittingCamera Forward Sitting
/move_backward_sittingCamera Backward Sitting
/spin_over_sittingCamera Spin Over Sitting
/spin_under_sittingCamera Spin Under Sitting
/spin_around_ccw_sittingCamera spins around counterclockwise while sitting
/spin_around_cw_sittingCamera spins around clockwise while sitting
Editing controls
/edit_avatar_move_backwardCamera Backward
/edit_avatar_move_forwardCamera Forward
/edit_avatar_spin_ccwCamera spins around avatar counterclockwise
/edit_avatar_spin_cwCamera spins around avatar clockwise
/edit_avatar_spin_overCamera spins over avatar
/edit_avatar_spin_underCamera spins under avatar
Sound and Media controls
/script_trigger_lbuttonInteract (Script LMB 🖰)
/start_chatStart Chat
/start_gestureStart Gesture
/toggle_enable_mediaPlay/Stop All Media
/toggle_pause_mediaPlay/Pause Media
/voice_follow_keyVoice
/toggle_voiceToggle Voice

Control modes

ParameterDescription
?mode=“first_person” or 0, “third_person” or 1, “edit_avatar” or 2, “sitting” or 3.

e.g., secondlife:///app/keybinding/push_forward?mode=sitting

URIDescription
secondlife:///app/loginlog in on launch. External and internal browsers.

See below for query parameters; of course, values are URL-escaped. See Login Query Parameters.

URIDescription
secondlife:///app/maptrackavatar/<friend_id>finds a friend on the world map, requires permission (2.4)
URIDescription
secondlife:///app/objectim/<object_id>displays an info dialog for the object sending this message (2.0)
?name=<object_name>
&owner=<owner_id>
&groupowned=true(add if the object is deeded to a group)
&slurl=<region>/<x>/<y>/<z>
URIDescription
secondlife:///app/openfloater/<floater_name>e.g., “preferences”, “people”, “places”, “picks”, “destinations”, “profile”
URIDescription
secondlife:///app/parcel/<parcel_id>/aboutopen floater describing place

The wiki shows this form struck through.

URIDescription
secondlife:///app/region/<region_id>/aboutinformation from the database about that region? list of parcels? covenant?

(see wear_folder)

URIDescription
secondlife:///app/remove_folder/?folder_id=<inventory_folder_uuid>remove contents of specified folder from outfit (7.1)
secondlife:///app/remove_folder/?folder_name=<library_folder_name>remove contents of named Library folder from outfit
URIDescription
secondlife:///app/search/<category>“all”, “people”, “places”, “events”, “groups”, “wiki”, “destinations”, “classifieds”
secondlife:///app/search/<category>/<search_term>opens a search floater with matching results (2.0)
URIDescription
secondlife:///app/sharewithavatar/<agent_id>open an inventory share/IM window for the agent (2.4)
URIDescription
secondlife:///app/teleport/<region_name>teleport instantly to this region, no dialog
secondlife:///app/teleport/<region_name>/<local_x>optional X position, defaults to 128
secondlife:///app/teleport/<region_name>/<local_x>/<local_y>optional Y position, defaults to 128
secondlife:///app/teleport/<region_name>/<local_x>/<local_y>/<local_z>optional Z position, defaults to 0
URIDescription
secondlife:///app/voicecallavatar/<agent_id>start a private voice session (2.4)
URIDescription
secondlife:///app/wear_folder/?folder_id=<inventory_folder_uuid>replace outfit with contents of specified folder (2.6)
secondlife:///app/wear_folder/?folder_name=<library_folder_name>replace outfit with contents of named Library folder
URIDescription
secondlife:///app/worldmapopen the map with this destination selected (2.0)
secondlife:///app/worldmap/<region_name>
secondlife:///app/worldmap/<region_name>/<local_x>optional X position, defaults to 128
secondlife:///app/worldmap/<region_name>/<local_x>/<local_y>optional Y position, defaults to 128
secondlife:///app/worldmap/<region_name>/<local_x>/<local_y>/<local_z>optional Z position, defaults to 0

This could be extended to things like:

URIDescription
/app/event/<event_id>/subscribeto register for notifications
/app/parcel/<parcel_id>/teleportto teleport to a specific location
ParameterDescription
firstthe account first name
lastthe account last name
sessionthe secure session id
locationlogin location, format TBD, optional

When adding secondlife:// links using the above syntax to a Second Life Wiki page, you can enclose your links in squared brackets (thus turning them into a standard Wiki external link), which also gives you the chance of changing the displayed text. Example:

[secondlife:///app/objectim/190f571d-fdf1-8f6c-4e9d-973e9b5e0566?name=ObjectName&owner=c93c3129-2250-4c79-a5f7-8c755ca2707e&groupowned=true&slurl=Location/128/128/27 ObjectName]

will display as a link labelled “ObjectName”.

In this case you will also need to ensure the object name has been escaped.

Sometimes, having the link clickable (which will attempt to launch the Second Life Viewer to open it), is not desirable. Instead, to display the URI itself without making it clickable, surround it with <nowiki>...</nowiki>. For example:

<nowiki>secondlife:///app/group/8db35111-979b-14a7-6a74-b47be86ce04f/about</nowiki>

will display as secondlife:///app/group/8db35111-979b-14a7-6a74-b47be86ce04f/about (not clickable), whereas

secondlife:///app/group/8db35111-979b-14a7-6a74-b47be86ce04f/about

will display the whole link and make it clickable.

string Who(key id)
{
return "secondlife:///app/agent/" + (string)id + "/inspect";
}
default
{
touch_start(integer num)
{
llSay(0, "Touched by " + Who(llDetectedKey(0)) + "." );
}
}

Adapted from the Second Life Wiki page Viewer URI Name Space (revision 1219168, 2026-10-06); history, by Second Life Wiki contributors, under CC BY-SA 3.0. Last wiki edit: .

  1. Two slashes for the beginning of the authority section — for HTTP requests, this is the name of the server (optionally with the port) — here it’s empty; followed by a third slash, terminating the authority section. See https://www.rfc-editor.org/rfc/rfc3986#section-3.2 . Because Second Life is omitting the ‘authority’ part, that section is empty, thus the three slashes; note that Second Life is not the only example of an ‘authorityless’ communications protocol; there are plenty of other examples. ↩

  2. The public (chat) channel, also written as PUBLIC_CHANNEL ↩