<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/hexaw-a-tiny-time-machine-for-webassembly-fwe4tf6s9" -->

---
title: HEXAW: a tiny time machine for WebAssembly | daily.dev
description: HEXAW is a new experimental text format for WebAssembly, built as an alternative to WAT's syntax. It shows hexadecimal bytes next to assembler mnemonics so...
canonical: https://daily.dev/posts/hexaw-a-tiny-time-machine-for-webassembly-fwe4tf6s9
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: HEXAW: a tiny time machine for WebAssembly | daily.dev
og:description: HEXAW is a new experimental text format for WebAssembly, built as an alternative to WAT's syntax. It shows hexadecimal bytes next to assembler mnemonics so...
og:url: https://daily.dev/posts/hexaw-a-tiny-time-machine-for-webassembly-fwe4tf6s9
og:image: https://api.daily.dev/og/posts/fWE4TF6s9.png
og:image:alt: HEXAW: a tiny time machine for WebAssembly
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# HEXAW: a tiny time machine for WebAssembly

**[DEV](https://daily.dev/sources/devto)** · 5 min read · 1 upvotes · 0 comments

## Summary

HEXAW is a new experimental text format for WebAssembly, built as an alternative to WAT's syntax. It shows hexadecimal bytes next to assembler mnemonics so programmers can see exactly what WASM instructions compile to. The CLI, available via npm, requires Node.js 22.18 or later and can assemble, disassemble, and step code forwards and backwards. An optional AI mentor, powered by the open-weight gpt-oss-120b model via Groq, helps explain errors. The project is MIT-licensed and still in beta.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://dev.to/pengeszikra/hexaw-a-lazy-wasm-text-format-5g5n>

## Questions this post answers

### Is there an alternative to WAT syntax for writing WebAssembly by hand?

HEXAW is an experimental text format for WebAssembly that replaces WAT's parentheses with readable assembler-style mnemonics, showing hexadecimal bytes alongside each instruction. It ships as a CLI installable via npm, requires Node.js 22.18 or later, and can assemble to .wasm, disassemble binaries back into instructions, and step through execution forwards and backwards. It is MIT-licensed and still in beta.

_Developers weighing WASM authoring options can track emerging tools like this one on daily.dev._

### What numeric type prefixes does HEXAW use for WASM instructions?

HEXAW defaults to i32 and uses single-letter prefixes to select other types: L for i64, F for f32, and D for f64. For example, ADD becomes i32.add by default, while LADD, FADD, and DADD map to i64.add, f32.add, and f64.add respectively, keeping mnemonics free of numbers, brackets, or unnecessary special characters.

_Anyone comparing low-level WASM syntax choices can follow tooling updates like this via daily.dev._

### What AI model powers the HEXAW debugging mentor and what does it need to run?

The HEXAW mentor uses the open-weight gpt-oss-120b model served through Groq's hosted API, requiring a Groq API key set as GROQ_API_KEY in a .env file. Without the key, assembling, dumping, and debugging still work locally; only the AI mentor feature is disabled. The open-weight model also leaves a future option for self-hosting.

_Developers evaluating open-weight models for coding assistants can follow releases like gpt-oss-120b on daily.dev._

## Similar posts on daily.dev

- [WebAssembly: The Web’s Fourth Language](https://daily.dev/posts/webassembly-the-web-s-fourth-language-twkny7sfg) · Medium · 3 upvotes · 0 comments
- [WebAssembly: an introduction](https://daily.dev/posts/webassembly-an-introduction-1iycvposp) · Flavio Copes · 3 upvotes · 0 comments
- [WASM commandline compiler](https://daily.dev/posts/wasm-commandline-compiler-nqi4nd5sj) · Quartex Pascal · 21 upvotes · 3 comments
- [WebAssembly is everywhere. Here’s how it works](https://daily.dev/posts/webassembly-is-everywhere-here-s-how-it-works-d8uxjessm) · The New Stack · 2 upvotes · 0 comments
- [a WebAssembly Toolkit for Go](https://daily.dev/posts/a-webassembly-toolkit-for-go-nf6sv2pka) · Eli Bendersky · 29 upvotes · 0 comments

---

Tags: [#open-source](https://daily.dev/tags/open-source), [#typescript](https://daily.dev/tags/typescript), [#webassembly](https://daily.dev/tags/webassembly)

[View this post on daily.dev](https://daily.dev/posts/hexaw-a-tiny-time-machine-for-webassembly-fwe4tf6s9)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"HEXAW: a tiny time machine for WebAssembly","url":"https://daily.dev/posts/hexaw-a-tiny-time-machine-for-webassembly-fwe4tf6s9","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/hexaw-a-tiny-time-machine-for-webassembly-fwe4tf6s9"},"datePublished":"2026-10-27T22:24:11.645Z","dateModified":"2026-10-27T23:37:32.358Z","description":"HEXAW is a new experimental text format for WebAssembly, built as an alternative to WAT's syntax. It shows hexadecimal bytes next to assembler mnemonics so...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/c7105898cccc59dc54c7f3bbb7bfc033?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/c7105898cccc59dc54c7f3bbb7bfc033?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"DEV","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"DEV","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto","url":"https://daily.dev/sources/devto"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/hexaw-a-tiny-time-machine-for-webassembly-fwe4tf6s9","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"open-source,typescript,webassembly","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"DEV","item":"https://daily.dev/sources/devto"},{"@type":"ListItem","position":3,"name":"HEXAW: a tiny time machine for WebAssembly"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/hexaw-a-tiny-time-machine-for-webassembly-fwe4tf6s9#faq","mainEntity":[{"@type":"Question","name":"Is there an alternative to WAT syntax for writing WebAssembly by hand?","acceptedAnswer":{"@type":"Answer","text":"HEXAW is an experimental text format for WebAssembly that replaces WAT's parentheses with readable assembler-style mnemonics, showing hexadecimal bytes alongside each instruction. It ships as a CLI installable via npm, requires Node.js 22.18 or later, and can assemble to .wasm, disassemble binaries back into instructions, and step through execution forwards and backwards. It is MIT-licensed and still in beta. Developers weighing WASM authoring options can track emerging tools like this one on daily.dev."}},{"@type":"Question","name":"What numeric type prefixes does HEXAW use for WASM instructions?","acceptedAnswer":{"@type":"Answer","text":"HEXAW defaults to i32 and uses single-letter prefixes to select other types: L for i64, F for f32, and D for f64. For example, ADD becomes i32.add by default, while LADD, FADD, and DADD map to i64.add, f32.add, and f64.add respectively, keeping mnemonics free of numbers, brackets, or unnecessary special characters. Anyone comparing low-level WASM syntax choices can follow tooling updates like this via daily.dev."}},{"@type":"Question","name":"What AI model powers the HEXAW debugging mentor and what does it need to run?","acceptedAnswer":{"@type":"Answer","text":"The HEXAW mentor uses the open-weight gpt-oss-120b model served through Groq's hosted API, requiring a Groq API key set as GROQ_API_KEY in a .env file. Without the key, assembling, dumping, and debugging still work locally; only the AI mentor feature is disabled. The open-weight model also leaves a future option for self-hosting. Developers evaluating open-weight models for coding assistants can follow releases like gpt-oss-120b on daily.dev."}}]}
```

