PearTree URL, UI, and Settings Reference

July 18, 2026 ยท View on GitHub

This document is a reference for:

  • URL query parameters supported by peartree.html
  • The ui object properties (for window.peartreeConfig.ui or { ui } in configUrl JSON)
  • The settings object properties (for window.peartreeConfig.settings, { settings } in configUrl JSON, and settings= URL payload)

1) URL Query Parameters

Core parameters

ParameterValue typeDescription
treeUrlURL (http/https)Auto-load a tree file on startup.
configUrlURL (JSON)Fetch JSON config with optional { "ui": {...}, "settings": {...} }.
settingsbase64(JSON object)Inline settings object (btoa(JSON.stringify(settingsObj))).
themelight | darkBootstrap wrapper theme.
nodeLabelNamestringPreselect node label annotation key.
nostore1Disable localStorage persistence for runtime settings.
storageKeystringOverride localStorage key used for persistence.

UI visibility / mode parameters

For boolean-style flags:

  • 0 = hide/disable
  • absent or 1 = show/enable

For extended panel flags (rtt, dt):

  • fixed is also supported
URL paramMapped ui keyMeaning
palettepaletteSettings panel toggle button visibility
toolbartoolbarTop toolbar visibility
rttrttRTT panel mode (true/false/fixed)
rttheaderrttHeaderRTT panel header visibility
dtdataTableData table panel mode (true/false/fixed)
dtheaderdataTableHeaderData table header visibility
importimportOpen/import controls visibility
exportexportExport controls visibility
statusbarstatusBarStatus bar visibility
sbstatsstatusStatsStatus stats section visibility
sbselectstatusSelectStatus selection section visibility
sbmessagestatusMessageStatus transient message visibility
sbsharestatusShareStatus share button visibility
helphelpHelp button visibility
aboutaboutAbout button visibility
themetogglethemeToggleTheme toggle visibility
brandbrandBrand/logo visibility
tbfileopstbFileOpsToolbar file ops group visibility
tbanntbAnnotationsToolbar annotation group visibility
tbnodetbNodeInfoToolbar node-info group visibility
tbnavtbNavigationToolbar navigation group visibility
tbzoomtbZoomToolbar zoom group visibility
tbordertbOrderToolbar ordering group visibility
tbrotatetbRotateToolbar rotate group visibility
tbreroottbRerootToolbar reroot group visibility
tbhidetbHideShowToolbar hide/show group visibility
tbcolourtbColourToolbar colour group visibility
tbfiltertbFilterToolbar filter group visibility
tbpanelstbPanelsToolbar panel-toggle group visibility
keyboardkeyboardKeyboard shortcuts enable/disable

2) ui Object Properties

Use these in:

  • window.peartreeConfig.ui
  • configUrl JSON as { "ui": { ... } }

Boolean keys accept booleans; string values '0'/'1'/'false'/'true' are coerced. rtt and dataTable additionally accept 'fixed'. openTree is treated as an alias of import.

KeyTypeNotes
palettebooleanShow settings panel toggle
toolbarbooleanShow top toolbar
rttboolean | 'fixed'RTT panel availability / fixed mode
rttHeaderbooleanRTT header visibility
dataTableboolean | 'fixed'Data table availability / fixed mode
dataTableHeaderbooleanData table header visibility
importbooleanOpen/import controls
exportbooleanExport controls
statusBarbooleanBottom status bar
statusStatsbooleanStatus stats block
statusSelectbooleanStatus selection block
statusMessagebooleanStatus message block
statusSharebooleanShare URL button
helpbooleanHelp button
aboutbooleanAbout button
themeTogglebooleanDark/light toggle button
brandbooleanBrand text/logo
keyboardbooleanKeyboard shortcuts enable/disable
tbFileOpsbooleanToolbar file operations group
tbAnnotationsbooleanToolbar annotation tools group
tbNodeInfobooleanToolbar node-info group
tbNavigationbooleanToolbar navigation group
tbZoombooleanToolbar zoom group
tbOrderbooleanToolbar sort/order group
tbRotatebooleanToolbar rotate group
tbRerootbooleanToolbar reroot group
tbHideShowbooleanToolbar hide/show group
tbColourbooleanToolbar colour group
tbFilterbooleanToolbar filter group
tbPanelsbooleanToolbar panel buttons group

3) settings Object Properties

settings is composed of:

  • Core runtime keys from DEFAULT_SETTINGS
  • Theme-driven visual keys from REQUIRED_THEME_KEYS

Canonical key table (allowed values + defaults): settings-object-reference.md.

The lists below are a quick grouped view.

Core settings keys (DEFAULT_SETTINGS)

  • rootStemPct
  • paddingLeft
  • paddingRight
  • paddingTop
  • paddingBottom
  • axisPaddingTop
  • rootStubLength
  • introAnimation
  • tipLabelShow
  • tipLabelAlign
  • tipLabelSpacing
  • tipLabelsExtra
  • tipLabelsExtraLayouts
  • tipLabelDecimalPlaces
  • tipLabelShape
  • tipLabelShapeSize
  • tipLabelShapeMarginLeft
  • tipLabelShapeSpacing
  • tipLabelShapesExtra
  • tipColourBy
  • nodeColourBy
  • labelColourBy
  • tipLabelShapeColourBy
  • tipLabelShapeExtraColourBys
  • nodeLabelAnnotation
  • nodeLabelColourBy
  • nodeLabelPosition
  • nodeLabelDecimalPlaces
  • branchLabelAnnotation
  • branchLabelColourBy
  • branchLabelPosition
  • branchLabelDecimalPlaces
  • branchColourBy
  • branchShape
  • branchShapeHeightPct
  • branchShapeWidth
  • branchShapeAlign
  • branchShapeSpacing
  • branchShapesFilter
  • branchShapeColourBy
  • branchShapeCountBy
  • branchShapeHalo
  • branchShapesExtra
  • nodeBarsEnabled
  • nodeBarsLine
  • nodeBarsRange
  • cladeHighlightLeftEdge
  • cladeHighlightRightEdge
  • cladeHighlightPadding
  • cladeHighlightRadius
  • legendPadding
  • legendHeightPct
  • legendSpacing
  • legendDecimalPlaces
  • legendAnnotation2
  • legend2Position
  • legendHeightPct2
  • legendDecimalPlaces2
  • legendAnnotation3
  • legend3Position
  • legendHeightPct3
  • legendDecimalPlaces3
  • legendAnnotation4
  • legend4Position
  • legendHeightPct4
  • legendDecimalPlaces4
  • axisShow
  • axisDateAnnotation
  • axisDateFormat
  • axisMajorInterval
  • axisMinorInterval
  • axisMajorLabelFormat
  • axisMinorLabelFormat
  • rttResidBandShow
  • rttXOrigin
  • rttGridLines
  • rttAspectRatio
  • rttDateFormat
  • rttMajorInterval
  • rttMinorInterval
  • rttMajorLabelFormat
  • rttMinorLabelFormat
  • dataTableOpen
  • dataTablePinned
  • rttOpen
  • rttPinned
  • paletteOpen
  • palettePinned
  • baseTheme
  • defaultTheme
  • selectedTheme

Theme/visual settings keys (REQUIRED_THEME_KEYS)

  • canvasBgColor
  • branchColor
  • branchWidth
  • elbowRadius
  • tipLabelFontSize
  • tipLabelColor
  • tipLabelShapeColor
  • tipShapeSize
  • tipShapeColor
  • tipShapeHaloSize
  • tipShapeBgColor
  • nodeShapeSize
  • nodeShapeColor
  • nodeShapeHaloSize
  • nodeShapeBgColor
  • nodeLabelFontSize
  • nodeLabelTypefaceKey
  • nodeLabelTypefaceStyle
  • nodeLabelColor
  • nodeLabelSpacing
  • branchLabelFontSize
  • branchLabelTypefaceKey
  • branchLabelTypefaceStyle
  • branchLabelColor
  • branchLabelSpacing
  • branchShapeColor
  • branchShapeHaloColor
  • branchShape2Color
  • branchShape3Color
  • branchShape4Color
  • nodeBarsColor
  • nodeBarsWidth
  • nodeBarsFillOpacity
  • nodeBarsStrokeOpacity
  • paintColour
  • cladeHighlightFillOpacity
  • cladeHighlightStrokeOpacity
  • cladeHighlightStrokeWidth
  • cladeHighlightColour
  • collapsedCladeFontSize
  • collapsedCladeStrokeWidth
  • collapsedCladeStrokeOpacity
  • collapsedCladeTypefaceKey
  • collapsedCladeTypefaceStyle
  • legendTextColor
  • legendFontSize
  • legendTypefaceKey
  • legendTypefaceStyle
  • axisColor
  • axisFontSize
  • axisTypefaceKey
  • axisTypefaceStyle
  • axisLineWidth
  • rttRegressionStyle
  • rttRegressionColor
  • rttRegressionWidth
  • rttResidBandColor
  • rttResidBandStyle
  • rttResidBandWidth
  • rttResidBandFillColor
  • rttResidBandFillOpacity
  • rttStatsBgColor
  • rttStatsTextColor
  • rttStatsFontSize
  • rttAxisColor
  • rttAxisFontSize
  • rttAxisLineWidth
  • rttAxisTypefaceKey
  • rttAxisTypefaceStyle
  • typeface
  • typefaceStyle
  • selectedLabelStyle
  • selectedTipGrowthFactor
  • selectedTipFillColor
  • selectedTipMinSize
  • selectedTipFillOpacity
  • selectedTipStrokeColor
  • selectedTipStrokeWidth
  • selectedTipStrokeOpacity
  • selectedNodeGrowthFactor
  • selectedNodeFillColor
  • selectedNodeMinSize
  • selectedNodeFillOpacity
  • selectedNodeStrokeColor
  • selectedNodeStrokeWidth
  • selectedNodeStrokeOpacity
  • tipHoverGrowthFactor
  • tipHoverFillColor
  • tipHoverMinSize
  • tipHoverFillOpacity
  • tipHoverStrokeColor
  • tipHoverStrokeWidth
  • tipHoverStrokeOpacity
  • nodeHoverGrowthFactor
  • nodeHoverFillColor
  • nodeHoverMinSize
  • nodeHoverFillOpacity
  • nodeHoverStrokeColor
  • nodeHoverStrokeWidth
  • nodeHoverStrokeOpacity

4) Example configUrl JSON

{
  "ui": {
    "toolbar": true,
    "tbZoom": true,
    "tbOrder": false,
    "statusBar": true,
    "rtt": "fixed",
    "dataTable": false
  },
  "settings": {
    "axisShow": "time",
    "tipLabelFontSize": "13",
    "tipLabelShow": "names",
    "selectedTheme": "ARTIC"
  }
}

5) Notes on precedence

Configuration precedence (later wins):

  1. Defaults / stored settings
  2. configUrl JSON (ui, settings)
  3. URL switches (?toolbar=0, etc.) and settings=
  4. window.peartreeConfig explicit values

This means configUrl provides baseline remote config, while direct URL flags and explicit embed config can override it.

6) Embedding with an iframe

You can embed PearTree in any page with a plain <iframe> and configure it with URL parameters.

Minimal iframe embed

<iframe
  title="Phylogenetic tree"
  src="https://peartree.live/peartree?treeUrl=https%3A%2F%2Fexample.org%2Ftrees%2Febov.tree"
  width="100%"
  height="700"
  style="border: 1px solid #d0d7de; border-radius: 8px;"
  loading="lazy"
></iframe>

iframe embed with UI flags

<iframe
  title="PearTree (minimal UI)"
  src="https://peartree.live/peartree?treeUrl=https%3A%2F%2Fexample.org%2Ftrees%2Febov.tree&toolbar=0&statusbar=0&tbnav=0&tbzoom=0&tborder=0"
  width="100%"
  height="700"
  style="border: 0;"
></iframe>

iframe embed using remote config JSON (configUrl)

<iframe
  title="PearTree (configUrl)"
  src="https://peartree.live/peartree?treeUrl=https%3A%2F%2Fexample.org%2Ftrees%2Febov.tree&configUrl=https%3A%2F%2Fexample.org%2Fconfigs%2Fpeartree-config.json"
  width="100%"
  height="700"
  style="border: 0;"
></iframe>

Notes

  • URL-encode all external URLs used in query parameters (treeUrl, configUrl).
  • treeUrl must be reachable by the browser running the host page.
  • If loading from a different origin, the tree host must allow cross-origin fetches (CORS).