Standalone browser tool · scientific colours

Scientific Palette Explorer

Choose a palette, assign colours to your categories, and save a reusable configuration for figures, R, Python, or Cytoscape. Match colours by name, even when rows are reordered.

Inputs stay in this browser. Save the JSON mapping yourself; the page does not upload or store it.

GitHub

1. Choose a palette

Browse categorical palettes for experimental groups, modules, or other named categories.

Selecting a palette changes suggestions for new categories only. To start over with its colours, use “New mapping”; your existing keys are replaced only after confirmation.

Selected colours & source

Value-scale colour references · 5 selections

Separate references for continuous plots or heatmaps. These are labelled swatches, not calibrated scales: no value positions or interpolation are defined. Downloading them does not change category colours.

2. Configure category colours

Already have a saved mapping? Import it

Load a saved mapping

Import JSON or a category,color_hex CSV. Cytoscape module/node CSVs with Primary_module_final and Primary_fill_color_hex are also supported. Identical repeated keys collapse; conflicting colours are rejected.

Or edit the illustrative mapping below.

Use 1–100 unique category keys. Names are trimmed and case-sensitive. Changing a suggestion preset never recolours or removes existing keys.

Figure preview

    Synthetic values; previews show the first 10 categories only. Exports include every key.

    3. Save & export

    Save JSON or CSV and import it next time. R/Python helpers reject unknown categories. The HEX-only list does not preserve category keys.

    Optional · Apply colours to a data table

    Apply to figure data

    Match a category column by name, not row position. Non-colour values and row order are preserved. Unknown keys block export; existing colour conflicts need explicit permission to replace.

    For gene/module data, open Cytoscape Import Table Builder and enable its saved-mapping option. Existing gene-level overrides are conflicts in strict mapping mode, not silently preserved.

    Back to all tools