v1.7.2 — TN5250 / IBM i (AS/400) support

DX3270

TN3270E + TN5250 Terminal Emulator for macOS

Native Cocoa. CoreText rendering. Full TN3270E and TN5250 negotiation.
Connect to IBM Mainframes (z/OS, z/VM, z/VSE) and IBM i (AS/400) — for free.

Free & Open Source TN3270E TN5250 / IBM i Apple Silicon Intel No Java No X11 TLS 1.2+ ISPF / TSO AS/400 Logon GDDM Graphics
Download for Mac View on GitHub
ISPF Primary Option Menu running inside DX3270

ISPF 8.1 Primary Option Menu — connected to IBM ZExplore at 204.90.115.200:623

No Java.
No X11.
No license fee.

Every decent TN3270 or TN5250 client for macOS either costs $50–$100+, requires Java, or hasn't been touched in a decade. DX3270 handles both protocols in one native app.

🍎

Truly Native

Built on Cocoa, CoreText, and CoreGraphics. Renders like a Mac app because it is a Mac app. Apple Silicon and Intel binaries.

🔒

TLS Out of the Box

OpenSSL powers implicit TLS (TLS 1.2+) on any port. Connect to z/OS, z/VM, z/VSE or IBM i — encrypted or plain Telnet.

🖥️

TN5250 — IBM i / AS400

Full TN5250 engine: GDS framing, WTD command, 32-entry IBM colour table, non-display password masking, field navigation, AID transmission. One app, two protocols.

📊

GDDM Vector Graphics

Full GOCA order-stream decoder renders charts, diagrams, and topology maps as CoreGraphics overlays — no plugin needed.

🆓

Free Forever

MIT license. Source on GitHub. No subscriptions, no dongles, no activation keys. Just a terminal emulator that works.

⌨️

Correct Protocol

Full TN3270E negotiation, proper AID key codes per IBM GA23-0059, Query Reply with colour/highlight structured fields. ISPF and AS/400 logon just work.

🖥️

Five Screen Models

Model 2–5 plus a non-standard 62×160 large model. Dynamic Usable Area Query Reply, 14-bit buffer addressing.

Every feature you need,
nothing you don't.

Feature Details
ProtocolTN3270E (RFC 2355) with automatic fallback to classic TN3270 and TN5250 for IBM i — selectable per connection
SecurityPlain Telnet and implicit TLS (TLS 1.2+) on any port via OpenSSL
Screen ModelsModel 2 (24×80) · Model 3 (32×80) · Model 4 (43×80) · Model 5 (27×132) · Large (62×160)
EBCDICCP037 (US), CP500 (International), CP1047 (Open Systems)
5250 ColoursFull IBM SA21-9247 32-entry table — Green, White, Red, Turquoise, Yellow, Pink, Blue × Reverse, Underline, Blink, NonDisplay, ColSep modifiers
5250 FieldsFFW1/FFW2/FCW field attributes, inline attribute bytes, non-display password masking, MDT tracking, Tab/BackTab, field-length enforcement
3270 ColoursIBM 3279 seven-colour palette, extended attributes (SA/SFE), per-cell background fill, reverse video, underscore
GDDM/GOCAFILRECT · FULLARC · CGPOS/CLCS · SCOL · SMIX · BSEG/ESEG · LNPOS/LNAT — CoreGraphics vector overlay
KeyboardPF1–PF24, PA1–PA3, Clear, Reset, Tab/BackTab, ErEOF, Insert, arrows — correct IBM AID codes for both 3270 and 5250
FontMenlo (default) or bundled IBM 3270 font by Ricardo Bánffy (SIL OFL). Switchable live in Preferences.
Query ReplyRead Partition Query with Colour, Highlighting, and GOCA Data Streams structured fields
ExportSave Screenshot as PNG (⌘⇧P) · Export Screen as UTF-8 Text (⌘⇧T)
DiagnosticsTraffic Monitor — live hex/ASCII dump of all Telnet bytes (⌘⇧D)
Connection HistoryLast 20 hosts stored in NSUserDefaults; selects port, TLS, CA bundle, code page automatically
macOS12 Monterey and later · Apple Silicon (ARM64) + Intel (x86_64)

Pick your architecture.

Pre-built DMGs are published automatically on every push to main via GitHub Actions.

Intel · x86_64

DX3270 for Intel Macs

2019 Macs and earlier. Cross-compiled from Apple Silicon using Clang's native x86_64 support. Full TN3270E and TN5250 support.

Download DMG (Intel)
First launch — macOS Gatekeeper

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

Connect in 60 seconds.

01

Download & Install

Download the DMG for your Mac architecture. Open it and drag DX3270.app to /Applications.

02

Bypass Gatekeeper (first time only)

macOS will block an unsigned app. Go to System Settings → Privacy & Security → Open Anyway, or run the xattr command above.

03

Open the Connect dialog — choose your protocol

Select TN3270E for IBM Mainframes (z/OS, z/VM, z/VSE) or TN5250 for IBM i (AS/400). IBM ZExplore is at 204.90.115.200:623; a free public IBM i is at pub400.com:23.

04

Start typing on the green screen

ISPF, TSO, and IBM i sessions all work out of the box. PF keys, Tab navigation, password fields, and multi-colour attributes all behave exactly as expected.



Prerequisites: Xcode CLT · Homebrew · OpenSSL · CMake

# 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

Every key, mapped.

Function Keys (3270 & 5250)

F1F12PF1–PF12
⇧F1⇧F12PF13–PF24
⌥1 / ⌥2 / ⌥3PA1 / PA2 / PA3
ReturnEnter (AID)
EscapeReset (3270) / Attention (5250)
⌥EscapeClear screen

Navigation & Editing (3270 & 5250)

Tab / ⇧TabNext / previous input field
Cursor movement
InsertToggle insert mode
⌥DeleteErase to End of Field
⌥EErase Input (all unprotected)

Application Shortcuts

⌘NNew Connection
⌘,Preferences
⌘⇧PSave Screenshot
⌘⇧TExport Screen as Text
⌘⇧DTraffic Monitor
⌘/Keyboard Shortcuts window

Like DX3270? Support the project ♥

DX3270 is free and always will be. If it saves you a mainframe terminal license fee, consider buying the author a coffee.

♥  Support this project