# ThoughtAsylum Toolbox > Handy tools for handy people: free encoders, formatters, converters, inspectors and generators that run entirely in your browser, online or off. Nothing you paste or choose is uploaded. Every tool is free, needs no sign-up, and runs entirely in the browser: nothing typed, pasted or chosen is uploaded, and there are no cookies, tracking or adverts. Once the site has loaded, every tool also works offline, and the site can be installed as an app. That makes them safe to use with work data, tokens and private files. Made by Stephen Millard ([ThoughtAsylum](https://www.thoughtasylum.com)). - [About](https://toolbox.thoughtasylum.com/about/): why the site exists and who made it - [Privacy](https://toolbox.thoughtasylum.com/privacy/): how the tools keep data in the browser, and how to check - [Terms of use](https://toolbox.thoughtasylum.com/terms/): the tools are free and offered as they are, used at the user's own risk - [Credits](https://toolbox.thoughtasylum.com/credits/): the open-source libraries, fonts and data the site uses, with their licences - [Automate](https://toolbox.thoughtasylum.com/automation/): links that fill in a tool, reading its result, bookmarklets, Shortcuts, address-bar search and the installed app - [Use it offline](https://toolbox.thoughtasylum.com/offline/): working without a connection, and installing the site as an app - [Full help](https://toolbox.thoughtasylum.com/llms-full.txt): every tool's help (what it's for, how to use it, an example and its limits) in one file ## Guides Walkthroughs that use several tools in turn. - [Making barcodes and QR codes, and fixing a rejected number](https://toolbox.thoughtasylum.com/guides/barcodes-and-check-digits/): Find the typo in an IBAN, ISBN or card number a form rejects, make barcodes and QR codes that scan, test them before printing, and see where a QR code leads before you open it. - [Before a video call or recording](https://toolbox.thoughtasylum.com/guides/before-a-video-call/): Check your camera and microphone, see how loud your room is, and try a short screen recording before an important call, interview or recorded talk. - [Before you share a photo or document](https://toolbox.thoughtasylum.com/guides/before-you-share/): Find and remove what a file gives away: the location in a photo or video, tags in a recording, faces and numbers on a screenshot, and the names and history inside PDFs and Office files. - [Checking a downloaded Mac app before you open it](https://toolbox.thoughtasylum.com/guides/checking-a-downloaded-mac-app/): Before opening an app from the web: check the download matches the checksum its maker publishes, see what's in the ZIP, who signed the app and their team ID, whether it runs natively on Apple silicon, and what it's allowed to do. - [Cleaning up text copied from a PDF, email or web page](https://toolbox.thoughtasylum.com/guides/clean-up-copied-text/): Clean up text copied from a PDF, an email or a web page: rejoin broken lines, fix quotes and spaces, change case, sort and de-duplicate a list, compare two lists, and turn rows into a Markdown table or clean HTML. - [Writing content everyone can read](https://toolbox.thoughtasylum.com/guides/content-everyone-can-read/): Make text, captions and charts that work for more people: plain-language reading levels, why fancy Unicode letters break screen readers, invisible characters, caption timing, and colours that survive colour blindness. - [Customising your Mac: icons, shortcuts, links and scheduled jobs](https://toolbox.thoughtasylum.com/guides/customising-your-mac/): Give an app or folder your own icon, add a keyboard shortcut to any menu command, make link files for the Dock and desktop, and run a script on a schedule with launchd. - [Decoding Base64, URL and other encoded text, and escaping it](https://toolbox.thoughtasylum.com/guides/decoding-and-escaping/): Work out what a strange string in a log, link or config is and decode it, layer by layer; then escape text correctly for JSON, a shell command, a URL, HTML or a regular expression so it arrives as you meant. - [Why does my document look different on their computer?](https://toolbox.thoughtasylum.com/guides/document-looks-different/): Fonts that weren't embedded, fonts that weren't allowed to be, and fonts the other computer doesn't have: find which fonts a PDF uses, check a font's embedding rights, and choose fonts that survive the trip. - [Documenting a project's files, tables and links](https://toolbox.thoughtasylum.com/guides/documenting-a-project/): Write a README or handover note that's easy to follow: draw the folder structure as a tree, turn a spreadsheet into a table, make every link the same format, give files tidy names and check the Markdown. - [Debugging a failing API call](https://toolbox.thoughtasylum.com/guides/failing-api-call/): From a browser's network capture to a fix: find the failing request, read its status, token and times, turn it into code, and share the capture safely. - [Filling in, signing and returning a form](https://toolbox.thoughtasylum.com/guides/fill-sign-return-form/): Fill in a PDF form, put your signature on it, check what the file gives away, protect it with a password if it holds private details, and send it back. - [Filtering a log or file: Line Filter or Log Viewer?](https://toolbox.thoughtasylum.com/guides/filtering-a-log-or-file/): Choose between the Line Filter and the Log Viewer to cut a log or text file down to the lines you need, and use them together when one isn't enough. - [Fixing garbled text](https://toolbox.thoughtasylum.com/guides/fixing-garbled-text/): Turn café back into café: spot text read in the wrong encoding, see the characters behind it, repair it and remove invisible characters that break things. - [Fixing sitemap errors](https://toolbox.thoughtasylum.com/guides/fixing-sitemap-errors/): Find out why a search engine rejects or ignores your sitemap.xml: check it's well-formed XML, find bad addresses and dates, keep within the size limits, and make sure robots.txt lets crawlers reach it and the pages it lists. - [Solving a geocache puzzle](https://toolbox.thoughtasylum.com/guides/geocache-puzzle/): From a mystery cache listing to the final coordinates: decode the clues, work out the formula, convert the position and check the distance and bearing. - [Finding what's hidden in a picture](https://toolbox.thoughtasylum.com/guides/hidden-in-a-picture/): Look for messages hidden in an image's metadata, pixels or bit planes, behind zero-width characters, and in the spectrogram of a sound file. - [Recording a how-to video](https://toolbox.thoughtasylum.com/guides/how-to-video/): Record your screen with narration, trim the start and end without losing quality, take a thumbnail, make a short GIF for documentation, shrink it to fit an email, and check the captions before you share it. - [Getting an HTTPS certificate: from request to installed](https://toolbox.thoughtasylum.com/guides/https-certificate/): Make a certificate signing request with the right names, check what the certificate authority sends back, confirm the certificate matches your private key, put the chain in the right order, and check the site's security headers afterwards. - [Getting images ready for a website](https://toolbox.thoughtasylum.com/guides/images-for-a-website/): Size and compress photos for the web, choose between JPEG, PNG, WebP and SVG, export logos at the sizes you need, take a colour scheme from a logo, and make the share image and icons. - [What's inside this JWT?](https://toolbox.thoughtasylum.com/guides/inside-a-jwt/): Read a JSON Web Token's claims, see when it was issued and when it expires, check its signature, and look at the certificate behind its key. - [Is my web page accessible?](https://toolbox.thoughtasylum.com/guides/is-my-page-accessible/): Check a page for the problems that shut people out: automatic checks, text contrast, colour blindness and keyboard focus order, with what to fix first. - [Is this email genuine?](https://toolbox.thoughtasylum.com/guides/is-this-email-genuine/): Check a suspicious email: read it safely, trace where it came from, see whether it passed SPF, DKIM and DMARC, and look at its links and attachments. - [Why won't my JSON file load?](https://toolbox.thoughtasylum.com/guides/json-file-wont-load/): Find the error in a JSON file that a program rejects, repair the common slips, check it has what the program expects with a JSON Schema, and find your way round a large file. - [Loading learning data into SuccessFactors with connectors](https://toolbox.thoughtasylum.com/guides/loading-lms-data/): Get users, courses or learning history into SuccessFactors Learning by connector without rejected rows: convert spreadsheet rows, fix the encoding, check every field, split large files and read the connector log. - [Checking Mac profiles, plists and .DS_Store files](https://toolbox.thoughtasylum.com/guides/mac-profiles-and-plists/): Check a configuration profile before installing it, read a plist to see what an app or background job is set to do, and see what a .DS_Store gives away. - [Making a puzzle, treasure hunt or escape room](https://toolbox.thoughtasylum.com/guides/making-a-puzzle/): Build clues that have one answer: check anagrams and word clues, encode messages as pigpen, flags, Morse or Enigma, make a two-transparency reveal, and playtest it before anyone sees it. - [Making a short animated GIF for docs or a chat](https://toolbox.thoughtasylum.com/guides/making-an-animated-gif/): Record a few seconds of your screen or take a clip from a video, turn it into an animated GIF small enough to post, fix its timing and frames, and know when a short video is the better choice. - [Making an audiobook from recorded chapters](https://toolbox.thoughtasylum.com/guides/making-an-audiobook/): Turn a chapter-by-chapter recording into one M4B audiobook: trim each chapter, match their loudness, add a cover, join them with a chapter list, and check the result. - [Arranging a meeting across time zones](https://toolbox.thoughtasylum.com/guides/meeting-across-time-zones/): Find an hour that suits everyone, share it when you don't use the same calendar system, avoid the weeks the clocks change on different dates, and work out why an invitation shows the wrong time. - [From a messy CSV to clean data](https://toolbox.thoughtasylum.com/guides/messy-csv/): Check a CSV for broken rows, fix its encoding, look through it as a table, convert it to JSON, split or join large files and chart the result. - [Moving a website without losing visitors](https://toolbox.thoughtasylum.com/guides/moving-a-website/): Rebuild or move a site without broken links: map every old address to its new one, turn the map into redirect rules for your server or host, avoid chains and loops, and check robots.txt, status codes, share previews and structured data on the new site. - [Moving contacts between contact apps](https://toolbox.thoughtasylum.com/guides/moving-contacts/): Move your contacts from one app or service to another, such as Outlook, Google Contacts, Apple Contacts or a CRM: export them, merge and tidy the files, fix garbled names, and save them in the format the new app imports. - [Opening a Parquet, SQLite or Excel data export](https://toolbox.thoughtasylum.com/guides/opening-a-data-export/): Look inside a data file you can't open: read a Parquet file's columns and rows, browse an SQLite database or an Excel workbook, query any of them with SQL, and save the answer as CSV or a chart. - [Why won't my course work in the LMS?](https://toolbox.thoughtasylum.com/guides/package-wont-play/): Fix an e-learning package an LMS rejects or won't track: check the ZIP, play it in a test LMS, decode suspend data, and check xAPI statements and captions. - [Making a page look finished with CSS](https://toolbox.thoughtasylum.com/guides/page-looks-finished-css/): Pick colours that match a logo and are readable, set a type scale, then build the gradient, shadow, shaped edge, blob and animation curve that make a plain page look finished. - [Paper and templates for printing or an e-ink tablet](https://toolbox.thoughtasylum.com/guides/paper-and-templates/): Make lined, graph, dot grid, Cornell or music paper to print or load onto an e-ink tablet, mix different kinds into one notebook PDF, print it as a folded booklet, and convert a template to another format. - [Handling passwords and tokens in your own app](https://toolbox.thoughtasylum.com/guides/passwords-and-tokens-in-your-app/): Store passwords as bcrypt hashes and choose the cost, make API keys and store only their hash, add two-factor sign-in with TOTP, and check the tokens your app issues. - [Putting a PDF together to send](https://toolbox.thoughtasylum.com/guides/pdf-to-send/): Turn photos and scans into one PDF, add and reorder pages, get it under an upload limit, clean it before it goes, and take pictures, pages and text out of a PDF you've been sent. - [Planning a photo shoot or a night of stargazing](https://toolbox.thoughtasylum.com/guides/photo-shoot-or-stargazing/): Pick the place and the day, then the hour: golden hour and twilight for photographs, the darkest hours and a moonless night for the stars, for a town or a spot on a map. - [Practising music: tuning, tempo and slowing it down](https://toolbox.thoughtasylum.com/guides/practising-music/): Tune your instrument, find a song's tempo and practise to a metronome, play a drone or reference note, and slow a hard passage down so you can learn it by ear. - [Making a private podcast feed of your own recordings](https://toolbox.thoughtasylum.com/guides/private-podcast/): Listen to your own recordings, notes or articles read aloud in your podcast app: trim and level each episode, check its tags, put the files on your web space and write the RSS feed that apps follow. - [Publishing an ebook that stores accept](https://toolbox.thoughtasylum.com/guides/publishing-an-ebook/): From a manuscript to an EPUB that Apple Books, Kobo and Kindle accept: write it in Markdown, make the book with a cover and pictures, check it for the errors stores reject, and size the cover and pictures. - [Reading a crash or a log](https://toolbox.thoughtasylum.com/guides/reading-a-crash/): Find the cause of an error: filter a log by level and time, find your code in a stack trace, read timestamps and compare a working config. - [Screenshots for a blog post, slide or app store](https://toolbox.thoughtasylum.com/guides/screenshots-for-a-post-or-store/): Check a screenshot's size, frame it, mark it with a watermark, combine several into one image, compare versions and make the files small enough to publish. - [Sending a file only the right person can open](https://toolbox.thoughtasylum.com/guides/sending-an-encrypted-file/): Lock a file with a password before you email or upload it, choose a password that holds up, send the password a different way, and check the file arrived unchanged. - [Sending an invoice](https://toolbox.thoughtasylum.com/guides/sending-an-invoice/): Work out the due date, make an invoice as a PDF, sign it if the client wants a signature, and protect it with a password when it goes by email. - [Sharing a walk or ride route safely](https://toolbox.thoughtasylum.com/guides/sharing-a-route/): Share a GPS track without giving away where you live: check its distance and climb, hide the start and end, remove times, convert it for another app, put your photos on the route and give a meeting point in any format. - [Getting a sound clip ready to use](https://toolbox.thoughtasylum.com/guides/sound-clip-ready/): Turn a raw recording into a clip for a podcast, course or video: cut it to length, fade it, check for hum, set its loudness to the target the platform uses, and remove the details it carries. - [Setting up an SSH key for GitHub or a server](https://toolbox.thoughtasylum.com/guides/ssh-key-for-github-or-a-server/): Make an SSH key pair, add a passphrase, put the public key on GitHub or a server, fix the 'permissions are too open' error, choose the key for each host, and check which key is which by its fingerprint. - [Getting a still frame and the recording details from a video](https://toolbox.thoughtasylum.com/guides/still-frame-from-a-video/): Find when and where a video was recorded, step to the exact frame you need, save stills and a contact sheet, and compare frames for what changed. - [Strong passwords, two-factor codes and shared secrets](https://toolbox.thoughtasylum.com/guides/strong-passwords-and-two-factor/): Strong passwords and passphrases, two-factor codes and secrets split between people, all made and checked in your browser. - [Making test data for a demo or test system](https://toolbox.thoughtasylum.com/guides/test-data-for-a-demo/): Fill a demo, test system or import with realistic made-up data instead of real people's: describe the rows, link tables by ID, choose CSV, JSON or SQL, check it before loading, and add test files. - [Testing an upload limit or a slow upload](https://toolbox.thoughtasylum.com/guides/testing-uploads/): Find out whether an upload problem is the file size, the number of files or the connection: make test files of exact sizes, work out how long they should take, capture what the browser did, and match it to the server's log. - [Solving an unknown cipher](https://toolbox.thoughtasylum.com/guides/unknown-cipher/): From a page of gibberish to plain text: find what kind of cipher it is, read its letter statistics, then crack it or decrypt it with a key. - [Getting a font ready for the web](https://toolbox.thoughtasylum.com/guides/web-fonts/): Check a font's licence and features, convert it to a web font with its @font-face CSS, stop the page jumping when it loads, and set a type scale. - [Getting a website ready to launch](https://toolbox.thoughtasylum.com/guides/website-launch-checks/): The finishing touches before a site goes live: favicons, share cards, structured data for search results, robots.txt and the sitemap, security headers and SRI hashes, and a check of its HTTPS certificate. - [What is this file?](https://toolbox.thoughtasylum.com/guides/what-is-this-file/): Work out what an unknown file really is, look inside its bytes, check it against a published hash, and unpack compressed or encoded data. - [What time is this number? Timestamps in logs and IDs](https://toolbox.thoughtasylum.com/guides/what-time-is-this-number/): Work out which kind of time a number is (Unix, Windows, Chrome, .NET, Excel, GPS and more), read the time hidden in an ID, find the bytes in a file, and turn a day or week into exact start and end times. - [Why is Git ignoring my file (or not ignoring it)?](https://toolbox.thoughtasylum.com/guides/why-is-git-ignoring-my-file/): Find out why Git ignores a file you want to commit, or keeps showing one you meant to ignore: test your .gitignore patterns, re-include a file inside an ignored folder, stop tracking a committed file, and spot invisible characters. - [A website works for me but not for one user](https://toolbox.thoughtasylum.com/guides/works-for-me-not-for-them/): When a page works for you but not for someone else: find out their browser and settings, see what they see, capture the requests their browser makes, and check their keyboard, without a call or remote access. - [Keeping a workshop day on time](https://toolbox.thoughtasylum.com/guides/workshop-day/): Run a workshop or training day that starts and restarts on time: send times that suit remote attendees, put a link to the materials on screen, keep the screen awake, and show a break countdown everyone can see. ## Links that fill in a tool Some tools read their input from the address's fragment, which the browser never sends to a server, so a link can hand someone (or a user you're helping) a tool with the input already in it and the result showing: `//#=&…`, values URL-encoded. For example, https://toolbox.thoughtasylum.com/cron/#cr-in=*%2F15+9-17+*+*+mon-fri explains that cron expression. Never put tokens, passwords or other secrets in a link: it stays in browser history. The full help lists each tool's fields, the values its menus take, and the ids of the elements its result shows in. `/#search=` opens the site's search with those words. More, with bookmarklets, Shortcuts and scripted browsers: [Automate](https://toolbox.thoughtasylum.com/automation/). - [Aspect Ratio](https://toolbox.thoughtasylum.com/aspect-ratio/): `ar-w`, `ar-h`, `ar-ratio` - [Barcodes](https://toolbox.thoughtasylum.com/barcode/): `br-kind`, `br-in` - [Bingo Cards](https://toolbox.thoughtasylum.com/bingo/): `bg-mode`, `bg-n`, `bg-size`, `bg-free`, `bg-list` - [Blob Shape](https://toolbox.thoughtasylum.com/blob/): `bl-points`, `bl-rand`, `bl-seed`, `bl-size`, `bl-fill` - [Box Shadow](https://toolbox.thoughtasylum.com/box-shadow/): `bs-mode`, `bs-bg`, `bs-boxc`, `bs-layers`, `bs-sel` - [Break Timer](https://toolbox.thoughtasylum.com/break-timer/): `bt-mode`, `bt-mins`, `bt-back`, `bt-urgent`, `bt-text`, `bt-urgent-text`, `bt-late`, `bt-work`, `bt-rest`, `bt-rounds` - [CSS Gradient](https://toolbox.thoughtasylum.com/css-gradient/): `gr-type`, `gr-angle`, `gr-shape`, `gr-pos`, `gr-repeat`, `gr-oklch`, `gr-stops` - [Caesar / ROT13](https://toolbox.thoughtasylum.com/caesar/): `cz-mode`, `cz-k`, `cz-dir`, `cz-in` - [Calculator](https://toolbox.thoughtasylum.com/calculator/): `ca-mode`, `ca-in` - [Case & Style](https://toolbox.thoughtasylum.com/case/): `cs-in` - [Check Digit Validator](https://toolbox.thoughtasylum.com/check-digits/): `cg-in` - [Cipher Cracker](https://toolbox.thoughtasylum.com/crack/): `ck-in` - [Classical Ciphers](https://toolbox.thoughtasylum.com/classic/): `cl-cipher`, `cl-dir`, `cl-key`, `cl-key2`, `cl-a`, `cl-b`, `cl-shift`, `cl-period`, `cl-width`, `cl-rails`, `cl-bacon`, `cl-in` - [Clip-path](https://toolbox.thoughtasylum.com/clip-path/): `cp-shape`, `cp-points`, `cp-cx`, `cp-cy`, `cp-r`, `cp-ry`, `cp-it`, `cp-ir`, `cp-ib`, `cp-il`, `cp-round` - [Code Format](https://toolbox.thoughtasylum.com/code/): `cf-lang`, `cf-indent`, `cf-in` - [Colour Converter](https://toolbox.thoughtasylum.com/colour/): `co-in` - [Contrast Checker](https://toolbox.thoughtasylum.com/contrast/): `ct-fg`, `ct-bg` - [Coordinate Converter](https://toolbox.thoughtasylum.com/coords/): `ll-as`, `ll-in` - [Cron Explainer](https://toolbox.thoughtasylum.com/cron/): `cr-in` - [Custom Card Link Builder](https://toolbox.thoughtasylum.com/custom-card/): `cc-script`, `cc-mode`, `cc-url`, `cc-map`, `cc-test` - [DTMF Tones](https://toolbox.thoughtasylum.com/dtmf/): `dt-keys`, `dt-tone`, `dt-gap` - [Date Calculator](https://toolbox.thoughtasylum.com/dates/): `dc-a`, `dc-b`, `dc-c`, `dc-n`, `dc-unit` - [Distance & Bearing](https://toolbox.thoughtasylum.com/distance/): `db-a`, `db-b`, `db-unit`, `db-brg`, `db-dist` - [Easing Curve](https://toolbox.thoughtasylum.com/easing-curve/): `ec-kind`, `ec-x1`, `ec-y1`, `ec-x2`, `ec-y2`, `ec-steps`, `ec-jump`, `ec-dur` - [Enigma Machine](https://toolbox.thoughtasylum.com/enigma/): `eg-model`, `eg-ref`, `eg-thin`, `eg-r0`, `eg-r1`, `eg-r2`, `eg-rings`, `eg-start`, `eg-plugs`, `eg-group`, `eg-in` - [Folder Tree](https://toolbox.thoughtasylum.com/folder-tree/): `ft-style`, `ft-depth`, `ft-folders`, `ft-first`, `ft-ignore`, `ft-paths` - [Geocache Formulas](https://toolbox.thoughtasylum.com/geocache-formula/): `gf-vars`, `gf-tpl` - [Git Ignore Tester](https://toolbox.thoughtasylum.com/gitignore/): `gi-case`, `gi-in`, `gi-paths` - [HTTP Codes & MIME Types](https://toolbox.thoughtasylum.com/http-codes/): `hc-q` - [JSON Format](https://toolbox.thoughtasylum.com/json/): `js-indent`, `js-q`, `js-in` - [JSON ⇄ YAML ⇄ TOML](https://toolbox.thoughtasylum.com/yaml/): `ym-from`, `ym-to`, `ym-in` - [LMS Settings Checker](https://toolbox.thoughtasylum.com/lms-settings/): `ls-in`, `ls-b` - [Link Formatter](https://toolbox.thoughtasylum.com/link-format/): `lf-fmt`, `lf-in` - [List Compare](https://toolbox.thoughtasylum.com/list-compare/): `lc-sep`, `lc-ci`, `lc-a`, `lc-b` - [Loan Calculator](https://toolbox.thoughtasylum.com/loan/): `ln-amount`, `ln-rate`, `ln-years`, `ln-per`, `ln-extra` - [Lookalike Characters](https://toolbox.thoughtasylum.com/lookalikes/): `hg-in`, `hg-cmp` - [Mac Keyboard Symbols](https://toolbox.thoughtasylum.com/mac-keys/): `sc-from`, `sc-in` - [Markdown Format](https://toolbox.thoughtasylum.com/md-format/): `mf-bullet`, `mf-italic`, `mf-bold`, `mf-toc`, `mf-in` - [Markdown Table](https://toolbox.thoughtasylum.com/md-table/): `mt-pad`, `mt-in` - [Mermaid Editor](https://toolbox.thoughtasylum.com/mermaid/): `mm-theme`, `mm-transparent`, `mm-rounded`, `mm-in` - [Morse Code](https://toolbox.thoughtasylum.com/morse/): `mo-text` - [Number Bases](https://toolbox.thoughtasylum.com/bases/): `nb-10` - [Number Codes](https://toolbox.thoughtasylum.com/number-codes/): `nc-in` - [Numerals](https://toolbox.thoughtasylum.com/numerals/): `nu-in` - [Periodic Table](https://toolbox.thoughtasylum.com/periodic-table/): `pt-colour`, `pt-formula` - [Permissions](https://toolbox.thoughtasylum.com/chmod/): `pm-oct` - [Picture Alphabets](https://toolbox.thoughtasylum.com/picture-alphabets/): `pa-kind`, `pa-in` - [Printable Paper](https://toolbox.thoughtasylum.com/paper/): `pp-unit`, `pp-kind`, `pp-size`, `pp-orient`, `pp-cw`, `pp-ch`, `pp-pw`, `pp-ph`, `pp-ppi`, `pp-mono`, `pp-margin`, `pp-spacing`, `pp-header`, `pp-every`, `pp-mline`, `pp-staves`, `pp-gap`, `pp-cue`, `pp-summary`, `pp-weight`, `pp-paper`, `pp-paper-c`, `pp-line`, `pp-line-c`, `pp-screen`, `pp-pages` - [Random Picker](https://toolbox.thoughtasylum.com/random/): `ra-mode`, `ra-n`, `ra-min`, `ra-max`, `ra-unique`, `ra-wheel`, `ra-dice`, `ra-list` - [Redirect Map Builder](https://toolbox.thoughtasylum.com/redirects/): `rd-fmt`, `rd-code`, `rd-in` - [Regex Tester](https://toolbox.thoughtasylum.com/regex/): `rx-g`, `rx-i`, `rx-m`, `rx-s`, `rx-u`, `rx-y`, `rxp-in`, `rxt-in`, `rx-rep` - [SPF, DKIM & DMARC Checker](https://toolbox.thoughtasylum.com/email-dns/): `ed-domain`, `ed-sel`, `ed-in` - [Semver Range Checker](https://toolbox.thoughtasylum.com/semver/): `sr-flavour`, `sr-range`, `sr-vers` - [Sound Effect Generator](https://toolbox.thoughtasylum.com/sound-effects/): `sg-seed`, `sg-f0`, `sg-reverb`, `sg-echo`, `sg-drive`, `sg-vol` - [Stack Trace Formatter](https://toolbox.thoughtasylum.com/stack-trace/): `sx-in` - [Subnet Calculator](https://toolbox.thoughtasylum.com/subnet/): `sn-split`, `sn-in` - [Sun Times](https://toolbox.thoughtasylum.com/sun/): `su-place`, `su-zone`, `su-date` - [Tap Tempo & Metronome](https://toolbox.thoughtasylum.com/metronome/): `mn-bpm`, `mn-beats` - [Test Data Generator](https://toolbox.thoughtasylum.com/test-data/): `td-mode`, `td-rows`, `td-fmt`, `td-table`, `td-seed`, `td-schema`, `td-set`, `td-lines`, `td-width` - [Timestamp Converter](https://toolbox.thoughtasylum.com/timestamp/): `ts-kind`, `ts-in`, `td-in` - [Tone Generator](https://toolbox.thoughtasylum.com/tone-generator/): `tg-wave`, `tg-freq`, `tg-to`, `tg-sweep`, `tg-secs`, `tg-vol` - [Truth Table](https://toolbox.thoughtasylum.com/truth-table/): `tt-in` - [Type Scale](https://toolbox.thoughtasylum.com/type-scale/): `sz-base`, `sz-ratio`, `sz-custom`, `sz-up`, `sz-down`, `sz-prefix`, `sz-text`, `sz-fluid`, `sz-minvw`, `sz-maxvw`, `sz-maxbase`, `sz-maxratio` - [URL Encode / Decode](https://toolbox.thoughtasylum.com/url/): `ue-plus`, `ue-in` - [URL Inspector](https://toolbox.thoughtasylum.com/url-parts/): `up-plus`, `up-in` - [UUID Generator](https://toolbox.thoughtasylum.com/uuid/): `uu-in` - [Unit Converter](https://toolbox.thoughtasylum.com/units/): `un-cat`, `un-unit`, `un-in`, `tt-size`, `tt-su`, `tt-rate`, `tt-ru` - [User Agent Parser](https://toolbox.thoughtasylum.com/user-agent/): `ua-in` - [Web Link Files](https://toolbox.thoughtasylum.com/webloc/): `wl-kind`, `wl-url`, `wl-name` - [World Clock](https://toolbox.thoughtasylum.com/world-clock/): `wc-places`, `wc-date`, `wc-sel`, `wc-title` - [XML Format](https://toolbox.thoughtasylum.com/xml/): `xm-indent`, `xm-q`, `xm-in` - [docker run to Compose](https://toolbox.thoughtasylum.com/docker-compose/): `dk-in` - [launchd Job Builder](https://toolbox.thoughtasylum.com/launchd/): `lj-kind`, `lj-label`, `lj-args`, `lj-shell`, `lj-atload`, `lj-interval`, `lj-cron`, `lj-watch`, `lj-keep`, `lj-outfile`, `lj-errfile`, `lj-dir`, `lj-user` - [mailto Link Builder](https://toolbox.thoughtasylum.com/mailto/): `ml-text`, `ml-to`, `ml-cc`, `ml-bcc`, `ml-subject`, `ml-body` - [robots.txt Tester](https://toolbox.thoughtasylum.com/robots/): `rb-agent`, `rb-in`, `rb-urls` ## Accessibility [All Accessibility tools](https://toolbox.thoughtasylum.com/tools/accessibility/): Free accessibility tools: check HTML against WCAG with axe, test colour contrast, simulate colour blindness and map keyboard focus. Nothing is uploaded. - [Accessibility Check](https://toolbox.thoughtasylum.com/a11y-check/): Paste a page’s HTML, or choose an HTML file, to check it with axe, the engine behind many accessibility testing tools, and to see its heading outline, link wording and picture descriptions for checking by eye. - [Keyboard Focus Order](https://toolbox.thoughtasylum.com/focus-order/): Paste a page’s HTML to see the order the Tab key moves through it, numbered on the page, with the stops that have no name, jump the queue, hide from screen readers or can’t be reached at all. - [Colour Blindness Simulator](https://toolbox.thoughtasylum.com/colour-blind/): See a picture or screenshot as people with each kind of colour blindness see it, side by side, to check that charts, maps and status colours still make sense without the colours you rely on. - [Contrast Checker](https://toolbox.thoughtasylum.com/contrast/): Check text against its background by WCAG 2's contrast ratio (AA, AAA) and by APCA, the newer method drafted for WCAG 3, and get the nearest text colour that passes. ## Audio [All Audio tools](https://toolbox.thoughtasylum.com/tools/audio/): Free audio tools in your browser: trim and edit clips, read and remove tags, measure loudness, tune, make tones and audiobooks. Nothing is uploaded. - [Tone Generator](https://toolbox.thoughtasylum.com/tone-generator/): Play a tone at any frequency or musical note, as a sine, square, triangle or sawtooth wave, glide from one pitch to another, or make white, pink or brown noise, and save it as a WAV file. - [DTMF Tones](https://toolbox.thoughtasylum.com/dtmf/): Make the tones a phone keypad plays (DTMF, or touch tones) for any number, to hear or save, and find the keys pressed in a recording. - [Audio Trimmer](https://toolbox.thoughtasylum.com/audio-editor/): Cut a sound file down to the part you want, and if you like play it backwards, speed it up or slow it down, make it louder, quieter or normalised, fade it in and out, or make it mono, then save it as WAV, AAC (.m4a) or MP3. - [Tap Tempo & Metronome](https://toolbox.thoughtasylum.com/metronome/): Tap along to music to find its tempo in beats per minute, and play a steady metronome at any tempo, with the first beat of each bar accented. - [Audio Tags](https://toolbox.thoughtasylum.com/audio-tags/): See the details and tags inside a sound file (title, artist, album, cover pictures, the software that made it, its length and quality, and an audiobook's chapters) and save a copy of an MP3, FLAC, WAV, M4A or M4B without them. - [Tuner](https://toolbox.thoughtasylum.com/tuner/): Play or sing a note into your microphone to see which note it is, its frequency, and how many cents sharp or flat it is, with concert pitch set to any A from 400 to 480 Hz. - [Loudness Meter](https://toolbox.thoughtasylum.com/loudness/): Measure a sound file's loudness as streaming services and broadcasters do (integrated loudness in LUFS, loudness range and true peak), see how it compares with the usual targets, and save a copy turned up or down to the target you choose. - [Audiobook Maker](https://toolbox.thoughtasylum.com/audiobook-maker/): Put a book's chapters together, one sound file each, into a single M4B audiobook with a chapter list, the title, author, narrator and a cover picture, ready for Apple Books and other audiobook players. - [Audiobook Splitter](https://toolbox.thoughtasylum.com/audiobook-splitter/): Split an M4B audiobook (or any M4A with chapters) into one file a chapter, keeping the sound exactly as it is, or as MP3s for players that don't take M4A, with each chapter's title and number. - [Sound Effect Generator](https://toolbox.thoughtasylum.com/sound-effects/): Short sound effects made from a number: the same number always makes the same sound. Play random ones until one fits, then save it as a WAV, MP3 or AAC file for a notification or an automation. A browser version of the SEG command line tool. - [Podcast Feed Builder](https://toolbox.thoughtasylum.com/podcast-feed/): Write the RSS feed for a podcast of your own: the show's details and an episode for each sound file, with its address, size, length and date. Drop sound files to fill in the episodes, or open a feed to edit it. - [Sound Level Meter](https://toolbox.thoughtasylum.com/sound-meter/): Measure how loud it is through your microphone: the level in dBFS, an A-weighted estimate in decibels with a calibration offset you set, and the highest level heard so far. - [Spectrogram](https://toolbox.thoughtasylum.com/spectrogram/): Turn text or a picture into a sound that draws it in a spectrogram, and see the spectrogram of any sound to find pictures hidden in it, in heat, greyscale or print colours, on a linear or logarithmic scale, and save it as a PNG. ## Ciphers [All Ciphers tools](https://toolbox.thoughtasylum.com/tools/ciphers/): Free cipher tools: encode, decode and crack Caesar, Vigenère and other classical ciphers, run an Enigma machine and hide messages in pictures. - [Caesar / ROT13](https://toolbox.thoughtasylum.com/caesar/): Shift letters along the alphabet, with ROT13, ROT5, ROT18 and ROT47, and every shift at once ranked by how English it reads. - [Classical Ciphers](https://toolbox.thoughtasylum.com/classic/): Atbash, Affine, keyword substitution, keyed Caesar, Vigenère, Beaufort, Autokey, Gronsfeld, Porta, one-time pad, Playfair, Four-square, Bifid, Trifid, Nihilist, Rail Fence, columnar, double and AMSCO transposition, route and scytale, Polybius, Bacon, ADFGX, ADFGVX and Pigpen, both ways as you type. - [Image Steganography](https://toolbox.thoughtasylum.com/stego/): Hide a message or a small file inside a picture's pixels, optionally locked with a password, and reveal it again. - [Cipher Cracker](https://toolbox.thoughtasylum.com/crack/): Paste a ciphertext and it tries every Caesar, Affine and Atbash key, finds likely Vigenère and Beaufort keys, and tries Rail Fence, with the most English results first; on request it also solves keyword substitutions (cryptograms) and columnar transpositions. - [Enigma Machine](https://toolbox.thoughtasylum.com/enigma/): A working Enigma I, M3 and M4, with rotors I–VIII, reflectors, ring settings and plugboard. Typing the ciphertext with the same settings decrypts it. - [Hidden Text](https://toolbox.thoughtasylum.com/hidden-text/): Hide a secret inside ordinary text with invisible characters, and find, decode and remove invisible characters someone else has hidden. - [Picture Alphabets](https://toolbox.thoughtasylum.com/picture-alphabets/): Write text in pigpen, semaphore, maritime signal flags, Hexahue, Braille, Elder Futhark runes or Greek letters, and read it back by clicking the symbols you see. - [Visual Cryptography](https://toolbox.thoughtasylum.com/visual-crypto/): Split a word or picture into two images of random noise. Either alone shows nothing; laid on top of each other, they reveal the secret. - [Image Encryption](https://toolbox.thoughtasylum.com/image-cipher/): Encrypt a picture's pixels with a password into a viewable image of noise and back, or see why ECB mode leaks the outline. - [XOR Cipher](https://toolbox.thoughtasylum.com/xor/): XOR text, hex or Base64 with a repeating key, and break single-byte and repeating-key XOR by trying keys and scoring the results. - [Bit-Plane Inspector](https://toolbox.thoughtasylum.com/bitplane/): Look at each bit of an image's red, green, blue and alpha on its own, pull out the data in the low bits, and compare two images pixel by pixel. - [Number Codes](https://toolbox.thoughtasylum.com/number-codes/): Text as the number codes puzzles use, A1Z26, A0Z25, the tap code, the phone keypad (multi-tap and T9) and Baudot, all at once, and each of them back to text; plus BCD and Gray code for numbers. ## Data [All Data tools](https://toolbox.thoughtasylum.com/tools/data/): Free data tools: format and validate JSON, XML and YAML, convert CSV, JSON, YAML, TOML and plists, make charts and test data. Nothing is uploaded. - [JSON Format](https://toolbox.thoughtasylum.com/json/): Indent JSON with 2 or 4 spaces or tabs, minify it, or show it as a collapsible tree that copies any value's path; repair loose JSON, sort its keys, pick out values with a JSONPath query, flatten it to dotted paths and back, see what takes up its size, and turn an array into JSON Lines and back. - [XML Format](https://toolbox.thoughtasylum.com/xml/): Indent XML, or minify it; pick parts out with an XPath query; convert XML to JSON and back. - [Code Format](https://toolbox.thoughtasylum.com/code/): Minify HTML, CSS, JavaScript, SQL or SVG, or lay it out again with 2 or 4 space or tab indents, convert HTML or SVG to React JSX, and turn code into a syntax-highlighted picture. - [JSON ⇄ YAML ⇄ TOML](https://toolbox.thoughtasylum.com/yaml/): Convert between JSON, YAML and TOML in any direction, with 2 or 4 space indents. - [JSON to Types](https://toolbox.thoughtasylum.com/types/): Turn JSON, YAML, TOML or SQL CREATE TABLE into TypeScript, Go, Rust, Python, Zod, Pydantic, Protobuf, GraphQL and more, or a JSON Schema. - [CSV ⇄ JSON](https://toolbox.thoughtasylum.com/csv/): Convert either way, turn either into SQL INSERT statements, open an Excel workbook (.xlsx) as CSV or save the data as one, view it as a table you can sort and filter, or transpose, reorder and pivot its columns. - [SQLite Viewer](https://toolbox.thoughtasylum.com/sqlite/): Open an SQLite database (.db, .sqlite) to browse its tables and run SQL on it, or load CSV files as tables and query them with SQL. Save the result as CSV, or the database with your changes. - [Parquet Viewer](https://toolbox.thoughtasylum.com/parquet/): Open a Parquet file to see its schema, its rows in a table you can sort and filter, and how it’s stored: row groups, compression and each column’s size. Save every row as CSV or JSON. - [Plist ⇄ JSON](https://toolbox.thoughtasylum.com/plist/): Convert property lists (launchd jobs, Info.plist, app preferences), XML or binary, to JSON and back, tab-indented like plutil. - [Chart Maker](https://toolbox.thoughtasylum.com/graph/): Type or paste labels and values (separated by tabs, commas, colons, equals signs or spaces, or cells from a spreadsheet; a header row gives several series) and get columns, bars, stacked or 100% stacked columns and bars, a line, area, pie, doughnut, radar or treemap chart. - [Data Validator](https://toolbox.thoughtasylum.com/validate/): Check JSON, JSON Lines, YAML, TOML, XML or CSV as you type, and JSON, YAML or TOML against a JSON Schema. The text is syntax-highlighted, and each problem is explained, listed with its line and column, and marked where it is. - [CSV Split & Join](https://toolbox.thoughtasylum.com/csv-split/): Split a large CSV or other delimited file into smaller files of a set number of rows, each with the header row, or join several back into one. Rows are copied exactly as they are, quoted line breaks included. - [File Split & Join](https://toolbox.thoughtasylum.com/file-split/): Cut any file into parts of a set size, or into a set number of parts, saved as name.001, name.002 and so on, and join such parts back into the original, with a check that none is missing. - [Test Data Generator](https://toolbox.thoughtasylum.com/test-data/): Rows of made-up data from a simple list of fields: numbers, dates, names, emails, choices, patterns, UUIDs and lorem ipsum, with blanks where you want them, as CSV, TSV, JSON, JSON Lines or SQL. Or plain random characters: digits, letters and digits, or with symbols too, in one long run or in lines of a set length. A seed makes the same data every time. - [Check Digit Validator](https://toolbox.thoughtasylum.com/check-digits/): Type an IBAN, card number, ISBN, ISSN, barcode (EAN, UPC, GTIN), VIN, ISIN, ORCID iD, NHS number or US routing number to check its check digit. If it's wrong, see what it should be; type ? for a character you don't know to work it out. ## Developer [All Developer tools](https://toolbox.thoughtasylum.com/tools/developer/): Free developer tools: test regular expressions, compare text, explain cron, convert timestamps and number bases, view hex and HAR files. Nothing uploaded. - [UUID Generator](https://toolbox.thoughtasylum.com/uuid/): Up to 1,000 UUIDs as version 4 (random), 7 (time-ordered), 1 (time-based) or 5 (from a namespace and name), ULIDs, NanoIDs and MongoDB ObjectIds, and a tool to read any of them. - [Timestamp Converter](https://toolbox.thoughtasylum.com/timestamp/): Unix time in seconds, milliseconds, microseconds or nanoseconds (told apart by length), or a date, shown as Unix time, ISO 8601, local time, UTC and how long ago; also Windows FILETIME, .NET ticks, Chrome, NTP, GPS, HFS+, FAT, Apple Cocoa, Excel and Julian Day times, and the times inside ULIDs, ObjectIds, Firebase push IDs, Bluesky TIDs and Snowflake IDs; the first and last second of a day, week, month, quarter or year; a list of timestamps at once; code for Unix time in a dozen languages; and durations between seconds, SCORM 1.2 time and ISO 8601 (SCORM 2004, xAPI, cmi5). - [Truth Table](https://toolbox.thoughtasylum.com/truth-table/): Type a boolean expression, in symbols, words or code, to get its truth table, its simplest form and its minterms; type two to check they're equivalent. - [Number Bases](https://toolbox.thoughtasylum.com/bases/): Decimal, hexadecimal, octal, binary, Base62 and any base from 2 to 36; type in any box. Also a number as a fixed-width signed integer with its byte order, and text as binary, octal, decimal or hex character codes. - [Key Codes](https://toolbox.thoughtasylum.com/keycode/): Press a key to see what JavaScript gets: event.key, event.code, the old keyCode and which, the key's location, and the modifiers held. - [Gamepad Tester](https://toolbox.thoughtasylum.com/gamepad/): Plug in or pair a game controller, press a button on it, and see every button and stick live as the browser's Gamepad API reports it, set a dead zone to check for stick drift, and test the vibration where the controller and browser support it. - [cURL to Code](https://toolbox.thoughtasylum.com/curl/): Paste a curl command, a raw HTTP request or a HAR from your browser, and get the same request as curl, Python requests, JavaScript fetch, Go or PHP. - [docker run to Compose](https://toolbox.thoughtasylum.com/docker-compose/): Paste one or more docker run commands and get the compose.yaml that runs the same containers: ports, volumes, environment, networks, limits and health checks. - [Mermaid Editor](https://toolbox.thoughtasylum.com/mermaid/): Write or paste Mermaid text and see the diagram it describes drawn as you type: flowchart, sequence, class, state, entity-relationship, Gantt, pie, mind map and more. Start from a template for any of them, or open the reference for its syntax, with examples to insert. Choose a theme such as light, dark, print or high contrast, zoom and pan, go full screen, save it as SVG or PNG, copy the SVG or a Markdown block, or open and save the text as a file. - [Diff Checker](https://toolbox.thoughtasylum.com/diff/): Compare two texts line by line, with the changed words inside each line highlighted, side by side or as a unified diff. Or compare two JSON or YAML documents, ignoring formatting and key order. - [Regex Tester](https://toolbox.thoughtasylum.com/regex/): Test a regular expression as you type. The pattern is colour-coded and explained piece by piece, every match and capture group is highlighted in the text in matching colours and listed in a table, a replacement is previewed, and example strings that match are generated. - [Git Ignore Tester](https://toolbox.thoughtasylum.com/gitignore/): Paste a .gitignore and some paths to see whether Git ignores each one, the pattern that decides it, and why: a later pattern overriding an earlier one, or a file that can’t be brought back because its folder is ignored. - [Cron Explainer](https://toolbox.thoughtasylum.com/cron/): Describes a cron expression in English, lists its next 10 runs, and gives the launchd StartCalendarInterval that matches it, with a builder for writing one from menus and tick boxes. - [Permissions](https://toolbox.thoughtasylum.com/chmod/): File modes as checkboxes, octal (755) and the ls -l form (rwxr-xr-x), including setuid, setgid and sticky, with the matching chmod commands. - [Subnet Calculator](https://toolbox.thoughtasylum.com/subnet/): The network, netmask, broadcast address and usable host range of an IPv4 or IPv6 address with a CIDR prefix or a netmask, the network split into smaller subnets or listed address by address, a list of addresses grouped by network, and random IPv6 unique local prefixes and MAC addresses. - [SSH Config Inspector](https://toolbox.thoughtasylum.com/ssh-config/): Paste an OpenSSH client config (~/.ssh/config) and type a host to see which Host and Match blocks apply and the settings ssh would use, with the line each comes from and the later values it ignores. Mistakes and risky settings are pointed out. - [Path Converter](https://toolbox.thoughtasylum.com/paths/): A path in any form (POSIX, ~, Terminal-escaped or quoted, HFS such as Macintosh HD:Users:…, file:// URL, AppleScript POSIX file, smb:// URL or Windows \\server\share) fills a field for each form at once, each with a Copy button: POSIX, from home, quoted for the shell, a file:// URL, HFS, AppleScript POSIX file, and, for a network share in /Volumes with an SMB server given, an smb:// URL and a Windows UNC path. - [Hex Viewer](https://toolbox.thoughtasylum.com/hex/): A file's bytes in hex, with each character shown above its bytes (UTF-8 included, control characters as symbols), 4 KB at a time and read straight from the file, so large files are fine; plus its entropy, the text inside it, and any files hidden inside it. - [File Type](https://toolbox.thoughtasylum.com/file-type/): Find out what files really are from what's inside them, not their names: the type and how it was recognised, its MIME type and usual extension, and whether the extension matches. Office documents, e-books, apps and other ZIP-based files are told apart by their contents. - [Web Scratchpad](https://toolbox.thoughtasylum.com/scratchpad/): HTML, CSS and JavaScript, each in its own syntax-highlighted tab, run together as one page, on ⌘/Ctrl-Enter, the Run button or as you type. Result and Console tabs show the page, and its console output and uncaught errors (with the line in the JavaScript tab). - [HAR Viewer & Redactor](https://toolbox.thoughtasylum.com/har/): Open a HAR file (a browser's saved network log) to see its requests, then save a copy with cookies, sign-in headers, tokens, passwords and response bodies removed, safe to send to a support team. - [Log Viewer](https://toolbox.thoughtasylum.com/log-viewer/): Open a log file, even a large one, and narrow it down: by level, by words or a regular expression, and by time. Stack traces and other multi-line entries stay together, times can be shown in your own time zone, and terminal colour codes are shown as colours or removed. - [Stack Trace Formatter](https://toolbox.thoughtasylum.com/stack-trace/): Paste a stack trace from a log, an error report or JSON (escaped and all) to have it laid out frame by frame, with library frames folded away and your own code first. Add source maps to see where minified JavaScript errors really happened. - [Semver Range Checker](https://toolbox.thoughtasylum.com/semver/): Type a version range as npm or Cargo writes it (^1.2.3, ~1.2, 1.x, >=1.0 <2, 1.2 - 1.4 || 2) to see what it means in plain comparators and words, and which of your versions it matches, pre-releases included. - [Test File Generator](https://toolbox.thoughtasylum.com/test-file/): Make a file of an exact size, or a set of files that add up to a total, filled with zeros, random bytes or repeated text. For testing uploads, size limits and storage. - [Folder Tree](https://toolbox.thoughtasylum.com/folder-tree/): Draw a folder's files and subfolders as a tree, like the tree command, in Unicode or ASCII lines, a Markdown list or indented text. Choose or drop a folder, or paste a list of paths. ## Documents [All Documents tools](https://toolbox.thoughtasylum.com/tools/documents/): Free document tools: read and clean PDF and Office metadata, rearrange PDF pages, extract PDF images, check EPUBs and make one from Markdown. - [Office Metadata Cleaner](https://toolbox.thoughtasylum.com/office-meta/): See what a Word, Excel or PowerPoint file says about the people and history behind it (authors, company, tracked changes, comments, hidden sheets and slides, notes, macros, photo locations) and save a copy without the personal details. - [PDF Pages](https://toolbox.thoughtasylum.com/pdf/): Combine PDFs, pick out, delete or reorder pages, rotate them, split a PDF into one file a page, or put pages two or four to a sheet or in booklet order for folding, without uploading anything. - [PDF Info & Clean](https://toolbox.thoughtasylum.com/pdf-info/): See what a PDF holds besides its pages (author and app names, XMP history, earlier versions, attached files, scripts, comment authors, form fields, signatures), which fonts it uses and whether they are embedded, and save a copy without the hidden extras. - [PDF Images](https://toolbox.thoughtasylum.com/pdf-images/): Pull every picture out of a PDF at its full size, JPEGs as they are and the rest as PNGs with their transparency; turn its pages into pictures; make it smaller by shrinking its pictures; or put pictures, or photos taken with the camera, together into a PDF, a page each. - [EPUB Checker](https://toolbox.thoughtasylum.com/epub/): Open an EPUB to see its title, author, cover and table of contents, and check it for the mistakes that make stores and readers reject it: the mimetype file, missing or unlisted files, broken links, bad XHTML, missing metadata and accessibility gaps. - [Markdown to EPUB](https://toolbox.thoughtasylum.com/md-epub/): Turn Markdown into an EPUB ebook: chapters from its headings, a table of contents, a cover, the pictures it uses, and the metadata and accessibility details stores ask for. - [PDF Stamp](https://toolbox.thoughtasylum.com/pdf-stamp/): Put page numbers on a PDF, and add a text or picture watermark to all its pages or just some of them, without uploading anything. - [PDF Text](https://toolbox.thoughtasylum.com/pdf-text/): Pull the text out of a PDF as plain text or Markdown, with paragraphs put back together and larger lines turned into headings, and save or copy it, without uploading anything. - [Compare PDF](https://toolbox.thoughtasylum.com/pdf-compare/): Compare the text of two PDFs page by page: changed words, paragraphs that moved, and pages added or removed. Nothing is uploaded. - [Repair PDF](https://toolbox.thoughtasylum.com/pdf-repair/): Try to get a damaged PDF that won't open to open again: rebuild its structure, or, failing that, make a new PDF from pictures of its pages. Nothing is uploaded. - [Fill PDF Forms](https://toolbox.thoughtasylum.com/pdf-form/): Fill in the text boxes, check boxes, radio buttons and drop-downs of a fillable PDF form, then save it, optionally with the answers flattened into the page. Nothing is uploaded. - [Sign PDF](https://toolbox.thoughtasylum.com/sign-pdf/): Draw your signature, type it in a handwriting font or open a picture of it, drag it to the right place on a page of a PDF, add the date if you want, and save the signed copy, without uploading anything. - [Printable Paper](https://toolbox.thoughtasylum.com/paper/): Make printable paper to your own measurements: lined, squared, dot grid, isometric, hexagons, music staves, Cornell notes, handwriting lines or a yellow legal pad, in paper sizes or the pixel size of an e-ink tablet, saved as a PDF, SVG or PNG. - [Invoice Maker](https://toolbox.thoughtasylum.com/invoice/): Fill in who the invoice is from and to, its lines (quantity, unit price and tax rate), a currency, notes and a logo, check the totals for each tax rate, and save a PDF. Save the invoice as a file to carry on with later. - [Protect / Unlock PDF](https://toolbox.thoughtasylum.com/pdf-lock/): Put an open password on a PDF with AES-256 encryption and choose what a reader may do (print, copy, edit, comment), or take the password off a PDF you can open, using qpdf running in your browser. ## E-learning [All E-learning tools](https://toolbox.thoughtasylum.com/tools/e-learning/): Free e-learning tools: inspect and play SCORM and AICC packages, wrap links for an LMS, decode suspend data, validate xAPI statements and check captions. - [Package Inspector](https://toolbox.thoughtasylum.com/package/): Open a SCORM, cmi5 or AICC package (ZIP) to see its course structure and files, and check it for the mistakes that stop an LMS importing or playing it. - [Connector Checker](https://toolbox.thoughtasylum.com/connectors/): Check a SuccessFactors Learning connector data file against the connector's fields, before the connector rejects it; convert spreadsheet rows to connector format; and look up error codes from a connector log. - [Caption Checker](https://toolbox.thoughtasylum.com/captions/): Check a subtitle or caption file (SRT or WebVTT) for timing mistakes, overlaps, text that is too fast or too long to read; convert between SRT and WebVTT; and shift or stretch all the times. - [Package Player](https://toolbox.thoughtasylum.com/player/): Run a SCORM package in your browser against a test LMS that logs every API call, checks each value against the SCORM data model, and lets you change the stored values and relaunch to test resuming. It can also check each page for accessibility problems. - [xAPI Statement Validator](https://toolbox.thoughtasylum.com/xapi/): Check xAPI (Tin Can) statements for missing or malformed parts: actor, verb, object, result, context and attachments. An option adds the extra rules cmi5 sets. - [SCORM Wrapper](https://toolbox.thoughtasylum.com/scorm-wrap/): Turn one or more files (PDFs, videos, audio, images or web pages) into a SCORM 1.2 package an LMS can track. The learner pages through them in order, and it reports completion when they reach the last one, or when they press a button on a closing page such as “Confirm read and understood”. - [AICC Wrapper](https://toolbox.thoughtasylum.com/aicc-wrap/): Build a small AICC wrapper that opens a web page or document kept outside the LMS, so it's always the latest version, and reports completion to the LMS: straight away, or when the learner opens it and presses a confirm button. Made for SuccessFactors Learning's AICC launch method, with course files for other LMSs. - [Suspend Data Decoder](https://toolbox.thoughtasylum.com/suspend/): Paste a learner's suspend_data (the progress a SCORM course saves in the LMS) to see what's in it, decoded from LZ-String, Base64, URL-encoding or JSON, and how close it is to each SCORM version's size limit. - [LMS Settings Checker](https://toolbox.thoughtasylum.com/lms-settings/): Paste SuccessFactors Learning label or settings text (key=value lines) to see it highlighted and checked for duplicate keys, broken lines, unpaired quotes and unclosed {placeholders}. Compare two languages' files for missing keys and placeholders that differ, and sort the keys. - [Custom Card Link Builder](https://toolbox.thoughtasylum.com/custom-card/): Build the JavaScript URL for a SuccessFactors Learning custom card that opens the right link in every environment, using the redirector.js script from the ThoughtAsylum blog, so copying production back to test no longer means editing every card. Then test where it goes from each Learning site. ## Email [All Email tools](https://toolbox.thoughtasylum.com/tools/email/): Free email tools: analyse message headers, check SPF, DKIM and DMARC records, open .eml files, build mailto links and make calendar invites. - [Email Header Analyser](https://toolbox.thoughtasylum.com/email-headers/): Paste an email's headers to see who really sent it, the servers it passed through and how long each took, and whether it passed SPF, DKIM and DMARC, with anything that looks like spoofing or phishing pointed out. - [Email File Viewer](https://toolbox.thoughtasylum.com/eml/): Open a saved email (.eml, or Outlook's .msg) to read it, with pictures from the web blocked so the sender can't tell you opened it, save its attachments, and check its links for text that shows one site but goes to another. - [SPF, DKIM & DMARC Checker](https://toolbox.thoughtasylum.com/email-dns/): Paste a domain's SPF, DKIM or DMARC record to have each part explained and mistakes pointed out: too many lookups, a weak ending, a missing policy, short keys. Give the domain to get the commands that look the records up. - [mailto Link Builder](https://toolbox.thoughtasylum.com/mailto/): Make a mailto: link that opens a new email with the address, subject, body, cc and bcc filled in, correctly encoded, as a link, HTML or Markdown; or paste a link to read and change it. - [Calendar Invite](https://toolbox.thoughtasylum.com/calendar/): Open a calendar invitation (.ics) to see when it really is, in its own time zone and yours, who’s invited and how they’ve replied, how it repeats, and anything wrong with it. Or make an .ics file for an event, and Google Calendar and Outlook links, for people to add it to their calendars. - [vCard Viewer & Converter](https://toolbox.thoughtasylum.com/vcard/): Open contacts saved as vCard (.vcf) files, from phones, Outlook, Google or Apple Contacts, see who's in them, and save them as one file, a file per contact, or a CSV spreadsheet. Reads vCard 2.1, 3.0 and 4.0 and writes 3.0 or 4.0, and turns a contacts CSV into vCards. ## Encoding [All Encoding tools](https://toolbox.thoughtasylum.com/tools/encoding/): Free encoding tools: Base64, URL encoding, string escaping, JWT and SAML decoding, gzip, Morse code, and Identify for unknown text. Nothing uploaded. - [Identify](https://toolbox.thoughtasylum.com/identify/): Paste something you don't recognise, such as a token, a hash, an encoded string or a cipher, and get a list of what it probably is, with the reason and a link to the tool that handles it. - [Text ⇄ Base64](https://toolbox.thoughtasylum.com/text-base64/): Encode text (as UTF-8) or any file to Base64, optionally URL-safe, or decode it back; also Base32, Base58, Ascii85, Base45, Base100 and big integers. - [Image → Base64](https://toolbox.thoughtasylum.com/image-base64/): Choose an image to get its Base64, with or without the data: prefix. - [Base64 → Image](https://toolbox.thoughtasylum.com/base64-image/): Paste Base64 to see the image and download it. - [URL Encode / Decode](https://toolbox.thoughtasylum.com/url/): Percent-encode or decode at either of JavaScript's two levels. Typical (encodeURI) keeps a URL's structure (: / ? # & = and so on) and suits a whole URL; Aggressive (encodeURIComponent) encodes all but letters, digits and - _ . ! ~ * ' ( ), and suits one query value or path segment. - [JWT Decoder & Encoder](https://toolbox.thoughtasylum.com/jwt/): A token's header and payload, with its times in local time and its lifetime. Check its signature with a secret, a public key or a JWK set, make and sign a new token, or convert keys between JWK and PEM. - [URL Inspector](https://toolbox.thoughtasylum.com/url-parts/): Splits a URL, including app URL schemes and x-callback-url, into its parts and an editable list of query parameters, and rebuilds it with every parameter percent-encoded. Builds UTM campaign links for tracking. Unwraps Outlook Safe Links, Proofpoint and redirect links, and defangs or refangs links for security reports. - [String Escaper](https://toolbox.thoughtasylum.com/escape/): Escape or unescape text as a JSON or JavaScript string, a single-quoted shell (zsh, bash) string, an AppleScript string, HTML or XML text, or a regular expression that matches it literally. - [Morse Code](https://toolbox.thoughtasylum.com/morse/): Text to Morse and back as you type, with a player that sounds the code and lights each letter in turn, and a decoder for Morse in a sound file or heard through the microphone. - [Compress / Decompress](https://toolbox.thoughtasylum.com/compress/): Compress or decompress text, Base64, hex or a file with gzip, zlib or raw deflate, using the browser's own compression. - [Binary Data Decoder](https://toolbox.thoughtasylum.com/binary-data/): Paste hex or Base64, or choose a file, and see Protobuf, CBOR or MessagePack data decoded without a schema: Protobuf as protoc --decode_raw shows it, CBOR and MessagePack in CBOR’s diagnostic notation, or any of them as JSON. - [SAML Decoder](https://toolbox.thoughtasylum.com/saml/): Decode a SAML message, the sign-on data passed between an identity provider and a service, and see what matters when single sign-on fails: issuer, audience, NameID, attributes, validity times against your clock, status and signature algorithms. - [ZIP Viewer & Maker](https://toolbox.thoughtasylum.com/zip/): Open a ZIP to see its files as a tree with sizes, dates and compression, look at text and pictures inside, and save one file or all of them. Or make a ZIP from files or a folder. ## Everyday [All Everyday tools](https://toolbox.thoughtasylum.com/tools/everyday/): Free everyday tools: a big-number calculator, date differences and working days, unit conversions and a world clock for meetings across time zones. - [Calculator](https://toolbox.thoughtasylum.com/calculator/): Work out expressions line by line, with exact whole numbers of any size (powers, modular inverse and power, GCD, primes and factors) or ordinary decimals with maths functions. - [Unit Converter](https://toolbox.thoughtasylum.com/units/): Type a value in one unit and see it in every other unit of its kind: data size (decimal and binary), data rate, time, length, mass, temperature, area, volume, speed, angle, pressure and energy; how long a file takes to transfer at a given speed; and percentages between two numbers. - [Date Calculator](https://toolbox.thoughtasylum.com/dates/): The days, weeks, months and business days between two dates (also as exact years, months and days, such as an age), a date plus or minus a number of days, weeks, months, years or business days, the day of the year and days left for a date, and every ISO week of a year with its Monday and Sunday. - [World Clock](https://toolbox.thoughtasylum.com/world-clock/): Places side by side with the hours of the day lined up, so you can pick a meeting time that suits everyone, with working hours shaded and daylight saving handled for the date you choose. Copy the chosen time as text or a picture for an email, or add it to a calendar. - [Break Timer](https://toolbox.thoughtasylum.com/break-timer/): A big countdown for breaks in workshops and meetings, showing when everyone is due back and growing more urgent as the time runs out, then counting how late it is. Also an interval timer for training rounds, and a stopwatch. - [Keep Awake](https://toolbox.thoughtasylum.com/keep-awake/): Stop this device's screen dimming, sleeping or locking while this page is open, for as long as you need or for a set time. Handy for presenting, following a recipe or watching a dashboard. - [Aspect Ratio](https://toolbox.thoughtasylum.com/aspect-ratio/): Find the aspect ratio of a width and height (reduced, with the nearest common ratio such as 16:9 or 4:3), work out the missing side from a ratio and one side, and see the sizes at common widths. - [Loan Calculator](https://toolbox.thoughtasylum.com/loan/): Work out the regular payment, total interest and a payment-by-payment amortisation table for a loan, with an optional extra payment to see how much sooner it ends and how much interest it saves. - [Bingo Cards](https://toolbox.thoughtasylum.com/bingo/): Make printable bingo cards: 75-ball (5 × 5 with a free centre), UK 90-ball tickets, or cards from your own words. A caller draws numbers or words at random without repeats. - [Lunar Phases](https://toolbox.thoughtasylum.com/moon/): See the Moon's phase, how much of it is lit and its age for any date and time, with the next new and full moons, and a list of every new, quarter and full moon in a month. - [Sun Times](https://toolbox.thoughtasylum.com/sun/): Sunrise, sunset, solar noon, dawn and dusk (civil, nautical and astronomical twilight) and golden hour for a city or any latitude and longitude on a date, with the day’s length and sunrise and sunset on the first of every month. - [Periodic Table](https://toolbox.thoughtasylum.com/periodic-table/): A periodic table you can search and move around with the keyboard, coloured by category, block or a property such as density, with each element's facts, and a molar mass calculator for formulas such as H2SO4 and CuSO4·5H2O. ## Fonts [All Fonts tools](https://toolbox.thoughtasylum.com/tools/fonts/): Free font tools: inspect TTF, OTF and WOFF files, convert between font formats, build a type scale and match fallback fonts to cut layout shift. - [Font Inspector](https://toolbox.thoughtasylum.com/font-inspector/): Open a font file to try it without installing it: type your own text, change its size, variable axes and OpenType features, and see its names, licence, embedding rights, metrics, every character it has and how much of each alphabet it covers. - [Font Converter](https://toolbox.thoughtasylum.com/font-converter/): Turn a web font (WOFF or WOFF2) into a TTF or OTF you can install, or a TTF or OTF into WOFF2 or WOFF for a website, and get the @font-face CSS for it, with the font in a file beside the CSS or built into it. - [Type Scale](https://toolbox.thoughtasylum.com/type-scale/): Font sizes for headings and text that grow by a steady ratio from a base size, shown in a sample and written as CSS custom properties in rem, or as fluid clamp() sizes that grow with the screen. Also converts CSS units (px, rem, em, pt, vw, vh) and builds a clamp() from two sizes. - [Fallback Font Matcher](https://toolbox.thoughtasylum.com/font-fallback/): Make a fallback font take the same space as your web font, so text doesn't jump when the web font loads: measures both and writes the @font-face rule with size-adjust and the ascent, descent and line gap overrides. ## Images [All Images tools](https://toolbox.thoughtasylum.com/tools/images/): Free image tools: convert and resize, make QR codes and barcodes, read text with OCR, see or strip photo metadata and blur faces. Nothing is uploaded. - [Image Convert / Resize](https://toolbox.thoughtasylum.com/image/): Save an image, from a file or a web address, as JPEG, PNG, WebP or GIF, at a chosen size and quality, cropped, rotated or flipped if you like. - [Image Compressor](https://toolbox.thoughtasylum.com/image-compressor/): Make PNG, JPEG, WebP and AVIF files smaller while they still look the same, by trying many ways of compressing each one and keeping the smallest that meets the quality you choose. - [SVG Preview & Export](https://toolbox.thoughtasylum.com/svg/): Paste SVG code (syntax-highlighted) or choose a .svg file to see it on a checkerboard, white, black or page background, with its size from width/height or the viewBox. - [Colour Converter](https://toolbox.thoughtasylum.com/colour/): Pick a colour from a saturation and brightness square with hue and opacity sliders, the system colour picker, the screen (in Chrome and Edge), or any CSS colour typed in (#hex, rgb(), hsl(), oklch(), names). It also finds the nearest Tailwind CSS colour and writes the shades as a Tailwind v4 theme. - [Photo Metadata](https://toolbox.thoughtasylum.com/exif/): See the hidden data in a photo (camera, settings, date, GPS location, XMP, C2PA content credentials) and save a copy without it, the picture itself unchanged. - [Image Palette](https://toolbox.thoughtasylum.com/palette/): Find the main colours in a photo, logo or screenshot, with how much of the picture each covers, as hex codes and CSS variables. - [Photo Censor](https://toolbox.thoughtasylum.com/censor/): Draw boxes over faces, number plates, names or numbers in a picture, screenshot or PDF and pixelate, blur or black them out before you share it; a PDF is saved as pictures of its pages, so hidden text is really gone. - [Image to Text (OCR)](https://toolbox.thoughtasylum.com/ocr/): Copy the text out of a screenshot, photo, scan or scanned PDF with optical character recognition (Tesseract) in English and 26 other languages, run in your browser, so nothing is uploaded. - [QR Code](https://toolbox.thoughtasylum.com/qr/): Make a QR code for text, a URL, a Wi-Fi network or a contact card, with a PNG download, or read one from an image. - [Barcodes](https://toolbox.thoughtasylum.com/barcode/): Make Code 128, EAN-13, UPC-A, EAN-8 and Code 39 barcodes as SVG or PNG, with check digits worked out; read barcodes from a picture where the browser can. - [Animated GIF Maker](https://toolbox.thoughtasylum.com/gif/): Turn still images into an animated GIF: set their order, how long each one shows, and whether it loops. - [GIF Frame Extractor](https://toolbox.thoughtasylum.com/gif-frames/): Split an animated GIF into its frames, with each frame's delay, and save them as PNG images. - [Image Compare](https://toolbox.thoughtasylum.com/image-compare/): Compare two pictures or screenshots with a slider, an onion-skin fade, side by side, or as a difference map that marks every changed pixel and the area they're in. - [Dither & Duotone](https://toolbox.thoughtasylum.com/dither/): Turn a picture into a few colours with Floyd–Steinberg, Atkinson, Stucki or ordered (Bayer) dithering, in black and white, a retro palette, its own main colours or yours, with chunky pixels if you like; or make a two-colour duotone. - [Image to ASCII](https://toolbox.thoughtasylum.com/ascii-art/): Turn a picture into ASCII art made of text characters: choose how many characters wide, the set of characters, invert it for a dark background, and copy the text or colour HTML, or save it as a PNG. - [Watermark Image](https://toolbox.thoughtasylum.com/watermark/): Stamp text or a logo on one picture or many: choose its size, opacity, colour and angle, put it in a corner, the middle or tile it across the picture, and save the results as a ZIP. - [Photo Collage](https://toolbox.thoughtasylum.com/collage/): Combine two to nine pictures into one image in a grid, rows, columns or one big picture with small ones beside it, with the gap, rounded corners, background colour and size you choose. - [Screenshot Frame](https://toolbox.thoughtasylum.com/screenshot-frame/): Make a screenshot look finished: add padding, a colour, gradient or blurred background, rounded corners and a shadow, and put it in a plain browser window or phone frame. - [LIVP Live Photo Opener](https://toolbox.thoughtasylum.com/livp/): Open a .livp file, the way iCloud for Windows saves an iPhone Live Photo, to see the still picture and the short video inside and save each as its own file. - [Image to SVG](https://toolbox.thoughtasylum.com/image-svg/): Trace a PNG, JPEG or other picture into a scalable SVG made of coloured shapes: choose how many colours, how closely the curves follow the edges and how small a shape to keep. - [Signature Maker](https://toolbox.thoughtasylum.com/signature/): Draw your signature with a mouse, pen or finger, or type it in a handwriting font, and save it cropped to its ink with a clear background, as a PNG or, when drawn, as an SVG made of paths. ## Mac [All Mac tools](https://toolbox.thoughtasylum.com/tools/mac/): Free Mac tools: build launchd jobs, read configuration profiles and .DS_Store files, make .icns icons and look up keyboard symbols. Nothing uploaded. - [launchd Job Builder](https://toolbox.thoughtasylum.com/launchd/): Fill in a form to make a launchd job: a LaunchAgent or LaunchDaemon property list that runs a program at login, on a schedule (cron expressions welcome), every few seconds or when a file changes. Common mistakes are pointed out, and you get the launchctl commands to load, run and remove it. - [Configuration Profile Viewer](https://toolbox.thoughtasylum.com/mobileconfig/): See what a .mobileconfig profile would do before you install it: every payload in plain words, who signed it and whether the signature checks out, and warnings for the risky parts, such as root certificates, device management, privacy permissions, proxies and DNS. - [Mac Icon Maker](https://toolbox.thoughtasylum.com/icns/): Turn a picture into a Mac .icns icon, with every size from 16 to 1024 pixels, as it is or in the rounded-square app icon shape. You can also save the sizes as an .iconset folder for iconutil, or open an .icns to see and save the pictures inside it. - [Mac Keyboard Symbols](https://toolbox.thoughtasylum.com/mac-keys/): Write a keyboard shortcut any way (Cmd+Shift+4, ⇧⌘4, Shift-Command-4, or a Windows one such as Ctrl+Alt+Del) and get it in Apple's symbols and words, the usual Windows equivalent, the codes for App Shortcuts and AppleScript, and HTML. Or press the shortcut to record it. - [.DS_Store Viewer](https://toolbox.thoughtasylum.com/ds-store/): Open a .DS_Store file, the hidden file Finder leaves in folders, and see what it records: the names of the files and folders it has seen (including ones since deleted), icon positions, comments, sizes, dates, view settings and where things in the Trash came from. - [Web Link Files](https://toolbox.thoughtasylum.com/webloc/): Open a link file to see the address inside (Mac .webloc, .inetloc and .fileloc, Windows .url and Linux .desktop), or make one from an address, in any of those kinds. - [Mach-O Inspector](https://toolbox.thoughtasylum.com/macho/): Drop a Mac or iOS program, library or zipped app to see the architectures it’s built for, the minimum OS and SDK, the libraries it links, its entitlements and who signed it, with its team ID and hardened runtime. ## Maps [All Maps tools](https://toolbox.thoughtasylum.com/tools/maps/): Free map tools: convert coordinates between lat/long, UTM and OS grid, measure distance and bearing, view GPX tracks and geotag photos. - [Coordinate Converter](https://toolbox.thoughtasylum.com/coords/): Type a position in any common form, such as decimal degrees, degrees and minutes, a UTM, MGRS or Ordnance Survey grid reference, a Plus Code, a geohash, a Maidenhead locator or a map link, and get it in all the others. - [Distance & Bearing](https://toolbox.thoughtasylum.com/distance/): The distance between two positions, the bearing from one to the other and the point halfway, measured on the Earth's true shape, and the waypoint a given distance and bearing from a position, as geocaches ask you to project. - [Geocache Formulas](https://toolbox.thoughtasylum.com/geocache-formula/): Fill in a geocache's coordinate formula, such as N 51° 2A.B(C+1)D, from the letters' values: brackets are worked out, the result is read as a position, and you get its digit sum for checkers. - [GPS Track Viewer](https://toolbox.thoughtasylum.com/tracks/): Open a GPX, KML or GeoJSON file to see its tracks drawn, with each one's distance, climb and time, then save it as GPX, KML, GeoJSON or CSV, if you like without times, heights or the part near where it starts and ends. - [Photo Geotagger](https://toolbox.thoughtasylum.com/geotagger/): Give photos from a camera without GPS their locations from a track your phone or watch recorded at the same time: each photo's time is matched to the track, and its location written into the JPEG without changing the picture. Or save the locations as CSV, GPX or KML. ## Security [All Security tools](https://toolbox.thoughtasylum.com/tools/security/): Free security tools: generate passwords, hashes and SSH keys, decode and make certificates, encrypt files and split secrets. Nothing is uploaded. - [SSH Key Generator](https://toolbox.thoughtasylum.com/ssh-keygen/): Make a new SSH key pair in your browser: Ed25519, ECDSA or RSA, in the same files ssh-keygen writes, with its fingerprint and the commands to install it. The key never leaves the page. - [Certificate Maker](https://toolbox.thoughtasylum.com/cert-maker/): Make a certificate signing request (CSR) to send to a certificate authority, and a self-signed certificate for testing, with a new private key or one you already have. Host names, IP addresses and email addresses go in as alternative names. - [Certificate Decoder](https://toolbox.thoughtasylum.com/cert/): Paste a PEM certificate, or a chain of them, or choose a .pem, .crt, .cer or .der file, to see its subject, issuer, validity dates (flagging expired ones), alternative names, key type and size, key usage, serial number and SHA-256 and SHA-1 fingerprints, with a check that a chain links up, and whether a private key belongs with it. Also reads certificate signing requests (CSRs) and SSH public keys. - [What Your Browser Reveals](https://toolbox.thoughtasylum.com/browser-reveals/): Everything a web page can read about you without asking: browser, languages, time zone, screen, graphics chip, installed fonts, settings, permissions, and the fingerprint they add up to. Read here and shown to you only. - [Lookalike Characters](https://toolbox.thoughtasylum.com/lookalikes/): Paste a link, domain, user name or text to find letters from other alphabets that pass for Latin ones (the Cyrillic а in pаypal), words that mix alphabets, invisible and text-direction characters, and see the punycode an address really uses. - [PGP Key Viewer](https://toolbox.thoughtasylum.com/pgp/): Paste or open an OpenPGP key, signature or message (GnuPG, Proton, OpenKeychain) to see its fingerprint, user IDs, algorithm, expiry, subkeys and uses, who made a signature and when, who a message is encrypted to, and problems such as weak or expired keys. - [Hash / Checksum](https://toolbox.thoughtasylum.com/hash/): MD5, SHA-1, SHA-2, SHA-3, BLAKE2, BLAKE3, RIPEMD-160, CRC-32 and Adler-32 of text or a file, HMACs with a key, and a check of a published hash that also says what kind of hash it is. - [Bcrypt](https://toolbox.thoughtasylum.com/bcrypt/): Hash a password with bcrypt, PBKDF2, scrypt or NTLM, and check a password against a hash whose format it recognises, with the hash's cost and salt shown. - [Encrypt / Decrypt](https://toolbox.thoughtasylum.com/encrypt/): Lock text or a file with a password using AES-256, in the same format as the openssl command, so either can open what the other makes. - [Secret Splitter](https://toolbox.thoughtasylum.com/secret-split/): Split a secret into shares so that any chosen number of them recovers it and fewer reveal nothing, then combine shares back into the secret. - [Password Generator](https://toolbox.thoughtasylum.com/password/): Strong passwords, XKCD-style passphrases of random words, PINs, API keys, hex and URL-safe tokens and slug IDs, with GRC's Password Haystack figures for how long a brute-force search would take, and a check of any password for common words and patterns. - [TOTP / HOTP Codes](https://toolbox.thoughtasylum.com/totp/): The current one-time code from an authenticator secret or otpauth:// link, the codes either side, a QR code to add it to an authenticator app, and a check of a code. ## Text [All Text tools](https://toolbox.thoughtasylum.com/tools/text/): Free text tools: clean up copied text, change case, sort and compare lists, count words, fix mojibake and convert Markdown. Nothing is uploaded. - [Text Cleaner](https://toolbox.thoughtasylum.com/clean/): Build a recipe of clean-up steps and run them in order: trim and collapse spaces, remove blank, duplicate or matching lines or every Nth line, unwrap PDF text, sort, change case, find and replace, and strip HTML, Markdown or AsciiDoc; wrap, pad or number lines, or pad the numbers they start with to a set number of digits; and pull out email addresses, URLs, IP addresses or hashes. Save recipes, export them or share them as a link. - [Line Filter](https://toolbox.thoughtasylum.com/line-filter/): Keep or remove the lines of a log or text file that start with, end with, contain or exactly match some text or a regular expression, or that don't. Rules are checked in order and the first that matches a line decides it. Add context lines and line numbers as grep does, then copy or save the result. It works on plain lines; for a log's levels, times and multi-line entries such as stack traces, use the Log Viewer. - [Markdown & HTML Preview](https://toolbox.thoughtasylum.com/preview/): Type or paste Markdown (GitHub-flavoured: tables, task lists, strikethrough) or HTML and see it rendered below. - [Markdown Format](https://toolbox.thoughtasylum.com/md-format/): Tidy Markdown and check it for problems as you type. Headings, blank lines, bullets, italic and bold markers and tables are made consistent without changing how it renders, broken links and other mistakes are listed by line, and a table of contents is made from the headings. - [Markdown Table](https://toolbox.thoughtasylum.com/md-table/): Turn a Markdown table, CSV, rows pasted from a spreadsheet, or a JSON array into a Markdown table, with the columns lined up and any alignment kept. - [Character Inspector](https://toolbox.thoughtasylum.com/chars/): Each character's code point, UTF-8 bytes and type, with counts of characters, code points and bytes; spaces, tabs and invisible characters shown; normalise to NFC, NFD, NFKC or NFKD, and compare two strings; repair garbled text (café), see text read in other encodings, and convert domain names to and from Punycode. - [Case & Style](https://toolbox.thoughtasylum.com/case/): Every version of the text at once, each with a Copy button: upper, lower, sentence, capitalised and smart title case, swapped and alternating case; camelCase, PascalCase, snake_case, kebab-case and other code styles; spaces in file names to dashes or underscores and back; diacritics, punctuation, symbols, emoji or numbers removed, plain ASCII, smart or straight quotes, lines joined and text reversed; and Unicode styles such as bubble letters, bold, italic, script, Fraktur, double-struck, monospace, full width, small caps, upside down, strikethrough and Zalgo, plus leetspeak, ROT13, Pig Latin, numeronyms (i18n), Braille and the NATO alphabet. - [Phonetic Spelling](https://toolbox.thoughtasylum.com/phonetic/): Spell text out in the NATO alphabet (or the German DIN 5009, Western Union or LAPD alphabets), with capitals, digits and every symbol named, to read a password or code over the phone; type back what you heard to check it, or have it read aloud. - [Sort Lines](https://toolbox.thoughtasylum.com/sort/): Sort lines, comma-separated items or words A–Z, Z–A, naturally (item 2 before item 10), by last word, by character code, by number (also by absolute value), by length or word count, by date, reversed or shuffled. - [Frequency Analysis](https://toolbox.thoughtasylum.com/freq/): How often each word, word pair, character, letter or letter pair appears, with counts, percentages and bars, optionally skipping common words, with the index of coincidence, chi-squared and entropy for breaking ciphers. - [Text Statistics](https://toolbox.thoughtasylum.com/stats/): Words, characters, sentences, paragraphs, syllables and more; averages per word, sentence and paragraph; reading, speaking, typing and handwriting times; reading age and five readability scores (Flesch–Kincaid, Gunning fog, SMOG, Coleman–Liau, ARI); and curiosities such as the longest word, most used word, vocabulary variety, adverbs, whether it's a pangram, and how many posts or text messages it would take. - [Encoding Fixer](https://toolbox.thoughtasylum.com/encoding/): Repair text that was read in the wrong encoding (“café” for “café”, “’” for “’”), convert a Windows-1252, Latin-1 or UTF-16 file to UTF-8, with or without a byte order mark, and make its line endings all the same. - [List Compare](https://toolbox.thoughtasylum.com/list-compare/): Two lists in, and out come the items only in the first, only in the second, in both, and in either, each counted once, with counts. - [Numerals](https://toolbox.thoughtasylum.com/numerals/): A number as Roman numerals, in English words (British and American), and in Mayan, Babylonian and other scripts' digits; or a Roman numeral or number in words back to the number. - [Random Picker](https://toolbox.thoughtasylum.com/random/): Pick names from a list (and watch a wheel spin to the winner), shuffle it, split it into groups, choose random numbers, roll dice in 2d6+3 notation or flip coins, fairly, with your browser's secure random numbers. - [Anagram Solver](https://toolbox.thoughtasylum.com/anagram/): Rearrange jumbled letters, a name or a phrase into other words and phrases that use every letter, and list every word the letters can make. - [Crossword Helper](https://toolbox.thoughtasylum.com/crossword/): Type the letters you know and a ? for each one you don't, and see every word that fits; or find words starting with, ending with or containing letters, matching a regular expression, or fitting your Wordle clues. - [Markup Converter](https://toolbox.thoughtasylum.com/markup/): Convert between HTML, Markdown, AsciiDoc and plain text in any direction, as you type, or open a Word document (.docx) to convert it. - [Redact for AI](https://toolbox.thoughtasylum.com/redact/): Swap API keys, tokens, passwords, email and IP addresses, and names you list, for numbered placeholders before pasting text into an AI chat, then put the originals back into its reply. - [Link Formatter](https://toolbox.thoughtasylum.com/link-format/): Turn web addresses, with or without titles, into links for Markdown, HTML, BBCode, Org mode, AsciiDoc, MediaWiki, reStructuredText, Textile or Slack, or copy them as clickable rich text. Paste one link or a whole list, in any of those forms. ## Video [All Video tools](https://toolbox.thoughtasylum.com/tools/video/): Free video tools: trim and compress MP4 and MOV files, record your screen, grab still frames and read video details. Nothing is uploaded. - [Video Info](https://toolbox.thoughtasylum.com/video-info/): Open a video to see what's inside: container, duration, bitrate, each track's codec and profile, resolution, frame rate, rotation, HDR, audio channels and language, plus the camera, recording date and GPS location a phone may have stored, which it can take out of an MP4 or MOV. - [Frame Grabber](https://toolbox.thoughtasylum.com/video-frames/): Step through a video frame by frame and save the one you want as a full-size PNG, make a contact sheet of evenly spaced frames, or turn a stretch of it into an animated GIF. - [Screen Recorder](https://toolbox.thoughtasylum.com/screen-recorder/): Record your screen, a window or a browser tab, with your microphone and the computer's sound if you like, then save it as a video or a GIF. It's recorded by your browser and never leaves your computer. - [Video Trimmer](https://toolbox.thoughtasylum.com/video-trimmer/): Cut a video down to the part you want, and take its sound out if you like. MP4 and MOV files are cut in moments without re-encoding, so nothing is lost; WebM and other videos the browser plays are recorded again. - [Video Compressor](https://toolbox.thoughtasylum.com/video-compressor/): Make an MP4 or MOV video small enough to email or upload: choose the size it must fit in, and the picture is re-encoded as H.264 at the bitrate and resolution that fits, with the sound kept as it is. - [Camera & Mic Test](https://toolbox.thoughtasylum.com/camera-mic/): Check your camera and microphone before a call: see the picture with its resolution and frame rate, watch the microphone's level, and record five seconds of your voice to hear it back. ## Web [All Web tools](https://toolbox.thoughtasylum.com/tools/web/): Free web tools: make favicons, preview social cards, check security headers and CSP, test robots.txt, build redirects and look up HTTP codes. - [Social Card Preview](https://toolbox.thoughtasylum.com/social-card/): Paste a page’s HTML to see how its link will look when shared on social sites and in chat apps, with missing or broken Open Graph and X card tags pointed out and a complete set to copy. - [Structured Data Viewer](https://toolbox.thoughtasylum.com/structured-data/): Paste a page’s HTML, or JSON-LD on its own, to see every schema.org item in it as a tree, from JSON-LD, microdata and RDFa, with missing properties that Google’s rich results need pointed out, and the lot as JSON-LD to copy. - [Favicon Generator](https://toolbox.thoughtasylum.com/favicon/): Turn one picture into every icon a website needs: favicon.ico, Apple touch icon, Android and app icons including a maskable one, the web app manifest and the tags to paste into your pages, saved together as a ZIP. - [Security Headers & CSP](https://toolbox.thoughtasylum.com/security-headers/): Paste a site’s response headers to have its security headers graded and explained, its Content Security Policy checked line by line, and its cookies’ flags checked. Build a new policy below. - [SRI & CSP Hashes](https://toolbox.thoughtasylum.com/sri/): Drop scripts and stylesheets to get their integrity attributes and the tags that load them, or paste HTML with inline scripts and styles to get the hashes a Content Security Policy needs to allow them. Paste an integrity value to check a file against it. - [robots.txt Tester](https://toolbox.thoughtasylum.com/robots/): Paste a robots.txt and test whether a crawler may fetch each address, with the rule that decides it. Mistakes are pointed out, and so are the crawlers, AI ones included, that are blocked from the whole site. - [Sitemap Inspector](https://toolbox.thoughtasylum.com/sitemap/): Open or paste a sitemap.xml or sitemap index to list its entries and find mistakes: missing or repeated addresses, other hosts, badly written dates and values, and size limits. Add an earlier version to see what was added, removed or changed. - [HTTP Codes & MIME Types](https://toolbox.thoughtasylum.com/http-codes/): Every HTTP status code with what it means, and the MIME type for common file extensions, searchable by number, name, word or extension. - [User Agent Parser](https://toolbox.thoughtasylum.com/user-agent/): Read a User-Agent string: the browser and version, its engine, the operating system and the kind of device, with this browser's own string and client hints. - [Redirect Map Builder](https://toolbox.thoughtasylum.com/redirects/): Turn a list of old and new addresses into redirect rules for Apache (.htaccess), nginx, Netlify or Cloudflare Pages, Vercel or Caddy, with duplicates, loops and chains found and chains pointed straight at their end. - [CSS Gradient](https://toolbox.thoughtasylum.com/css-gradient/): Make a linear, radial or conic gradient from colour stops you type, see it as you go, and copy the CSS. Repeating gradients and mixing colours in oklch are options. - [Box Shadow](https://toolbox.thoughtasylum.com/box-shadow/): Build a CSS box-shadow, or a text-shadow, from layers: offset, blur, spread, colour with transparency and inset. Add, remove and reorder layers, see the result and copy the CSS. - [Clip-path](https://toolbox.thoughtasylum.com/clip-path/): Cut an element to a shape with CSS clip-path. Start from a triangle, chevron, star, circle, ellipse or inset, drag the points on the preview or move them with the arrow keys, and copy the CSS. - [Easing Curve](https://toolbox.thoughtasylum.com/easing-curve/): Shape a CSS easing curve by dragging two handles, or choose a preset, bounce or steps, watch a ball move with it, and copy the cubic-bezier(), steps() or linear() value. - [Blob Shape](https://toolbox.thoughtasylum.com/blob/): Make a smooth, organic blob shape from a seed: the same seed always gives the same shape. Choose the number of points and how wobbly it is, then copy it as SVG or as a CSS clip-path.