WLX JSON viewer editor
Moderators: Hacker, petermad, Stefan2, white
WLX JSON viewer editor
https://github.com/adoeller/tc-jsontab2
Grid view, inline editor, text syntax highlighting.
JSON Tab WLX is a native Windows Lister plugin for Total Commander that displays JSON documents as a combined tree, table, and formatted text view.
Both regular JSON documents (.json) and JSON Lines documents (.jsonl) are supported. JSONL records are shown as the elements of one root array and are saved back as one compact JSON value per line.
This project is a Lazarus/Free Pascal migration of the original jsontab-wlx plugin by little-brother. The original program established the user interface, behavior, and core feature set on which this port is based.
The migration keeps the familiar workflow while adding editing, improved sorting, and better performance for large arrays.
Differences And Extensions Compared To The Original
This Lazarus/FPC version adds or substantially changes:
•Native Free Pascal implementation with a Lazarus project
•Inline scalar editing and saving
•Virtual owner-data grid for improved large-array handling
•Result-index-based filtering and sorting without rearranging JSON data
•Stable locale-aware natural sorting
•Filter transfer between compatible tree nodes using Ctrl+Shift
•Filter fields smoothly follow horizontal grid scrolling and column-width
changes
•Automatic bounded column sizing based on visible results
•Explicit current-cell display and alternating row colors
•Extended context menu and keyboard controls
•Win32 and Win64 release build modes from one project
Grid view, inline editor, text syntax highlighting.
JSON Tab WLX is a native Windows Lister plugin for Total Commander that displays JSON documents as a combined tree, table, and formatted text view.
Both regular JSON documents (.json) and JSON Lines documents (.jsonl) are supported. JSONL records are shown as the elements of one root array and are saved back as one compact JSON value per line.
This project is a Lazarus/Free Pascal migration of the original jsontab-wlx plugin by little-brother. The original program established the user interface, behavior, and core feature set on which this port is based.
The migration keeps the familiar workflow while adding editing, improved sorting, and better performance for large arrays.
Differences And Extensions Compared To The Original
This Lazarus/FPC version adds or substantially changes:
•Native Free Pascal implementation with a Lazarus project
•Inline scalar editing and saving
•Virtual owner-data grid for improved large-array handling
•Result-index-based filtering and sorting without rearranging JSON data
•Stable locale-aware natural sorting
•Filter transfer between compatible tree nodes using Ctrl+Shift
•Filter fields smoothly follow horizontal grid scrolling and column-width
changes
•Automatic bounded column sizing based on visible results
•Explicit current-cell display and alternating row colors
•Extended context menu and keyboard controls
•Win32 and Win64 release build modes from one project
Re: WLX JSON viewer editor
When I save after edit it use two space to indent instead of column-delimiter = \t.
Re: WLX JSON viewer editor
column-delimiter = ; Used when copy rows. Should be one char. Default is TABHurdet wrote: 2026-06-20, 14:24 UTC When I save after edit it use two space to indent instead of column-delimiter = \t.
still, there is a parsing problem for column-delimiter that is fixed in the next upload
Re: WLX JSON viewer editor
fixed on github. use configured column-delimiter or TAB as default
Re: WLX JSON viewer editor
tryed but not fixed.
;column-delimiter =
column-delimiter = TAB
column-delimiter = \t
;column-delimiter =
column-delimiter = TAB
column-delimiter = \t
Re: WLX JSON viewer editor
its the char exactly after the =Hurdet wrote: 2026-06-20, 15:38 UTC tryed but not fixed.
;column-delimiter =
column-delimiter = TAB
column-delimiter = \t
no space intended
;column-delimiter works as TAB as well
Re: WLX JSON viewer editor
column-delimiter =\t
tryed also
I'm not able to do that it work.
tryed also
I'm not able to do that it work.
Re: WLX JSON viewer editor
\t are two chars. you have to enter an actual tab, e.g. copy and paste. or just comment the lineHurdet wrote: 2026-06-20, 15:48 UTC column-delimiter =\t
tryed also
I'm not able to do that it work.
Re: WLX JSON viewer editor
actual tab, e.g. copy and paste. or just comment the line, not work here.
Re: WLX JSON viewer editor
https://x0.at/r8iJ.pngHurdet wrote: 2026-06-20, 16:38 UTC actual tab, e.g. copy and paste. or just comment the line, not work here.
latest version?
additional config in lsplugin.ini
Re: WLX JSON viewer editor
latest version.
when you open the json modified in notepad you see indent with spaces or tab?
I see spaces.
when you open the json modified in notepad you see indent with spaces or tab?
I see spaces.
Code: Select all
; jsontab.ini
[jsontab]
font-size =36
header-row = 1 ; 0/1
filter-row =1
dark-theme =1
tab-no =0
splitter-position =476
; Below params can be changed only in the ini file
font = Arial ;
max-file-size = 1000000 ; 1mb. Use 0 to unlimited
max-column-width = 300 ;
max-highlight-length = 64000 ;
filter-align = 0 ; -1 - left, 0 - center, 1 - right
filter-case-sensitive = 0 ; 0/1
copy-column = 0 ; Ctrl + C: 0 - copy a current cell, 1 - copy all cells from selected rows/current column
disable-num-keys = 0 ; 0/1, Disable/Enable 1-8 keys
disable-np-keys = 0 ; 0/1, Disable/Enable N(ext) and P(revious) keys
;column-delimiter =; Used when copy rows. Should be one char. Default is TAB
parse-mode = 0 ; 0 - strict mode, 1 - allows multi-root only, 2 - parse any malformed data
; Colors
; Light theme
text-color = 0 ; RGB(0, 0, 0)
back-color = 16777215 ; RGB(255, 255, 255)
back-color2 = 15790320 ; RGB(240, 240, 240)
filter-text-color = 0 ; RGB(0, 0, 0)
filter-back-color = 15790320 ; RGB(240, 240, 240)
current-cell-color = 16448020 ; RGB(20, 250, 250)
; splitter-color = <as button>
json-text-color = 0 ; RGB(0, 0, 0)
json-key-color = 8388736 ; RGB(128, 0, 128)
json-string-color = 32768 ; RGB(0, 128, 0)
json-boolean-color = 16711680 ; RGB(0, 0, 255)
json-null-color = 255 ; RGB(255, 0, 0)
current-cell-back-color = 10903622 ; RGB(70, 96, 166)
; Dark theme
text-color-dark = 14474460 ; RGB(220, 220, 220)
back-color-dark = 2105376 ; RGB(32, 32, 32)
back-color2-dark = 3421236 ; RGB(52, 52, 52)
filter-text-color-dark = 16777215 ; RGB(255, 255, 255)
filter-back-color-dark = 3947580 ; RGB(60, 60, 60)
current-cell-color-dark = 16448020 ; RGB(20, 250, 250)
; splitter-color-dark = <as button>
json-text-color-dark = 14474460 ; RGB(220, 220, 220)
json-key-color-dark = 9869055 ; RGB(200, 0, 200)
json-string-color-dark = 65280 ; RGB(0, 128, 0)
json-boolean-color-dark = 9557992 ; RGB(0, 0, 128)
json-null-color-dark = 255 ; RGB(255, 0, 0)
current-cell-back-color-dark = 4079136 ; RGB(32, 62, 62)
Re: WLX JSON viewer editor
Hurdet wrote: 2026-06-20, 18:51 UTC latest version.
when you open the json modified in notepad you see indent with spaces or tab?
I see spaces.
Code: Select all
; Rename to jsontab.ini
[jsontab]
back-color = 16777215 ; RGB(255, 255, 255)
back-color-dark = 2105376 ; RGB(32, 32, 32)
back-color2 = 15790320 ; RGB(240, 240, 240)
back-color2-dark = 3421236 ; RGB(52, 52, 52)
copy-column = 0 ; Ctrl + C: 0 - copy a current cell, 1 - copy all cells from selected rows/current column
current-cell-back-color = 10903622 ; RGB(70, 96, 166)
; splitter-color = <as button>
current-cell-back-color-dark = 4079136 ; RGB(32, 62, 62)
; splitter-color-dark = <as button>
dark-theme =0
decimal-align = 1 ; 0/1, align decimals and mixed-column integers at one anchor
disable-grid-lines = 0 ; 0/1, Disable/Enable grid lines
disable-np-keys = 0 ; 0/1, Disable/Enable N(ext) and P(revious) keys
; column-delimiter = ; Used when copy rows. Should be one char. Default is TAB
disable-num-keys = 0 ; 0/1, Disable/Enable 1-8 keys
exit-by-q = 0 ; Exit by Q-key
; detect-string = MULTIMEDIA & (ext="JSON" | ext="JSONL")
filter-align = 0 ; -1 - left, 0 - center, 1 - right
filter-back-color = 15790320 ; RGB(240, 240, 240)
filter-back-color-dark = 3947580 ; RGB(60, 60, 60)
filter-case-sensitive = 0 ; 0/1
filter-row =1
filter-text-color = 0 ; RGB(0, 0, 0)
filter-text-color-dark = 16777215 ; RGB(255, 255, 255)
; Below params can be changed only in the ini file
font = Arial ;
font-size =16
font-use-bold = 0 ; 0/1, Control boldness for keys and nulls
font-weight = 0 ; 0 - by system. Should be betwen 1 and 9
json-boolean-color = 16711680 ; RGB(0, 0, 255)
json-boolean-color-dark = 8388608 ; RGB(0, 0, 128)
json-key-color = 8388736 ; RGB(128, 0, 128)
json-key-color-dark = 13107400 ; RGB(200, 0, 200)
json-null-color = 255 ; RGB(255, 0, 0)
json-null-color-dark = 255 ; RGB(255, 0, 0)
json-string-color = 32768 ; RGB(0, 128, 0)
json-string-color-dark = 32768 ; RGB(0, 128, 0)
json-text-color = 0 ; RGB(0, 0, 0)
json-text-color-dark = 14474460 ; RGB(220, 220, 220)
max-column-width = 300 ;
max-file-size = 20000000 ; 20mb. Use 0 to unlimited
max-highlight-length = 64000 ;
missing-attribute-value = N/A ; Placeholder for a missing attribute
parse-mode = 0 ; 0 - strict mode, 1 - allows multi-root only, 2 - parse any malformed data
selection-back-color = 6956042 ; RGB(10, 36, 106)
selection-back-color-dark = 6710856 ; RGB(72, 102, 102)
selection-text-color = 16777215 ; RGB(255, 255, 255)
selection-text-color-dark = 14474460 ; RGB(220, 220, 220)
skip-attributes-scan = 0 ; 0/1, Build attributes by the first array element
splitter-position =179
tab-no =0
; Colors
; Light theme
text-color = 0 ; RGB(0, 0, 0)
; Dark theme
text-color-dark = 14474460 ; RGB(220, 220, 220)
Re: WLX JSON viewer editor
Only quote?
Re: WLX JSON viewer editor
new version on github
tl;dr: display uniform children at same level in table/object
Image: https://x0.at/2cFU.png
•Optional FlatViewLevel: flatten object levels relative to the selected
tree node into columns (message, meta.message, and so on). For arrays, direct scalar columns are retained while nested objects are expanded (modulation_params.audio_freq). Array flattening requires a uniform schema with the same leaf paths in every row. The normal view is retained if rows differ, an intermediate level contains arrays, or objects remain below the requested depth.
tl;dr: display uniform children at same level in table/object
Image: https://x0.at/2cFU.png
•Optional FlatViewLevel: flatten object levels relative to the selected
tree node into columns (message, meta.message, and so on). For arrays, direct scalar columns are retained while nested objects are expanded (modulation_params.audio_freq). Array flattening requires a uniform schema with the same leaf paths in every row. The normal view is retained if rows differ, an intermediate level contains arrays, or objects remain below the requested depth.

