Go can work alongside COBOL on IBM z/OS, and community tools can help with copybook layouts and mainframe data. But the sources available for this guide do not demonstrate a general-purpose, production-proven way to convert a COBOL application into Go, or a UK enterprise case study that did so. Treat “COBOL to Go” as a modernisation decision to investigate—not as a straightforward code translation. First define the business outcome, map the dependencies and data, then prove any proposed Go component against real workload behaviour.
What “COBOL to Go migration” could mean
The phrase can describe several different projects, with very different risks and evidence behind them. A Go service calling existing COBOL is not the same as translating a program, replacing an application, or moving data for a new system.
As an Amazon Associate I earn from qualifying purchases.
| Approach | What changes | What is established here |
|---|---|---|
| Coexistence | Go and COBOL components operate together, potentially with calls between them. | IBM documents Go/COBOL interoperability on z/OS, including calls in both directions between Go and 64-bit COBOL using XPLINK. This is an integration option, not proof of automatic conversion. |
| Data or record-layout tooling | Go code reads or represents mainframe data, potentially using copybook layouts and encoding or numeric-format handling. | Community package descriptions cover copybook-to-Go struct generation and decoding several kinds of mainframe data. They do not establish whole-application conversion or mission-critical readiness. |
| Bounded service replacement | A defined capability is rebuilt in Go while other parts of the estate remain in place. | This requires project-specific design and behavioural proof; the sources cited here do not report a UK enterprise outcome for a COBOL service replaced by Go. |
| Whole-application conversion | Application logic, data behaviour, integrations and operational processes are moved to a Go implementation. | No general-purpose converter or demonstrated UK enterprise COBOL-to-Go outcome is established by the sources reviewed for this guide. |
The distinction matters because a copybook describes data layout, not the complete business rules, transaction behaviour, batch recovery or operational dependencies of an application. Translating a structure or establishing a call boundary cannot, by itself, show that the replacement preserves the service.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchChoose a modernisation outcome before choosing Go
UK Government Digital Service and Central Digital and Data Office guidance treats legacy technology as broader than source code: it includes infrastructure, systems, hardware and associated business processes. It identifies retaining, retiring, rehosting, repurchasing and replatforming as possible strategies, with the appropriate choice depending in part on organisational scale and infrastructure complexity.
#1 Best Overall
- Murach's Mainframe COBOL
- Mike Murach & Associates
- ABIS BOOK
| Strategy | Practical question | When to examine it |
|---|---|---|
| Retain | Can the current service remain in place with managed risk? | When the business outcome does not require replacement and risks can be addressed through support, controls or targeted change. |
| Retire | Can the capability or system be safely decommissioned? | When users, processes and dependent systems no longer need it, or can move to another service. |
| Rehost | Can the system move to different infrastructure without a major redesign? | When infrastructure constraints are the main concern and application behaviour is to remain largely intact. |
| Repurchase | Can a replacement product meet the requirement? | When the capability is available from a product and adopting it is preferable to maintaining bespoke software. |
| Replatform | Can the system move to a different platform with manageable changes? | When a platform shift addresses the objective without requiring a full application rewrite. |
These are options to assess, not a prescribed ranking. A Go rewrite is only one possible response to legacy risk, and a language change does not automatically resolve unclear ownership, outdated processes, supplier constraints or poorly understood data.
Discover the estate before estimating a rewrite
The government guidance identifies dependencies, data and schemas, technical debt, system scale, security management and inadequate documentation as potential technical blockers. It also calls out budget, policy, skills, responsibilities, supplier coordination, contracts, risk aversion and competing priorities. Translate those risks into an inventory that business and technical owners can review together.
- Application and workload map: programs, batch jobs, transaction entry points, schedules, triggers, restart paths and environments.
- Interfaces and dependencies: upstream and downstream systems, data feeds, APIs, file transfers, shared libraries, external suppliers and timing assumptions.
- Data: copybooks, schemas, stores, ownership, record volumes, encodings, numeric representations, retention and data-quality exceptions.
- Operations: runbooks, monitoring, service windows, incident procedures, recovery objectives, access controls and security boundaries.
- People and governance: business owners, users, specialist knowledge, decision rights, supplier responsibilities, contract exit terms and skills available for the target platform.
Give the inventory an accountable owner and keep it current as discovery finds undocumented behaviour. The GDS and CDDO guidance recommends accurate data-asset registers, infrastructure reviews, skills development, user involvement and risk evaluation. Those are programme controls, not a COBOL-to-Go conversion method.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →What Go and COBOL can do together on z/OS
IBM’s Open Enterprise SDK for Go product information says Go can run on IBM z/OS and describes direct calls between Go and 64-bit COBOL in both directions using XPLINK. That supports a potential coexistence design: for example, a Go component may integrate with retained COBOL logic rather than replace it all at once.
Before relying on that design, verify the SDK version, architecture, compiler and runtime support, deployment constraints, and vendor support against the exact estate. IBM’s product statement concerns its own offering; it does not establish semantic equivalence between the languages, the safety of translating existing source, or suitability for every z/OS configuration.
Where community Go tools may help—and where they stop
Two package descriptions surfaced as potentially relevant to data work:
Rank #3
copybooktogo, described on pkg.go.dev as a command-line tool that converts COBOL copybooks into Go struct definitions and supports type overrides.gomainframe, described as a Go module for decoding mainframe data, including COBOL copybooks, EBCDIC, packed and zoned decimal, IBM floating point and DB2 unload data.
These descriptions suggest possible help with record layouts or ingestion. They are not evidence of comprehensive compiler-dialect coverage, application-level conversion, transaction semantics, production readiness or support commitments. Assess maintenance, licence, test coverage, edge cases, target platforms and operational support before putting a package on a critical path. The official Go documentation is the primary reference for current Go language and toolchain details; the available sources do not provide a Go-specific COBOL conversion benchmark.
Free tools Windows power users keep installed
One-click scans. No signup required.
A practical sequence for evaluating a Go migration
The following sequence applies the UK legacy-management guidance to the limited interoperability and data-tooling evidence. It is a decision and validation approach, not a source-prescribed conversion recipe.
- Define the outcome. Name the business or operational risk to change. Compare retaining, retiring, rehosting, repurchasing and replatforming against that outcome before treating a rewrite as inevitable.
- Map the real scope. Inventory programs, jobs, transaction paths, interfaces, copybooks, stores, schedules, environments, security boundaries, suppliers and owners. Do not commit to an estimate based only on source-line counts.
- Classify Go’s role. Decide whether Go will call retained COBOL, take over a bounded service, process exported data or replace an application. IBM documents the interoperability pattern on z/OS; other designs need their own proof.
- Select a bounded pilot. Choose a component with known inputs and outputs, accessible domain owners and a meaningful regression corpus. Set acceptance criteria, rollback conditions and any parallel-running period before changing critical processing.
- Test data and behaviour explicitly. Include decimal precision and rounding, signs and field formats, character encoding, record layouts, invalid input handling, boundary values, dates, ordering, batch restart and recovery, and transaction side effects where applicable. These are validation questions, not claims that every listed issue has already been evaluated for a particular estate.
- Prepare the organisation to operate it. Plan documentation, training, user testing, security review, service operations and supplier coordination. Involve users and owners in acceptance rather than treating the work as a compiler exercise.
- Scale only when evidence supports it. Compare the candidate with legacy outputs and operating requirements, record exceptions, and expand only when accountable owners accept the functional and service-level evidence.
For each option, compare the capability preserved, functional fidelity, data semantics, dependency reach, platform constraints, continuity and rollback, security and compliance, cost and schedule uncertainty, in-house skills, supplier dependence, and how easily the change can be phased or reversed. The cited sources do not rank these factors or report Go-specific comparative results.
Rank #4
What the HMRC case says about UK modernisation
The Management Consultancies Association’s 2026 “Capgemini Invent with HMRC” case study describes a substantial UK modernisation programme, but it is not a COBOL-to-Go precedent. According to the association, HMRC asked Capgemini Invent to modernise a 50-year-old VAT mainframe with more than 3.1 million lines of COBOL, supporting over 80 services and 325 data feeds. The account identifies undocumented dependencies, operational risk and the loss of specialist knowledge as factors in previous stalled attempts.
The association reports that the programme was mobilised in October 2023, reached beta in April 2025 and completed transition in December 2025 with zero disruption to critical services. It names replacements for services including VIES and TIGS, and says TIGS processes over £1 trillion in annual trade data movements from customs declarations. These are figures reported by the case-study publisher, not independently audited statistics established here.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesThe case is useful as an example of the scale, dependency discovery, user-centred design and transition planning involved in a UK public-sector transformation. It does not say HMRC adopted Go, that every COBOL line was converted, or that the approach transfers unchanged to a private enterprise.
Best Value
UK supplier context
A UK Digital Marketplace G-Cloud 14 listing for IBM Mainframe Migration and Modernisation Services (service ID 752697492878620) describes COBOL conversion to Java, C# or COBOL, alongside mainframe optimisation, data migration, microservices and cloud work. The listing description does not name Go as a COBOL conversion destination. Listing content and status can change, so check the current entry and contract scope directly before treating it as an available route.
A supplier’s general mainframe-modernisation capability is not proof of a Go conversion method or outcome. Ask for evidence specific to the target workload, data behaviour, runtime, operating model and support commitments rather than inferring language capability from a broad service description.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Recommended Free Tools




