Configuration

July 15, 2026 ยท View on GitHub

Config lives at ~/.config/cartotui/config.json. CARTOTUI_CONFIG overrides the path. Every value is range checked on load, and anything invalid quietly falls back to its default rather than breaking the app.

Edit it without hunting for the file:

./configure.sh set ui.theme dark
./configure.sh set render.vector_scale 8
./configure.sh list --flat
./configure.sh themes

Ctrl+S in the app saves the current view and panel layout back to the config.

map

KeyDefaultNotes
center_lat center_lon42.3601, -71.0589Start position
zoom40 to 19
min_zoom max_zoom0, 19
modevectorOr a raster view mode
paletteshades
overzoom2Levels a raster tile may be stretched
max_composite_px1400Ceiling on the working image

render

Covered in Rendering and Image adjust.

KeyDefault
colortrue
dithernone
brightness contrast gamma1.0, 1.05, 1.0
saturation1.0
black_point white_point0.0, 1.0
sharpen_percent sharpen_radius sharpen_threshold150, 1.5, 3
edge_boost invertfalse
subpixel_thresholdadaptive
subpixel_percentile55
shaded_blocksfalse
vector_overlaytrue (place names, N toggles it)
boundariestrue
boundary_styledots
vector_enginelibcarto
vector_scale6
vector_render_modequadrant
raster_render_modeascii
road_thickness1.0
road_thickness_by_modeascii 0.6, others 1.0
road_highlightfalse
raster_tintnone, or theme to recolour raster into the theme
dynamic_qualitytrue
color_depthtruecolor, 256, 16

aircraft

See ADS-B.

KeyDefault
label_modesmart
marker_stylearrow
marker_sizenormal
max_shown150, 0 for all
altitude_colors legendtrue
dead_reckoning predict_tracktrue
predict_seconds60
highlight_interestingtrue
hide_groundfalse
min_altitude max_altitude0, 0 (no limit)

aircraft_trails.enabled is true and aircraft_trails.duration_s is 60, from 5 to 600.

traffic

KeyDefault
enabledfalse
sourcedisabled
stale_timeout_s60
api.providerairplanes.live
api.radius_nm100, up to 250
api.interval_s5.0, from 0.5, but a provider floor still applies
api.follow_map api.follow_zoomtrue
sbs1.host sbs1.portlocalhost, 30003
replay.path replay.speed replay.loop"", 1.0, true
record.enabled record.path record.interval_sfalse, "", 1.0

overlays.radar

See Overlays.

KeyDefault
enabledfalse
opacity0.65
color4
smooth snow1
framelatest
animatefalse
frame_interval0.6
refresh_interval_s120

snapshot

See Snapshots.

KeyDefault
png_modemap, or ascii
png_long_side1600, from 512 to 6144
png_labels png_aircraftfalse
png_radartrue
open_aftertrue

ui, viewport, network, cache

KeyDefaultNotes
ui.themeamber
ui.max_fps305 to 120
ui.mousetrue
ui.panels[]Written by Ctrl+S
viewport.sidebar_width36
viewport.crosshairtrue
network.tile_urlOSMRaster tiles
network.user_agentSent to every server
network.parallel_downloads8
cache.dirunder the config folder
cache.max_bytes256MB
logging.levelINFO
logging.filenullnull for the default path, "" to turn logging off

CLI

Command line beats config for the run.

python -m cartotui --mvt-url "https://tiles.versatiles.org/tiles/osm/{z}/{x}/{y}" --lat 43.2 --lon -71.5 --zoom 14
FlagNotes
--config PATH
--lat --lon --zoom
--modevector, ascii, quadrant, braille, half
--palette --theme
--no-color
--mvt-url URLRaw MVT template, sets vector.source=mvt_url
--pmtiles-url URLSets vector.source=pmtiles_url
--protomaps-key KEYSets vector.source=protomaps_api
--print-configPrint the resolved config and exit