TN3270E Terminal Emulator for macOS
Native Cocoa. CoreText rendering. Full TN3270E negotiation.
Connect to IBM Mainframes — z/OS, z/VM, z/VSE — for free.
ISPF 8.1 Primary Option Menu — connected to IBM ZExplore at 204.90.115.200:623
Every decent TN3270 client for macOS either costs $50–$100+, requires Java, or hasn't been touched in a decade. DX3270 is none of those things.
Built on Cocoa, CoreText, and CoreGraphics. Renders like a Mac app because it is a Mac app. Apple Silicon and Intel binaries.
OpenSSL powers implicit TLS (TLS 1.2+) on any port. Connect to z/OS, z/VM, and z/VSE — encrypted or plain Telnet.
Full GOCA order-stream decoder renders charts, diagrams, and topology maps as CoreGraphics overlays — no plugin needed.
MIT license. Source on GitHub. No subscriptions, no dongles, no activation keys. Just a terminal emulator that works.
Full TN3270E negotiation, proper AID key codes per IBM GA23-0059, Query Reply with colour/highlight structured fields. ISPF just works.
Model 2–5 plus a non-standard 62×160 large model. Dynamic Usable Area Query Reply, 14-bit buffer addressing.
| Feature | Details |
|---|---|
| Protocol | TN3270E (RFC 2355) with automatic fallback to classic TN3270 |
| Security | Plain Telnet and implicit TLS (TLS 1.2+) on any port via OpenSSL |
| Screen Models | Model 2 (24×80) · Model 3 (32×80) · Model 4 (43×80) · Model 5 (27×132) · Large (62×160) |
| EBCDIC | CP037 (US), CP500 (International), CP1047 (Open Systems) |
| Colours | IBM 3279 seven-colour palette, extended attributes (SA/SFE), per-cell background fill, reverse video, underscore |
| GDDM/GOCA | FILRECT · FULLARC · CGPOS/CLCS · SCOL · SMIX · BSEG/ESEG · LNPOS/LNAT — CoreGraphics vector overlay |
| Keyboard | PF1–PF24, PA1–PA3, Clear, Reset, Tab/BackTab, ErEOF, Insert, arrows — correct IBM AID codes |
| Font | Menlo (default) or bundled IBM 3270 font by Ricardo Bánffy (SIL OFL). Switchable live in Preferences. |
| Query Reply | Read Partition Query with Colour, Highlighting, and GOCA Data Streams structured fields |
| Export | Save Screenshot as PNG (⌘⇧P) · Export Screen as UTF-8 Text (⌘⇧T) |
| Diagnostics | Traffic Monitor — live hex/ASCII dump of all Telnet bytes (⌘⇧D) |
| Connection History | Last 20 hosts stored in NSUserDefaults; selects port, TLS, CA bundle, code page automatically |
| macOS | 12 Monterey and later · Apple Silicon (ARM64) + Intel (x86_64) |
Pre-built DMGs are published automatically on every push to main via GitHub Actions.
M1, M2, M3, M4 and later. Native ARM64 binary — instant launch, no Rosetta.
Download DMG2019 Macs and earlier. Cross-compiled from Apple Silicon using Clang's native x86_64 support.
Download DMG (Intel)DX3270 is currently unsigned. After dragging to /Applications, open System Settings → Privacy & Security and click Open Anyway. Or run once in Terminal:
sudo xattr -r -d com.apple.quarantine /Applications/DX3270.app
Download the DMG for your Mac architecture. Open it and drag DX3270.app to /Applications.
macOS will block an unsigned app. Go to System Settings → Privacy & Security → Open Anyway, or run the xattr command above.
The Connect dialog opens automatically on launch. Enter your mainframe host, port, and choose TLS if needed. IBM ZExplore is available free at 204.90.115.200:623.
ISPF and TSO sessions work out of the box. PF keys, tab navigation, and multi-colour attributes all behave exactly as expected.
# Install dependencies
xcode-select --install
brew install openssl@3 cmake
# Clone and build (Apple Silicon)
git clone https://github.com/el-dockerr/X3270.git
cd X3270
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
open build/DX3270.app
| F1–F12 | PF1–PF12 |
| ⇧F1–⇧F12 | PF13–PF24 |
| ⌥1 / ⌥2 / ⌥3 | PA1 / PA2 / PA3 |
| Return | Enter (AID) |
| Escape | Reset (unlock keyboard) |
| ⌥Escape | Clear screen |
| Tab / ⇧Tab | Next / previous field |
| ↑↓←→ | Cursor movement |
| Insert | Toggle insert mode |
| ⌥Delete | Erase to End of Field |
| ⌥E | Erase Input (all unprotected) |
| ⌘N | New Connection |
| ⌘, | Preferences |
| ⌘⇧P | Save Screenshot |
| ⌘⇧T | Export Screen as Text |
| ⌘⇧D | Traffic Monitor |
| ⌘/ | Keyboard Shortcuts window |