Hash generator: MD5, SHA-256 and HMAC
Compute the MD5, SHA-1, SHA-256, SHA-384 and SHA-512 hashes of a text or a file, with HMAC if you give a key, and paste the checksum a publisher gives to check that the file you downloaded matches. Files are not uploaded, and files of several GB work without filling your memory.
This tool needs JavaScript. If you still see this after a few seconds, JavaScript is switched off in your browser or the page did not load completely: turn JavaScript on or reload the page.
How to use it
- Choose "Text" and type or paste, or choose "A file" and pick one. The hash of every algorithm you ticked appears at once (a big file shows a progress bar).
- For HMAC tick "Use HMAC" and give a key. Choose the output as lower-case hex, upper-case hex or Base64.
- To check a download, paste the checksum the source gives into "Check against a given checksum". The tool tells you whether it matches, and which algorithm it matches.
Frequently asked questions
How do I check that a download is not damaged or tampered with?
The site you downloaded from usually gives the SHA-256 (or MD5) of the file. Choose "A file", pick the downloaded file, and paste that value into "Check against a given checksum". If it says "Match ✓" the file is identical to the original, byte for byte. You can paste the whole line from sha256sum: the tool finds the hash in it.
Can it hash a file of several GB?
Yes. The file is read 1 MB at a time and never held whole in memory. There is a progress bar and a Stop button. Speed depends on your computer (usually tens to a hundred MB per second per algorithm). Ticking only the algorithms you need makes it faster.
Are MD5 and SHA-1 still fine to use?
For checking that a file is not damaged, yes, but they are not safe against forgery, because two different inputs with the same hash can be made, and they must never be used to store passwords. For security use SHA-256 or better, and store passwords with a purpose-made algorithm such as bcrypt or Argon2.
Good to know
- Text is turned into UTF-8 before hashing, so Thai gets the same hash as other tools that use UTF-8 (such as
sha256sum). - HMAC is a hash mixed with a secret key; it shows that a message came from someone who knows the key and was not changed. The key can be given as text, hex or Base64.
- The algorithms are written in this page and checked against the standard test vectors (FIPS 180, RFC 1321, RFC 4231) each time the code changes.
Your data stays on your device
Everything runs in your browser. What you type, paste or open is not sent to freesabai's servers or anyone else's, and is not kept in the browser: close the page and it is gone. The site only counts how many times this page was opened and how many times someone copied or saved a result (never what was pasted or the result, and you can switch the counting off in the footer; see the privacy policy).
Report a problem or suggest an idea
Found a bug, or want this tool to do more? Tell us on the feedback page. No sign-up.
Other developer tools
JSON and data
- JSON formatter and validatorFormat, minify and validate JSON, find the error, fold it into levels
- JSON to YAML converterTurn JSON into YAML, key order kept, nothing leaves your device
- YAML to JSON converterTurn YAML into JSON, and find the line where the YAML is wrong
- JSON to CSV converterTurn a JSON list into CSV for Excel, Thai text included
- CSV to JSON converterTurn CSV into JSON, any separator, quoted fields handled
- CSV viewerOpen a CSV file as a table, sort a column, search, no spreadsheet needed
- Text and JSON diff checkerSee what changed between two texts, side by side or unified, with word highlights
Encoding, hashes and tokens
- Base64 encode and decodeBase64 for text (Thai and UTF-8), URL-safe, and files to and from Base64
- Hash generator: MD5, SHA-256, HMACHash text or files with MD5, SHA-1, SHA-256, SHA-512 and HMAC, and verify a checksum
- JWT decoderRead the header and payload of a JWT, with times you can read (decode only, no signature check)
- URL encode and decodePercent-encode or decode a link, Thai in URLs included, and take a URL apart
- HTML entities encode and decodeTurn special characters into & < > " and back
Generators
Time, numbers and colour
- Unix timestamp converterConvert a timestamp (seconds or milliseconds) to a date and back, with time zones
- Cron expression explainerRead a cron expression in plain words and see its next 5 runs
- Number base converterConvert between binary, octal, decimal and hex, and do bitwise AND, OR, XOR and shifts
- Colour converter: HEX, RGB, HSLConvert a colour between HEX, RGB and HSL, or pick one by eye
- Colour contrast checker (WCAG)Check the contrast between text and background colours for WCAG AA and AAA
Text and code
- Regex testerTry a regular expression, see matches and groups, protected from regexes that never finish
- Markdown previewType Markdown and see it rendered at once, safely, with embedded scripts never run
- Character, word and line counterCount characters, words (Thai too), lines, sentences, paragraphs and reading time