← Back to IPerfect.Net

Developer Toolkit

Hashes, HMAC, URL encoding, JWT, UUIDs, passwords and colours — computed in your browser

Hash generator

MD5, SHA-1, SHA-256, SHA-384 and SHA-512 of text or raw HEX bytes, plus HMAC signatures for API and webhook auth.

URL encoder / decoder

Percent-encode query values, decode an encoded URL, and see a URL split into its parts and query parameters.

JWT decoder

Reads the header and payload of a JSON Web Token, shows when it expires, and verifies HS256/384/512 signatures. The token never leaves your browser.

UUID generator

Random v4, or time-ordered v7 (sorts by creation time — better as a database key).

Password generator

Cryptographically random, unbiased, with at least one character from each chosen set.

Random key / token

Random bytes for AES keys (16/24/32), API tokens or device secrets — as HEX, Base64 and a C array ready to paste into firmware.

Colour converter

HEX, RGB and HSL for the web, plus RGB565 / BGR565 / RGB332 for TFT and OLED displays (ILI9341, ST7735, ST7789, TFT_eSPI, Adafruit GFX). Edit any field.

What's in the Toolkit

Hash & HMACMD5, SHA-1, SHA-256, SHA-384, SHA-512 and HMAC-SHA1/256/512 of text or raw bytes, in HEX and Base64.
URL Encoder / DecoderencodeURIComponent, form encoding (space as +), full-URL encoding, and a breakdown of the query string.
JWT DecoderReads header and payload, converts iat/nbf/exp to dates, and verifies HS256/384/512 signatures.
UUID GeneratorRandom v4 or time-ordered v7 UUIDs, in bulk, with or without hyphens and braces.
Password & Key GeneratorUnbiased random passwords with an entropy estimate, plus random keys as HEX, Base64 or a C array.
Colour ConverterHEX, RGB, HSL and the RGB565, BGR565 and RGB332 formats used by small TFT and OLED displays.

Hash and HMAC — Which One to Use

A hash turns any input into a fixed-length fingerprint. The same input always gives the same hash, and a one-bit change gives a completely different one, which makes hashes ideal for checking that a file or firmware image arrived intact.

Example

SHA-256("hello world") = b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

Hashes are not encryption: they cannot be reversed, and they hide nothing about short or guessable inputs. Store passwords with a slow, salted algorithm such as bcrypt or Argon2, not a plain hash.

Reading a JWT

A JSON Web Token is three Base64URL strings joined by dots: a header naming the algorithm, a payload of claims, and a signature. The first two are only encoded, not encrypted — anyone holding the token can read them, which is exactly what the decoder does. Never put secrets in a JWT payload.

The standard time claims are Unix timestamps in seconds: iat (issued at), nbf (not before) and exp (expires). The decoder shows each one as a local date and tells you whether the token is still valid. For HS256 tokens, entering the shared secret checks the signature; RS256 and ES256 tokens need the issuer's public key and are decoded only.

RGB565 for Embedded Displays

Most small SPI displays (ILI9341, ST7735, ST7789) take 16 bits per pixel: 5 bits red, 6 bits green, 5 bits blue. Libraries such as TFT_eSPI, Adafruit GFX and LVGL expect colours in this RGB565 form, so a web colour has to be packed before use.

#FF8000 (orange) → R=31, G=32, B=0 → 0xFC00

The converter also shows the byte-swapped value, needed when pixels are pushed over SPI with DMA in little-endian order, and BGR565 for panels wired blue-first. The second swatch previews the colour after the precision is lost.

Privacy

Every tool on this page runs entirely in your browser using JavaScript and the Web Crypto API. Your text, keys, tokens and generated passwords are never sent to IPerfect.Net or anywhere else.

Other Tools on IPerfect.Net