- Base64: open the full converter
- Hex: open the full converter
- Binary: open the full converter
- URL-encoded: open the full converter
- UTF-8 bytes: open the full converter
- Code points: open the full converter
- Character codes: open the full converter
- JSON string: open the full converter
- SHA-256: open the full converter
- MD5: open the full converter
- Title Case: open the full converter
- What is it?: open the full converter
Twelve of the developer tools below. See them all, or click a result to open its tool with your text. Paste a mystery string and What is it? names it.
Every developer tool
135 converters in 11 groups
- Base64HibecomesSGk=Encode and decode, with URL-safe and MIME variants.
- URL encodea bbecomesa%20bPercent-encode text for links and query strings.
- JWT decodereyJhbGci…becomes{"alg":"HS256"}Read a token's header and payload, with every claim explained.
- HexHibecomes48 69Text to hexadecimal bytes and back.
- Text to hexébecomesc3 a9Two hex digits a byte, the shortest exact way to write one.
- BinaryHbecomes01001000Text to 0s and 1s and back.
- Text to binaryAbecomes01000001Encode any character as the bits a computer stores, UTF-8 and all.
- Binary alphabetAbecomes01000001A to Z in eight bits, capitals and lowercase.
- ASCII codesAbecomes65Character codes in decimal, hex or octal, and back again.
- ASCII tableAbecomes65All 128 codes, in decimal, hex, octal and binary.
- Unicode converterébecomesU+00E9Code points, escapes and entities for any character.
- JSON escapesay "hi"becomessay \"hi\"Make any text safe to drop inside a JSON string, and take it back.
- Token counterhello worldbecomes2Exact GPT token counts in your browser, and the cheapest format for your data.
- Tokenizerhello worldbecomeshello | ·worldSee how GPT splits your text, token by token, with IDs.
- Mojibake fixer’becomes’Repair ’, é and other garbled characters, without touching correct text.
- UTF-8 decoderC3 A9becomeséHex bytes to text, with invalid bytes explained.
- UTF-8 encoderébecomesC3 A9Text to UTF-8 bytes, character by character.
- SHA-256 generatorabcbecomesba7816bf…SHA-256, SHA-1, SHA-512 and MD5 hashes, in your browser.
- MD5 generatorabcbecomes90015098…MD5 checksums, with RFC 1321's own test values.
- Hash identifier$2b$12$…becomesbcryptWhat type of hash, or string, is this? MD5, SHA, bcrypt, Base64, JWT.
- RSA calculator61 53 17becomesd 2753Keys, encryption and decryption with small primes.
- Hashing vs encryptionWhich one can be undone, live on your own text.
- Encoding vs encryption vs hashingBase64, AES and SHA-256 side by side.
- ASCII vs Unicode vs UTF-8Code points, bytes and surrogate pairs.
- MD5 vs SHA-1 vs SHA-256Sizes, what broke, and what to use.
- Number bases156becomes10011100Decimal, binary, octal and hex, with the working shown.
- Hex to decimalFFbecomes255Place values added up, digit by digit.
- Decimal to hex500becomes1F4Divide by 16, keep the remainders, read them upwards.
- Hex to binaryF4becomes11110100Four bits for every hex digit.
- Binary to hex11010110becomesD6Bits in groups of four from the right.
- Binary to decimal1101becomes13Add up the powers of two under each 1.
- Decimal to binary13becomes1101Divide by 2, keep the remainders, read them upwards.
- Octal to decimal755becomes493Powers of 8 under each digit, added up.
- Decimal to octal493becomes755Divide by 8 and read the remainders upwards.
- Two's complement calculator-5becomes1111 1011Signed binary in 4 to 64 bits, invert and add one.
- IEEE 754 converter0.1becomes3DCCCCCDSign, exponent and fraction of any float, and its error.
- Gray code converter0111becomes0100Binary to Gray code and back, one XOR at a time.
- Sorting algorithms7 2 9becomes2 7 9Six sorts on your own list, compared and animated.
- Bubble sort5 3 1becomes1 3 5Watch a list sorted by swapping neighbours, step by step.
- Selection sort29 10 14becomes10 14 29Find the smallest left and move it to the front.
- Insertion sort12 11 13becomes11 12 13Slide each item left into place, like cards in a hand.
- Merge sort38 27 43becomes27 38 43Split, sort and merge, animated, with every step listed.
- Quick sort10 80 30becomes10 30 80Split around a pivot, then sort each side.
- Heap sort4 10 3becomes3 4 10Build a heap, then take the biggest off it each time.
- Linear searchfind 23becomesposition 5Check every item in turn until you find it.
- Binary searchfind 56becomesposition 7Halve a sorted list until you find it.
- Huffman codingABRACADABRAbecomes23 bitsThe tree drawn, every merge, the codes and the bits saved.
- Infix to postfixA+B*CbecomesA B C * +The shunting-yard algorithm with the stack at each step.
- Hamming code1011becomes0110011Parity bits that find and fix a flipped bit.
- Run-length encodingWWWBbecomes3W1BRuns of a character become a count and the character.
- Graph searchA-B 4becomesA → C → BBFS, DFS and Dijkstra on your own graph, step by step.
- Subnet calculator10.0.0.5/24becomes10.0.0.0Network, broadcast and hosts for any IPv4 subnet, with the binary.
- CIDR calculator10.0.0.0/22becomes1,024 addressesCIDR blocks to IP ranges, and ranges to the fewest blocks.
- TCP/IP header decoder45 00 00 3cbecomesIPv4, TCP SYNEvery IPv4 and TCP field from packet hex, checksums checked.
- TCP three-way handshake100, 300becomesSYN, SYN-ACK, ACKSYN, SYN-ACK, ACK and the close, played segment by segment.
- IP address to binary192.168.1.10becomes11000000…Each octet as 8 bits, with the working, and back.
- IPv6 subnet calculator2001:db8::/48becomes65,536 /64sNetwork, range and /64 count for any prefix, and splits.
- IPv6 compression2001:0db8:0:0::1becomes2001:db8::1Shorten an address by the RFC 5952 rules, or expand it.
- Subnet mask cheat sheet/24becomes255.255.255.0Every prefix from /32 to /0, printable.
- Common ports22becomesSSHTCP and UDP port numbers, checked against IANA, with a lookup.
- Download time calculator50 GBbecomes1h 6m 40sHow long a file takes at your speed, or the speed you need.
- MB to GB500 MBbecomes0.5 GBAny data size in every unit, including the GiB that Windows shows.
- Mbps to MB/s100 Mbpsbecomes12.5 MB/sBroadband speeds in megabytes a second, and every other unit.
- RAID calculator4 x 8TB RAID 5becomes24 TBUsable space and fault tolerance for RAID and ZFS RAIDZ.
- Hex calculator1A3F + FFbecomes1B3EHex sums with the carries and borrows written out.
- Binary calculator1011 + 110becomes10001Binary addition, subtraction and long multiplication, worked.
- Binary clock21:47becomes10 0001 100 0111The time now in lit dots, three layouts, with a quiz.
- XOR calculator1100 ^ 1010becomes0110Exclusive OR in binary, hex or decimal, bit by bit.
- Bitwise calculator12 & 10becomes8AND, OR, NOT, NAND and NOR with the bits lined up.
- Bit shift calculator-16 >> 2becomes-4Left, arithmetic and logical right shifts, and rotations.
- Boolean algebra calculatorA + ABbecomesASimplify an expression to its shortest sum of products, with the working.
- Truth table generatorA ^ Bbecomes0110Every row of any expression, up to 8 variables.
- Karnaugh map solver4 cornersbecomesB'D'The K-map drawn with its groups ringed, for 2 to 4 variables.
- chmod calculator755becomesrwxr-xr-x755 to rwxr-xr-x and back, with setuid and sticky bits.
- px to rem24pxbecomes1.5remOne size or a whole stylesheet, at any root font size.
- rem to px1.5rembecomes24pxrem values back to pixels, in a single value or pasted CSS.
- UUID generatorv4becomes9f1c…-4…Version 4 or 7 UUIDs, and a decoder for any UUID.
- Random string generator16becomeskX9vQ2…Random strings of any length, from letters, digits, hex or your own set.
- Random letter generator1becomesKA random letter from A to Z, or as many as you need, from any set you choose.
- Unix timestamp converter1767225600becomes2026-01-01Epoch time to a date and back, in any time zone.
- Resistor color codebrown black redbecomes1 kΩColour bands to ohms and back, with a printable chart.
- Parallel resistor calculator100 ∥ 220becomes68.75 ΩResistors in parallel or series, worked out and drawn.
- Voltage divider calculator5V, 1k, 2kbecomes3.33 VVout from Vin and two resistors, with the current.
- Ohm's law calculator12V, 2Abecomes6 Ω, 24 WAny two of volts, amps, ohms and watts give the rest.
- LED resistor calculator9V, 2V, 20mAbecomes390 ΩThe series resistor an LED needs, and its standard value.
- dBm to watts30 dBmbecomes1 WdBm, mW, W and dBW both ways, with the formula.
- dBm to mW20 dBmbecomes100 mWDecibel-milliwatts to milliwatts and back.
- Capacitor codes104becomes100 nF104, 473J and 4n7 to pF, nF and µF.
- SMD resistor codes01Cbecomes10 kΩ3-digit, 4-digit and EIA-96 chip resistor markings.
- 7-segment display converter1becomes0x06Digits and letters to segment hex codes for any wiring, and back.
- JSON to CSVobjectsbecomesrowsTurn a list of objects into a spreadsheet, nesting flattened into columns.
- JSON Lines{"a":1}↵{"a":2}becomes[{…},{…}]JSONL and NDJSON to a JSON array and back.
- YAML to JSONa: 1becomes{"a":1}Read a config file into JSON, with the line number when it won't parse.
- JSON to YAML{"a":1}becomesa: 1Write JSON out as YAML, quoting only the strings that need it.
- XML to JSON<a>1</a>becomes{"a":"1"}Read XML into JSON, attributes kept with an @ prefix.
- XML to CSV<a id="1">becomes@idRepeated XML elements to rows, attributes and nested paths to columns.
- JSON to XML{"a":1}becomes<a>1</a>Keys become elements, with a root element you choose.
- Markdown to HTML**b**becomes<strong>Headings, emphasis, links, lists, code and tables, turned into HTML.
- HTML to Markdown<h1>becomes#Pull readable Markdown out of a page, scripts and styles dropped.
- JSON to TOON[{…}]becomesusers[2]{id,name}:The compact format for LLM prompts, both ways.
- llms.txt generatorsitemapbecomesllms.txtFrom your sitemap to an llms.txt, or check one.
- JSON to TypeScript{ }becomesinterfaceTypes from a JSON sample: TypeScript, Zod, Go or Python.
- JSON to C#{ }becomesclassClasses or records for System.Text.Json or Newtonsoft, from a sample.
- Hex to RGB#FF8800becomes255, 136, 0Colour codes to rgb(), with HSL, a swatch and contrast.
- RGB to hex255, 136, 0becomes#FF8800rgb() values to a hex colour code, channel by channel.
- Hex to RGBA#FF880080becomes0.5028-digit hex with an alpha pair to rgba(), on a chequerboard.
- RGBA to hex0.75becomesBFrgba() and rgb( / 50%) to #RRGGBBAA, with the colour on white.
- Hex to CMYK#FF8800becomes0, 47, 100, 0Hex colour codes to print ink percentages, with the formula.
- CMYK to hexInk percentages to a hex code and rgb().
- RGB to CMYKrgb() values to print ink percentages.
- CMYK to RGB0, 47, 100, 0becomes255, 135, 0Ink percentages to rgb(), channel by channel.
- Hex to HSL#3366CCbecomes220°, 60%, 50%Hex colour codes to hue, saturation and lightness.
- HSL to hex220°, 60%, 50%becomes#3366CChsl() values to a hex colour code, with the working.
- RGB to HSL255, 136, 0becomes32°, 100%, 50%rgb() to hue, saturation and lightness.
- HSL to RGB220°, 60%, 50%becomes51, 102, 204hsl() back to rgb(), with chroma worked out.
- Hex to HSV#3366CCbecomes220°, 75%, 80%Hex codes to HSV or HSB, as colour pickers show it.
- HSV to hex32°, 100%, 100%becomes#FF8800HSV or HSB from a colour picker to a hex code.
- RGB to HSV255, 136, 0becomes32°, 100%, 100%rgb() to hue, saturation and value, also called HSB.
- HSV to RGB220°, 75%, 80%becomes51, 102, 204Hue, saturation and value back to rgb(), with C, X and m.
- Hex to OKLCH#FF8800becomes74.42% 0.18117 56.46Hex codes to oklch() lightness, chroma and hue.
- OKLCH to hex65% 0.15 270becomes#6C88EAoklch() to hex, with out-of-gamut colours mapped as CSS does.
- Color wheelPick a colour on the RYB or RGB wheel for its complementary, triadic and other schemes, plus a blank wheel to print.
- Colour mixing chartPrimaries, secondaries, tertiaries, tints and shades, printable or blank to paint.
- What colours make brownBrown recipes in parts, a paint mixer with swatches and hex codes, and a printable sheet.
- Case converterhellobecomesHELLOUPPER, lower, sentence, title and inverse, acronyms kept.
- Sentence caseALL CAPSbecomesAll capsRebuild capitals in text that arrived shouting, or not capitalised.
- Title casea walkbecomesA WalkHeadlines capitalised by AP, Chicago, APA or MLA rules.
- Remove line breaks3 linesbecomes1 linePut hard-wrapped text from a PDF or an email back into paragraphs.
- Remove whitespacea bbecomesa bExtra spaces, tabs and blank lines, visible or not.
- Text cleanera—bbecomesa; bEm dashes, curly quotes and hidden characters.
- Alphabetizerb a cbecomesa b cSort a list A to Z, by length, or shuffle it.
- Comma separatora bbecomes'a', 'b'A column to one quoted, comma-separated line.
- Email extractora [at] bbecomesa@bEvery address in a block of text, listed once.
- URL extractor?utm_becomesgoneLinks out of text, with tracking tags stripped.
- Phone extractorcall 212…becomes+1212…Phone numbers out of text, dates and order numbers left behind.
Nothing here matches that. If you're holding text you can't read, the cipher identifier tries every converter on it.
What's here
Encodings and security: Base64, URL encoding, hex and binary, JWT decoding, SHA-256 and MD5, a hash identifier and the mojibake fixer for text garbled by the wrong encoding. A JWT or an API key pasted here is decoded on your device; nothing is sent anywhere.
Networking and hardware: the subnet and CIDR calculators with the binary AND shown, a TCP/IP header decoder, the three-way handshake played segment by segment, common ports, RAID, and electronics from resistor colour codes to Ohm's law.
Computer science for students: sorting and graph search visualisers, Huffman coding, Hamming codes, two's complement, IEEE 754 and boolean algebra. Data formats (JSON to YAML, CSV, XML, Markdown, TOON) and text clean-up tools round it out.
Which encoding do you need?
Four of the encoders convert the same thing at different levels, and picking the wrong one is how you end up staring at a wall of digits when all you wanted was a character's number. Character codes and Unicode code points give you the number behind each character. Binary shows the bits that number is stored as, while Base64 packages the bytes so they survive email, a URL or JSON.
Debugging a character that won't display? That's a code point problem. Moving data through something that only handles text is a job for Base64, and reading raw bytes off a wire protocol means hex.
Encoding is not encryption
An encoding changes how data is written so it survives the trip, and anyone can reverse it. That's the point: the recipient has to be able to.
Keeping something secret needs encryption and a key. Base64 in particular turns up in places where someone hoped it was hiding something, and it never was.
Questions
Which character set should I use?
UTF-8, unless you know the text came from an older system. It covers every script and it's what the web assumes.
Why is my Base64 a third bigger than the file?
Four characters carry three bytes. That's the cost of passing through text-only systems.
Can I chain conversions?
Not yet. For now, copy the result of one converter into the next. Base64 and then binary is a common pair.
Sources
Added . Last updated and reviewed . What's new





