Recommended Free Tools
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.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →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.
#1 Best Overall
- Murach's Mainframe COBOL
- Mike Murach & Associates
- ABIS BOOK
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.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →| 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:
Rank #3
- 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.
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.
Rank #4
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.
- Define the outcome. State the business or operational risk the programme must change, then assess retaining, retiring, rehosting, repurchasing, and replatforming against that outcome.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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:
Best Value
- 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.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteDecision 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.
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.

