Convert session configurations between MobaxTerm, SuperPutty, and OpenSSH formats.
| Format | File Types | Description |
|---|---|---|
| MobaxTerm | .ini, .mxtsessions |
Windows terminal emulator session exports |
| SuperPutty | .xml (Sessions.xml) |
PuTTY session manager exports |
| Format | Description |
|---|---|
| sshconfig | OpenSSH ~/.ssh/config format |
| superputty | SuperPutty Sessions.xml format |
- Auto-detects input format based on file extension
- Bidirectional conversion between formats
- Preserves folder hierarchy
- Extracts jump host / ProxyJump settings (MobaxTerm)
- Parses PuTTY command-line args (SuperPutty)
- Merges with existing SSH config
- Creates timestamped backups before overwriting
- Supports username replacement across all sessions
npm installUsage: node mobaconv.js [options]
Options:
--datadir <dir> Directory with session files (.ini, .mxtsessions, .xml)
Defaults to ./data/
--format <type> Input format: auto (default), mobaxterm, superputty
'auto' detects based on file extensions
--output-format <type> Output format: sshconfig (default), superputty
--sshconfigfile <file> Source SSH config file to merge with (sshconfig output only)
Defaults to ~/.ssh/config
--outputfile <file> Target output file
Defaults to ~/.ssh/config (sshconfig) or Sessions.xml (superputty)
--replaceuser <old/new> Replace a username everywhere (proxy and SSH user)
--help Show help information
node mobaconv.js --datadir ./sessions/node mobaconv.js --datadir ./data/ --output-format superputty --outputfile Sessions.xmlnode mobaconv.js --datadir ./data/ --format superputty# First convert SuperPutty to another SuperPutty file (for reorganization)
node mobaconv.js --datadir ./old-sessions/ --output-format superputty --outputfile new-sessions.xmlnode mobaconv.js --datadir ./data/ --replaceuser olduser/newuser- Main config:
%APPDATA%/MobaXterm/MobaXterm.ini - Portable:
MobaXterm.ininext toMobaXterm.exe - Exported: Right-click sessions > "Export sessions to file"
- Sessions database:
%USERPROFILE%/Documents/SuperPuTTY/Sessions.xml - Or via: File > Export Sessions
### Production/Web Servers
# nginx01
Host 192.168.1.10
Port 22
HostName 192.168.1.10
User admin
IdentityFile ~/.ssh/id_ed25519
ForwardAgent yes
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfSessionData>
<SessionData SessionId="Production/Web Servers/nginx01" SessionName="nginx01"
Host="192.168.1.10" Port="22" Proto="SSH" Username="admin"
PuttySession="Default Settings" ExtraArgs="-A" Note="" />
</ArrayOfSessionData>npm test # Run all tests
npm run test:superputty # Run SuperPutty parser tests
npm run test:mobaxterm # Run MobaxTerm parser tests
npm run test:generator # Run SuperPutty generator testsSee docs/mxtsessions_format.md for detailed MobaxTerm format documentation.
MobaxTerm format decoding based on research by Ruzgfpegk.
MIT