diff --git a/_fixtures_src/jwe-asymmetric.dag-jose b/_fixtures_src/jwe-asymmetric.dag-jose
new file mode 100644
index 0000000..d2d93cf
Binary files /dev/null and b/_fixtures_src/jwe-asymmetric.dag-jose differ
diff --git a/_fixtures_src/jwe-symmetric.dag-jose b/_fixtures_src/jwe-symmetric.dag-jose
new file mode 100644
index 0000000..b3e50bc
--- /dev/null
+++ b/_fixtures_src/jwe-symmetric.dag-jose
@@ -0,0 +1 @@
+�bivL=%����*^�0�ctagPY��a�0�Ac�)�dHiprotectedX{"alg":"dir","enc":"A128GCM"}jciphertextX�z�[o
��j������䣃w!�
\ No newline at end of file
diff --git a/_fixtures_src/jws.dag-jose b/_fixtures_src/jws.dag-jose
new file mode 100644
index 0000000..fb69d54
--- /dev/null
+++ b/_fixtures_src/jws.dag-jose
@@ -0,0 +1,2 @@
+�gpayloadX$q �UeQÒfy�R�.*VjG'@��:&�Z�'��jsignatures��iprotectedO{"alg":"EdDSA"}isignatureX@��I��\��U�`#SI74����V�iݹ�P⇾7��
+^{�9�H�fԽ[��醔疍U�
\ No newline at end of file
diff --git a/fixtures/jwe-asymmetric/bafyreihkt4u6euddfhofkutfzxwet7w7zm5qrjpop655yhnb5dnzqw26lm.dag-cbor b/fixtures/jwe-asymmetric/bafyreihkt4u6euddfhofkutfzxwet7w7zm5qrjpop655yhnb5dnzqw26lm.dag-cbor
new file mode 100644
index 0000000..064769c
--- /dev/null
+++ b/fixtures/jwe-asymmetric/bafyreihkt4u6euddfhofkutfzxwet7w7zm5qrjpop655yhnb5dnzqw26lm.dag-cbor
@@ -0,0 +1 @@
+�bivpQ8xpPt_zZrfvHgR-ctagvjxHjcVusu0yrOBzw-Ex5zAiprotectedx3eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0jciphertextx WTaw6WeqhaZDDhedzGYnsty4SMR-RzOwjrecipients��mencrypted_keyyVEqYaN4dFEH0vX4jU3d768hwOYSgZhElvVDzqdIKA6PFHsL4PPwJ7EIuebLrxwABJqXWBNG0kUBRjHuCv51VlxvX9WoH9ik7Qew0yROCGBj_AJef15PiZzUVUQwteHVDuSQs4OcsMfj18zc_ObskHvUMaN0PdCBA-G__7rGR2tcYSJOywbvxqqTENsCZNvasKxHSOuA_bjVsRmWloUMwLJkrbQxPAsVcwoPjAYF2agQ8D40AGFVEzGmhQDLI-OpXI-AfZYBurE7f_fU_NsYtqmFj5vZ9lvVCV1QsZa_HRhQlBBHxjTKyCBufY-0G4omt2nzYhyO-TaH44eUh81HFzww
\ No newline at end of file
diff --git a/fixtures/jwe-asymmetric/bagcqceraqfknq7xaemcihmq2albau32ttrutxnco7xeoik6mlejismmvw5zq.dag-jose b/fixtures/jwe-asymmetric/bagcqceraqfknq7xaemcihmq2albau32ttrutxnco7xeoik6mlejismmvw5zq.dag-jose
new file mode 100644
index 0000000..d2d93cf
Binary files /dev/null and b/fixtures/jwe-asymmetric/bagcqceraqfknq7xaemcihmq2albau32ttrutxnco7xeoik6mlejismmvw5zq.dag-jose differ
diff --git a/fixtures/jwe-asymmetric/baguqeeraloya3qpa25kl5l4y3bzgl7rhyta2p7lwaocyxx4vpvdligb7mt2q.dag-json b/fixtures/jwe-asymmetric/baguqeeraloya3qpa25kl5l4y3bzgl7rhyta2p7lwaocyxx4vpvdligb7mt2q.dag-json
new file mode 100644
index 0000000..f7b60d3
--- /dev/null
+++ b/fixtures/jwe-asymmetric/baguqeeraloya3qpa25kl5l4y3bzgl7rhyta2p7lwaocyxx4vpvdligb7mt2q.dag-json
@@ -0,0 +1 @@
+{"ciphertext":"WTaw6WeqhaZDDhedzGYnsty4SMR-RzOw","iv":"Q8xpPt_zZrfvHgR-","protected":"eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0","recipients":[{"encrypted_key":"EqYaN4dFEH0vX4jU3d768hwOYSgZhElvVDzqdIKA6PFHsL4PPwJ7EIuebLrxwABJqXWBNG0kUBRjHuCv51VlxvX9WoH9ik7Qew0yROCGBj_AJef15PiZzUVUQwteHVDuSQs4OcsMfj18zc_ObskHvUMaN0PdCBA-G__7rGR2tcYSJOywbvxqqTENsCZNvasKxHSOuA_bjVsRmWloUMwLJkrbQxPAsVcwoPjAYF2agQ8D40AGFVEzGmhQDLI-OpXI-AfZYBurE7f_fU_NsYtqmFj5vZ9lvVCV1QsZa_HRhQlBBHxjTKyCBufY-0G4omt2nzYhyO-TaH44eUh81HFzww"}],"tag":"jxHjcVusu0yrOBzw-Ex5zA"}
\ No newline at end of file
diff --git a/fixtures/jwe-symmetric/bafyreicxyzuqbx5yb7ytkgkuofwksbal3ygtswxuri25crxdxms55m5fki.dag-cbor b/fixtures/jwe-symmetric/bafyreicxyzuqbx5yb7ytkgkuofwksbal3ygtswxuri25crxdxms55m5fki.dag-cbor
new file mode 100644
index 0000000..85cacbd
--- /dev/null
+++ b/fixtures/jwe-symmetric/bafyreicxyzuqbx5yb7ytkgkuofwksbal3ygtswxuri25crxdxms55m5fki.dag-cbor
@@ -0,0 +1 @@
+�bivpPSWIuAyO8CpevzCLctagvWZAMBblhzDCsQWOAKdlkSAiprotectedx'eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4R0NNIn0jciphertextx 3XqLW28NHP-raqW8vMfIHOzko4N3IRaR
\ No newline at end of file
diff --git a/fixtures/jwe-symmetric/bagcqceraxazmu67crshzqdeg3kwnfschs25epy5sbtqtjre2qw3d62kzplva.dag-jose b/fixtures/jwe-symmetric/bagcqceraxazmu67crshzqdeg3kwnfschs25epy5sbtqtjre2qw3d62kzplva.dag-jose
new file mode 100644
index 0000000..b3e50bc
--- /dev/null
+++ b/fixtures/jwe-symmetric/bagcqceraxazmu67crshzqdeg3kwnfschs25epy5sbtqtjre2qw3d62kzplva.dag-jose
@@ -0,0 +1 @@
+�bivL=%����*^�0�ctagPY��a�0�Ac�)�dHiprotectedX{"alg":"dir","enc":"A128GCM"}jciphertextX�z�[o
��j������䣃w!�
\ No newline at end of file
diff --git a/fixtures/jwe-symmetric/baguqeeraovfm3rr3pvmxm27zgvxp5wycbfih35xih2uznminpnds5esm4jlq.dag-json b/fixtures/jwe-symmetric/baguqeeraovfm3rr3pvmxm27zgvxp5wycbfih35xih2uznminpnds5esm4jlq.dag-json
new file mode 100644
index 0000000..6ae62db
--- /dev/null
+++ b/fixtures/jwe-symmetric/baguqeeraovfm3rr3pvmxm27zgvxp5wycbfih35xih2uznminpnds5esm4jlq.dag-json
@@ -0,0 +1 @@
+{"ciphertext":"3XqLW28NHP-raqW8vMfIHOzko4N3IRaR","iv":"PSWIuAyO8CpevzCL","protected":"eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4R0NNIn0","tag":"WZAMBblhzDCsQWOAKdlkSA"}
\ No newline at end of file
diff --git a/fixtures/jws/bafyreihdfxoshbhowufyvjk7kq46dt6h7u6byejmlnifz34z7ocoq7ugk4.dag-cbor b/fixtures/jws/bafyreihdfxoshbhowufyvjk7kq46dt6h7u6byejmlnifz34z7ocoq7ugk4.dag-cbor
new file mode 100644
index 0000000..5620731
Binary files /dev/null and b/fixtures/jws/bafyreihdfxoshbhowufyvjk7kq46dt6h7u6byejmlnifz34z7ocoq7ugk4.dag-cbor differ
diff --git a/fixtures/jws/bagcqceraxvt5izt4sz7kjfrm42dxrutp6ijywgsacllkznzekmfojypkvfea.dag-jose b/fixtures/jws/bagcqceraxvt5izt4sz7kjfrm42dxrutp6ijywgsacllkznzekmfojypkvfea.dag-jose
new file mode 100644
index 0000000..fb69d54
--- /dev/null
+++ b/fixtures/jws/bagcqceraxvt5izt4sz7kjfrm42dxrutp6ijywgsacllkznzekmfojypkvfea.dag-jose
@@ -0,0 +1,2 @@
+�gpayloadX$q �UeQÒfy�R�.*VjG'@��:&�Z�'��jsignatures��iprotectedO{"alg":"EdDSA"}isignatureX@��I��\��U�`#SI74����V�iݹ�P⇾7��
+^{�9�H�fԽ[��醔疍U�
\ No newline at end of file
diff --git a/fixtures/jws/baguqeeravexfd6qijjtnzxfqq6kgknnkncztgmvhjhxm6ih352qskolt2gxa.dag-json b/fixtures/jws/baguqeeravexfd6qijjtnzxfqq6kgknnkncztgmvhjhxm6ih352qskolt2gxa.dag-json
new file mode 100644
index 0000000..ae4764b
--- /dev/null
+++ b/fixtures/jws/baguqeeravexfd6qijjtnzxfqq6kgknnkncztgmvhjhxm6ih352qskolt2gxa.dag-json
@@ -0,0 +1 @@
+{"link":{"/":"bafyreiejkvsvdq4smz44yuwhfymcuvqzavveoj2at3utujwqlllspsqr6q"},"payload":"AXESIIlVZVHDkmZ5zFLHLhgqVhkFakcnQJ7pOibQWtcnyhH0","signatures":[{"protected":"eyJhbGciOiJFZERTQSJ9","signature":"-_9J5OZcl5lVuRlgI1NJEzc0FqEb6_2yVskUaQPducRQ4oe-N5ynCl57wDm4SPtm1L1bltrphpQeBOeWjVW1BQ"}]}
\ No newline at end of file
diff --git a/go/fixtures.go b/go/fixtures.go
index bce5208..ae9f1a0 100644
--- a/go/fixtures.go
+++ b/go/fixtures.go
@@ -7,6 +7,7 @@ import (
 	"path/filepath"
 	"strings"
 
+	_ "github.com/alexjg/go-dag-jose/dagjose"
 	"github.com/ipfs/go-cid"
 	_ "github.com/ipld/go-codec-dagpb"
 	"github.com/ipld/go-ipld-prime"
@@ -44,10 +45,17 @@ var dagJsonLp = cidlink.LinkPrototype{Prefix: cid.Prefix{
 	MhType:   0x12,   // "sha2-256"
 	MhLength: 32,
 }}
+var dagJoseLp = cidlink.LinkPrototype{Prefix: cid.Prefix{
+	Version:  1,
+	Codec:    0x85, // "dag-jose"
+	MhType:   0x12, // "sha2-256"
+	MhLength: 32,
+}}
 var codecs = map[codecName]ipld.LinkPrototype{
 	"dag-pb":   dagPbLp,
 	"dag-cbor": dagCborLp,
 	"dag-json": dagJsonLp,
+	"dag-jose": dagJoseLp,
 }
 var linkSystem = cidlink.DefaultLinkSystem()
 
diff --git a/go/go.mod b/go/go.mod
index 5cb2ef8..e0d2d59 100644
--- a/go/go.mod
+++ b/go/go.mod
@@ -3,6 +3,7 @@ module github.com/ipld/codec-fixtures/go
 go 1.16
 
 require (
+	github.com/alexjg/go-dag-jose v0.0.5
 	github.com/ipfs/go-cid v0.1.0
 	github.com/ipld/go-codec-dagpb v1.3.0
 	github.com/ipld/go-ipld-prime v0.12.1-0.20210819225834-a47ecf924a39
@@ -10,5 +11,4 @@ require (
 	github.com/multiformats/go-multihash v0.0.16 // indirect
 	golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect
 	golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf // indirect
-	golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
 )
diff --git a/go/go.sum b/go/go.sum
index a06c8b9..8694f78 100644
--- a/go/go.sum
+++ b/go/go.sum
@@ -1,3 +1,7 @@
+github.com/alexjg/go-dag-jose v0.0.5 h1:DnzvL6uP7c7SpLZQ2xhiqpp4Kw5EnDw3ahGagDo/aDQ=
+github.com/alexjg/go-dag-jose v0.0.5/go.mod h1:81dvcPwHgzIeYWjbafSI6dyBIs0/KaqjyCO8X0nZjlI=
+github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY=
 github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
 github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
@@ -12,6 +16,7 @@ github.com/ipfs/go-cid v0.1.0 h1:YN33LQulcRHjfom/i25yoOZR4Telp1Hr/2RU3d0PnC0=
 github.com/ipfs/go-cid v0.1.0/go.mod h1:rH5/Xv83Rfy8Rw6xG+id3DYAMUVmem1MowoKwdXmN2o=
 github.com/ipld/go-codec-dagpb v1.3.0 h1:czTcaoAuNNyIYWs6Qe01DJ+sEX7B+1Z0LcXjSatMGe8=
 github.com/ipld/go-codec-dagpb v1.3.0/go.mod h1:ga4JTU3abYApDC3pZ00BC2RSvC3qfBb9MSJkMLSwnhA=
+github.com/ipld/go-ipld-prime v0.9.0/go.mod h1:KvBLMr4PX1gWptgkzRjVZCrLmSGcZCb/jioOQwCqZN8=
 github.com/ipld/go-ipld-prime v0.11.0/go.mod h1:+WIAkokurHmZ/KwzDOMUuoeJgaRQktHtEaLglS3ZeV8=
 github.com/ipld/go-ipld-prime v0.12.1-0.20210819225834-a47ecf924a39 h1:FkCJIpc2lkUOHUNi8mF2x1JoM5KpS2U1p46niDdEtys=
 github.com/ipld/go-ipld-prime v0.12.1-0.20210819225834-a47ecf924a39/go.mod h1:hy8b93WleDMRKumOJnTIrr0MbbFbx9GD6Kzxa53Xppc=
@@ -50,6 +55,9 @@ github.com/multiformats/go-multihash v0.0.16/go.mod h1:zhfEIgVnB/rPMfxgFw15ZmGoN
 github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE=
 github.com/multiformats/go-varint v0.0.6 h1:gk85QWKxh3TazbLxED/NlDVv8+q+ReFJk7Y2W/KhfNY=
 github.com/multiformats/go-varint v0.0.6/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o=
 github.com/polydawn/refmt v0.0.0-20201211092308-30ac6d18308e h1:ZOcivgkkFRnjfoTcGsDq3UQYiBmekwLA+qg0OjyB/ls=
 github.com/polydawn/refmt v0.0.0-20201211092308-30ac6d18308e/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o=
 github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM=
@@ -57,6 +65,9 @@ github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1
 github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
 github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
 github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
+github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/warpfork/go-testmark v0.3.0 h1:Q81c4u7hT+BR5kNfNQhEF0VT2pmL7+Kk0wD+ORYl7iA=
 github.com/warpfork/go-testmark v0.3.0/go.mod h1:jhEf8FVxd+F17juRubpmut64NEG6I2rgkUhlcqqXwE0=
 github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a h1:G++j5e0OC488te356JvdhaM8YS6nMsjLAYF7JxCv07w=
@@ -90,3 +101,10 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T
 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
 google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w=
+gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+pgregory.net/rapid v0.4.1 h1:oC9zGwnIaJvtkyj7yAFD1SX+BkQx0ghSmn85zzK/1sQ=
+pgregory.net/rapid v0.4.1/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU=
diff --git a/js/codecs.js b/js/codecs.js
index 6983252..a7ff1c3 100644
--- a/js/codecs.js
+++ b/js/codecs.js
@@ -1,9 +1,11 @@
 import * as dagCBOR from '@ipld/dag-cbor'
 import * as dagJSON from '@ipld/dag-json'
 import * as dagPB from '@ipld/dag-pb'
+import * as dagJOSE from 'dag-jose'
 
 export const codecs = {
   [dagCBOR.name]: { codec: dagCBOR, complete: true },
   [dagJSON.name]: { codec: dagJSON, complete: true },
-  [dagPB.name]: { codec: dagPB, complete: false }
+  [dagPB.name]: { codec: dagPB, complete: false },
+  [dagJOSE.name]: { codec: dagJOSE, complete: false }
 }
diff --git a/js/package.json b/js/package.json
index c7d0834..56bf2da 100644
--- a/js/package.json
+++ b/js/package.json
@@ -24,6 +24,7 @@
     "@ipld/dag-json": "^8.0.0",
     "@ipld/dag-pb": "^2.1.5",
     "chai": "^4.3.4",
+    "dag-jose": "^1.0.0",
     "ipld-garbage": "^4.0.3",
     "mocha": "^9.0.3",
     "multiformats": "^9.4.3"