A small tool to encode/decode bech-32 encoded Nostr entities as per NIP-19. It is a thin wrapper around the rust-nostr SDK.
Run cargo install --path ..
To see the usage info:
nec
Here are some examples.
To decode:
$ nec npub1wukm87rrl4jh680jk0h0ceup27z2dpa0y9kwl4dvpa8g2696dz6qauayfa
772db3f863fd657d1df2b3eefc67815784a687af216cefd5ac0f4e8568ba68b4
$ nec nsec1hw7p6pfamuzt2uyf4y3k0fpu2r75cxsavjt66654lpzz8f34wvuspkd985
bbbc1d053ddf04b57089a92367a43c50fd4c1a1d6497ad6a95f84423a6357339
$ nec note17g9ptvpjdz5ukzydays4pdwc4wdhj3a62sctl7tpr6fjh9e57tjszm6lgl
f20a15b03268a9cb088de92150b5d8ab9b7947ba5430bff9611e932b9734f2e5
$ nec nprofile1qqs8wtdnlp3l6etarhet8mhuv7q40p9xs7hjzm806kkq7n59dzax3dqpz3mhxue69uhkummnw3ezummcw3ezuer9wcqs6amnwvaz7tmwdaejumr0dsqs7amnwvaz7tmwdaehgu3wd4hk687a4pw
{"public_key":"772db3f863fd657d1df2b3eefc67815784a687af216cefd5ac0f4e8568ba68b4","relays":["wss://nostr.oxtr.dev","wss://nos.lol","wss://nostr.mom"]}
$ nec nevent1qqs0yzs4kqex32wtpzx7jg2skhv2hxmeg7a9gv9ll9s3ayetju609egrqsqqqqqpqy28wumn8ghj7mn0wd68ytn00p68ytnyv4mqzrthwden5te0dehhxtnvdakqzrmhwden5te0dehhxarj9ekk7mg902vj3
{"event_id":"f20a15b03268a9cb088de92150b5d8ab9b7947ba5430bff9611e932b9734f2e5","author":null,"kind":1,"relays":["wss://nostr.oxtr.dev","wss://nos.lol","wss://nostr.mom"]}
$ nec naddr1qq48yctwv3hk6ttsv9ehxam0wfjz6mt9d4hhy6t6v96xjmmw94mkjarg94cxzmedwfjhvvgzypmjmvlcv07k2lga72e7alr8s9tcff584uskem744s85aptghf5tgqcyqqq823cpz3mhxue69uhkummnw3ezummcw3ezuer9wcqs6amnwvaz7tmwdaejumr0dsqs7amnwvaz7tmwdaehgu3wd4hk6schyuy
{"coordinate":{"kind":30023,"public_key":"772db3f863fd657d1df2b3eefc67815784a687af216cefd5ac0f4e8568ba68b4","identifier":"random-password-memorization-with-pao-rev1"},"relays":["wss://nostr.oxtr.dev","wss://nos.lol","wss://nostr.mom"]}
To encode:
$ nec -p npub 772db3f863fd657d1df2b3eefc67815784a687af216cefd5ac0f4e8568ba68b4
npub1wukm87rrl4jh680jk0h0ceup27z2dpa0y9kwl4dvpa8g2696dz6qauayfa
$ nec -p nsec bbbc1d053ddf04b57089a92367a43c50fd4c1a1d6497ad6a95f84423a6357339
nsec1hw7p6pfamuzt2uyf4y3k0fpu2r75cxsavjt66654lpzz8f34wvuspkd985
$ nec -p note f20a15b03268a9cb088de92150b5d8ab9b7947ba5430bff9611e932b9734f2e5
note17g9ptvpjdz5ukzydays4pdwc4wdhj3a62sctl7tpr6fjh9e57tjszm6lgl
$ nec -p nprofile '{"public_key":"772db3f863fd657d1df2b3eefc67815784a687af216cefd5ac0f4e8568ba68b4","relays":["wss://nostr.oxtr.dev","wss://nos.lol","wss://nostr.mom"]}'
nprofile1qqs8wtdnlp3l6etarhet8mhuv7q40p9xs7hjzm806kkq7n59dzax3dqpz3mhxue69uhkummnw3ezummcw3ezuer9wcqs6amnwvaz7tmwdaejumr0dsqs7amnwvaz7tmwdaehgu3wd4hk687a4pw
$ nec -p nevent '{"event_id":"f20a15b03268a9cb088de92150b5d8ab9b7947ba5430bff9611e932b9734f2e5","public_key":"772db3f863fd657d1df2b3eefc67815784a687af216cefd5ac0f4e8568ba68b4","kind":1,"relays":["wss://nostr.oxtr.dev","wss://nos.lol","wss://nostr.mom"]}'
nevent1qqs0yzs4kqex32wtpzx7jg2skhv2hxmeg7a9gv9ll9s3ayetju609egrqsqqqqqpqy28wumn8ghj7mn0wd68ytn00p68ytnyv4mqzrthwden5te0dehhxtnvdakqzrmhwden5te0dehhxarj9ekk7mg902vj3
$ nec -p naddr '{"coordinate":{"kind":30023,"public_key":"772db3f863fd657d1df2b3eefc67815784a687af216cefd5ac0f4e8568ba68b4","identifier":"random-password-memorization-with-pao-rev1"},"relays":["wss://nostr.oxtr.dev","wss://nos.lol","wss://nostr.mom"]}'
naddr1qq48yctwv3hk6ttsv9ehxam0wfjz6mt9d4hhy6t6v96xjmmw94mkjarg94cxzmedwfjhvvgzypmjmvlcv07k2lga72e7alr8s9tcff584uskem744s85aptghf5tgqcyqqq823cpz3mhxue69uhkummnw3ezummcw3ezuer9wcqs6amnwvaz7tmwdaejumr0dsqs7amnwvaz7tmwdaehgu3wd4hk6schyuy