123-reg unhelpfully don't provide any way of exporting DNS data from their control panel which is a massive pain when you want to move records away from their crappy DNS service to something better.
Luckily, if you open the "Advanced DNS" editor panel, it uses an XMLHTTPRequest to download the records in JSON format. You can retrieve this data by navigating to the page with your browser's web inspector open, then find the request to the "get_dns" page and extract the body of the response.
If you put that JSON data into the STDIN of this ruby script, it will return the records in TinyDNS format on STDOUT and debugging on STDERR
Caveats
- It only supports accepting one zone on STDIN
- Only the listed record types are supported, but it should be easy to add others
- NS/SOA records are skipped, you will need to add these yourself
- Only colons are escaped, other characters may cause issues
- Record lengths aren't checked