Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Go can coexist with COBOL on IBM z/OS, and community tools can help work with copybooks and mainframe data. But the evidence available does not establish a general-purpose COBOL-to-Go application converter or a UK enterprise that has completed such a migration. Treat a move to Go as a programme to prove against specific business and operational requirements—not as a routine source-code translation.

What “COBOL to Go migration” can mean

The phrase can describe materially different projects. A Go component might call existing COBOL, handle data exported from a mainframe, replace one bounded service, or take over an entire application. Evidence for one of those approaches does not prove the others are feasible or safe.

IBM documents interoperability between Go and 64-bit COBOL on z/OS, including calls in both directions using XPLINK. That supports a possible coexistence pattern in an IBM environment; it does not demonstrate automatic translation, equivalent program behaviour, or a complete replacement. Check the current SDK version, architecture, compiler and runtime support, deployment constraints, and vendor support for your own estate before designing around it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What the available Go tools cover

The community package copybooktogo is described as a command-line tool that converts COBOL copybooks into Go struct definitions and supports type overrides. The gomainframe module is described as decoding mainframe data, including COBOL copybooks, EBCDIC, packed and zoned decimal, IBM floating point, and DB2 unload data.

Those descriptions point to possible help with record layouts and data ingestion. They do not establish production readiness, broad COBOL dialect coverage, conversion of whole programs, transaction behaviour, or support commitments. Assess maintenance, licence terms, test coverage, edge cases, target-platform compatibility, and operational support before relying on either package.

What remains unproven

The reviewed material provides no comparative benchmark for COBOL-to-Go conversion and does not establish how every COBOL data or runtime feature behaves in Go. A successful copybook conversion, a working interoperability example, or a supplier’s general modernisation capability is not evidence that an application can be translated with its business logic and operating characteristics intact.

Choose the problem before choosing Go

UK Government Digital Service and Central Digital and Data Office guidance treats legacy technology as more than an old language: it can include infrastructure, systems, hardware, and associated business processes. Its listed strategies are retaining, retiring, rehosting, repurchasing, and replatforming; the appropriate choice depends in part on organisational scale and infrastructure complexity. The first decision is therefore which service, capability, or risk needs to change—not whether every COBOL line should become Go.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Strategy named in the guidance Decision question for the programme
Retain Can the existing service remain in place while its risks are managed?
Retire Can the business capability or service be ended rather than replaced?
Rehost Would moving the existing system’s hosting address the actual problem?
Repurchase Could a replacement product meet the business need?
Replatform Could changing the platform address the risk without a full application rewrite?

These are decision prompts, not a ranking or a claim that any one route is right for a particular estate. A Go rewrite is not itself one of the five labels in the guidance; it is a possible implementation choice that still needs to be justified against the intended outcome.

Discover the estate before estimating the rewrite

GOV.UK guidance identifies dependencies, poorly understood data and schemas, technical debt, system scale, security management, and inadequate documentation among the technical obstacles to legacy change. It also identifies organisational barriers such as skills, responsibilities, budgets, policy, supplier coordination, contracts, risk aversion, and competing priorities. These can make a seemingly bounded language change an estate-wide programme.

Before fixing scope or cost, assemble an inventory with named owners and evidence for each area:

  • Programs and execution: COBOL programs, batch jobs, transaction entry points, schedules, restart and recovery procedures, and their environments.
  • Dependencies and interfaces: calls, queues, files, databases, external services, data feeds, upstream and downstream consumers, and any timing or ordering assumptions.
  • Data: copybooks, schemas, data ownership, encodings, numeric formats, and the systems that create or consume each record.
  • Operations and security: runbooks, monitoring, access controls, security boundaries, incident procedures, and service-level requirements.
  • People and suppliers: business owners, users, specialist knowledge, supplier responsibilities, contract terms, and exit constraints.

This inventory is a practical response to the risks identified in the government guidance, not a checklist prescribed verbatim by it. The guidance also stresses accurate data-asset registers, infrastructure reviews, skills development, user involvement, risk evaluation, and phased planning. For a mixed COBOL-and-Go service, assign explicit ownership for compatibility and operational behaviour at every boundary.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What the UK HMRC example does—and does not—show

The Management Consultancies Association’s 1 May 2026 case study, “Capgemini Invent with HMRC,” reports that 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 describes undocumented dependencies, operational risk, and the loss of specialist knowledge as factors behind previous stalled attempts.

According to that case study, the programme mobilised in October 2023, reached beta in April 2025, and completed transition in December 2025 with zero disruption to critical services. The account identifies replacements including VIES and TIGS and says TIGS processes more than £1 trillion in annual trade data movements from customs declarations. These are figures reported by the case-study publisher, not independently audited figures established here.

This is a UK example of large-scale legacy modernisation, dependency discovery, user-centred design, and transition planning. The case does not name Go as the target language, establish that every COBOL line was converted, or show that the approach transfers unchanged to a private enterprise. It should not be presented as a COBOL-to-Go precedent.

A practical sequence for evaluating Go

The following is an implementation framework based on the cited government guidance and the bounded interoperability and tooling evidence. It is not a method prescribed by those sources.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Define the outcome. State the business or operational risk the programme must change, then assess retaining, retiring, rehosting, repurchasing, and replatforming against that outcome.
  2. Map the estate. Record programs, jobs, transaction paths, interfaces, copybooks, data stores, schedules, dependencies, environments, security boundaries, suppliers, and accountable owners before committing to scope.
  3. Name the Go role precisely. Decide whether Go will call existing COBOL, replace a bounded service, process exported data, or replace a complete application. IBM documents the interoperability option on z/OS; the other designs need project-specific proof.
  4. Select a bounded pilot. Choose a component with understood inputs and outputs, available domain owners, and a usable regression corpus. Set acceptance criteria, rollback conditions, and any parallel-running period before changing critical processing.
  5. Prove data and behaviour. Build tests for the formats and business rules actually present in the component. Include decimal precision and rounding, signs and field formats, character encoding, record layouts, invalid input, boundaries, dates, ordering, batch restart and recovery, and transaction side effects where applicable. These are validation targets, not features the cited packages have been shown to handle comprehensively.
  6. Plan the organisational transition. Allocate responsibility and budget for documentation, skills development, user testing, service operation, supplier coordination, and security review. Include the people who own and use the service in decisions about acceptance.
  7. Expand only on evidence. Compare replacement outputs with the legacy system, record exceptions, and require service-level and functional acceptance from accountable owners before widening scope.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How to compare a Go option with other routes

Do not compare options only by language, hosting destination, or estimated rewrite effort. Use the same evidence-based criteria for each candidate approach:

  • Whether it preserves the required business capability and functional behaviour.
  • How it handles data semantics and the reach of dependencies.
  • Platform and runtime constraints, including support for any proposed interoperability.
  • Service continuity, recovery, and the ability to reverse or phase a change.
  • Security and compliance requirements, in-house skills, supplier dependence, and delivery uncertainty.

The sources discussed here do not rank these criteria or report comparative Go-specific outcomes. A decision should therefore record what has been demonstrated in the organisation’s own workload, what remains an assumption, and who accepts the residual risk.

UK supplier evidence is not proof of a Go conversion service

A UK Digital Marketplace listing for IBM Mainframe Migration and Modernisation Services under G-Cloud 14 describes COBOL conversion to Java, C#, or COBOL, alongside mainframe optimisation, data migration, microservices, and cloud work. It does not list Go as a COBOL conversion destination. The listing is evidence of the services stated in that entry, not a general survey of UK suppliers or a guarantee of current availability.

Likewise, the Management Consultancies Association’s HMRC case identifies a named transformation but does not establish that the supplier offers Go migration. For any prospective provider, ask for evidence specific to the target workload: scope and language, platform, data formats, functional acceptance, transition and rollback, ongoing support, and comparable operational outcomes.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Decision criteria for a responsible go/no-go

Proceed to a Go pilot only when the team can state the intended role for Go, identify a bounded workload, and define how it will prove equivalent business behaviour and safe operation. A full COBOL-to-Go migration should not be approved on the strength of interoperability documentation or record-layout tooling alone. If discovery reveals that the primary risk is undocumented dependency, data ownership, or scarce operational knowledge, address that risk directly before treating a rewrite as the solution.

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.