{"$schema":"https://toolsly.tools/schemas/tools-catalog-v1.json","site":{"name":"MyAITools","url":"https://myaitools.net","tagline":"Developer & Data Tools — Encoders, JSON, Crypto, Regex & More","description":"A fast, free toolbox for developers and AI engineers: base64 & JWT, JSON formatting and conversion, hashing and HMAC, regex testing, code formatters, Mermaid diagrams and payment-data utilities. Everything runs in your browser — paste, transform, copy."},"generated":"2026-06-04T13:44:28.396Z","totalCount":137,"converterCount":11,"utilityCount":126,"categories":[{"id":"text","name":"Text & Encoding","description":"Encode, decode, format and transform text.","url":"https://myaitools.net/category/text","count":90},{"id":"dev","name":"Dev","description":"Code formatters, minifiers, beautifiers — HTML, CSS, JS, SQL, XML, YAML.","url":"https://myaitools.net/category/dev","count":25},{"id":"diagram","name":"Diagram","description":"Render diagrams from code — Mermaid → SVG, PNG, JPG, PDF.","url":"https://myaitools.net/category/diagram","count":4},{"id":"payment","name":"Payment & cards","description":"Card-industry utilities — Luhn checks, BIN lookup, EMV TLV decoding, PIN blocks, KCV, ISO 4217 / 3166 / MCC codes.","url":"https://myaitools.net/category/payment","count":18}],"notes":{"execution":"Tools currently execute client-side in the user's browser (no server upload). A remote MCP server and REST API are planned — when shipped, each tool entry will list its `invocation.api` endpoint.","attribution":"Please link back to https://myaitools.net when redistributing results or referencing the catalog.","caching":"Cache this catalog for up to 24 hours. New tools are added regularly."},"tools":[{"kind":"converter","slug":"barcode-generator","name":"Barcode Generator","description":"Generate a 1D barcode (CODE128, EAN-13, UPC-A, CODE39, ITF-14, MSI, codabar, pharmacode) as a downloadable PNG.","longDescription":"Build a 1D barcode from any text or numeric value and download it as a high-resolution PNG, ready for shipping labels, inventory tags, event tickets, retail SKUs, or product packaging. Supports CODE128 (the everyday workhorse — handles any ASCII), EAN-13 (retail), EAN-8, UPC-A (US retail), CODE39 (industrial / military), ITF-14 (cartons), MSI (warehouse), pharmacode (pharmaceutical), and codabar (libraries, blood banks). Customise bar width, height, foreground and background colours, and whether the value is printed underneath. Rendering happens entirely in your browser via JsBarcode — no upload.","category":"text","categoryName":"Text & Encoding","keywords":["barcode generator","code128 barcode generator","ean13 barcode generator","upc barcode generator","code39 barcode generator","barcode generator png","barcode generator free","barcode online","barcode maker","shipping label barcode","product barcode generator","isbn barcode generator","itf14 barcode generator","msi barcode generator","codabar generator","pharmacode generator","1d barcode online"],"url":"https://myaitools.net/barcode-generator","manifestUrl":"https://myaitools.net/barcode-generator/tool.json","runsOn":"client","multiple":false,"batch":false,"input":{"type":"file","extensions":[".txt"],"mimeTypes":["text/plain"]},"output":{"type":"file","extension":".png","mimeType":"image/png"},"options":[{"type":"text","key":"text","label":"Value to encode","defaultValue":"1234567890","placeholder":"Text or digits to encode"},{"type":"select","key":"format","label":"Format","defaultValue":"CODE128","choices":[{"value":"CODE128","label":"CODE128 (any ASCII) — most common"},{"value":"EAN13","label":"EAN-13 (13 digits, retail)"},{"value":"EAN8","label":"EAN-8 (8 digits)"},{"value":"UPC","label":"UPC-A (12 digits, US retail)"},{"value":"CODE39","label":"CODE39 (digits + uppercase + symbols)"},{"value":"ITF14","label":"ITF-14 (14 digits, cartons)"},{"value":"ITF","label":"ITF (interleaved 2-of-5)"},{"value":"MSI","label":"MSI (warehouse)"},{"value":"pharmacode","label":"Pharmacode (3-131070)"},{"value":"codabar","label":"Codabar (libraries, blood banks)"}]},{"type":"number","key":"width","label":"Bar width (px)","defaultValue":2,"min":1,"max":4,"step":1},{"type":"number","key":"height","label":"Bar height (px)","defaultValue":100,"min":30,"max":300,"step":5},{"type":"boolean","key":"displayValue","label":"Print value underneath","defaultValue":true},{"type":"text","key":"background","label":"Background color","defaultValue":"#ffffff","placeholder":"#ffffff"},{"type":"text","key":"lineColor","label":"Bar color","defaultValue":"#000000","placeholder":"#000000"}],"invocation":{"webUi":"https://myaitools.net/barcode-generator","api":null}},{"kind":"utility","slug":"base-converter","name":"Base Converter (2-36)","description":"Convert a number between any two bases from 2 to 36 — also shows the value in binary, octal, decimal and hex.","longDescription":"A general-purpose number-base converter that handles any radix from 2 (binary) up to 36 (digits 0-9 then letters a-z). Enter a value, the base it's currently in, and the target base. The tool also shows the value in the four standard bases (binary, octal, decimal, hex) for quick reference. Powered by BigInt so arbitrarily large numbers convert without precision loss. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["base converter","number base converter","radix converter","convert number base","base 2 to base 16","any base converter","base 36 converter","base n converter","arbitrary base converter","binary octal decimal hex","base converter online","base converter free","convert between bases"],"badge":"Converter","url":"https://myaitools.net/base-converter","manifestUrl":"https://myaitools.net/base-converter/tool.json","inputs":[{"type":"text","key":"value","label":"Value","placeholder":"ff","monospace":true},{"type":"number","key":"fromBase","label":"From base (2-36)","defaultValue":10,"min":2,"max":36,"step":1},{"type":"number","key":"toBase","label":"To base (2-36)","defaultValue":16,"min":2,"max":36,"step":1}],"outputs":[{"key":"result","label":"Result (in target base)"},{"key":"binary","label":"Binary (base 2)"},{"key":"octal","label":"Octal (base 8)"},{"key":"decimal","label":"Decimal (base 10)"},{"key":"hex","label":"Hex (base 16)"}],"invocation":{"webUi":"https://myaitools.net/base-converter","api":null}},{"kind":"utility","slug":"base32-decode","name":"Base32 Decode","description":"Decode RFC 4648 Base32 (A-Z, 2-7) back to UTF-8 text — case-insensitive, padding optional.","longDescription":"Paste a Base32 string and recover the original UTF-8 text. The decoder accepts the standard RFC 4648 alphabet (A-Z, 2-7), is case-insensitive, and tolerates missing or extra = padding. Invalid characters are reported clearly so you can fix the input. Useful for inspecting TOTP secrets, decoding Base32-encoded identifiers, or debugging anything that used base32-encode. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["base32 decode","base32 decoder","decode base32","base32 to text","base32 to string","rfc 4648 base32 decoder","base32 to utf8","base32 online","base32 free","convert base32 to text","totp secret decoder","base32 decoding tool","decode rfc4648"],"badge":"Decoder","url":"https://myaitools.net/base32-decode","manifestUrl":"https://myaitools.net/base32-decode/tool.json","inputs":[{"type":"text","key":"base32","label":"Base32","placeholder":"JBSWY3DPEBLW64TMMQQQ====","multiline":true,"monospace":true,"help":"Case-insensitive. Padding (=) is optional. Whitespace is stripped."}],"outputs":[{"key":"text","label":"Decoded text","multiline":true},{"key":"byteLength","label":"Decoded length (bytes)"}],"invocation":{"webUi":"https://myaitools.net/base32-decode","api":null}},{"kind":"utility","slug":"base32-encode","name":"Base32 Encode","description":"Encode UTF-8 text to RFC 4648 Base32 — alphabet A-Z and 2-7, with = padding. Useful for TOTP secrets and DNS-safe identifiers.","longDescription":"Convert any UTF-8 string into its Base32 representation using the standard RFC 4648 alphabet (A-Z, 2-7) with = padding. Base32 is widely used for TOTP / 2FA seeds (Google Authenticator, Authy), case-insensitive identifiers, and any context where you need a binary-safe encoding that avoids the I/1/O/0 confusion common in Base64. Encoding happens entirely in your browser — your text never leaves the page.","category":"text","categoryName":"Text & Encoding","keywords":["base32 encode","base32 encoder","text to base32","rfc 4648 base32","encode base32","string to base32","utf8 to base32","base32 online","base32 free","totp secret encoder","base32 converter","base32 encoding tool","convert text to base32"],"badge":"Encoder","url":"https://myaitools.net/base32-encode","manifestUrl":"https://myaitools.net/base32-encode/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Hello, world!","multiline":true,"monospace":true,"help":"Encoded as UTF-8 before Base32. Runs locally in your browser."}],"outputs":[{"key":"base32","label":"Base32","multiline":true},{"key":"length","label":"Output length (chars)"},{"key":"byteLength","label":"Input length (bytes)"}],"invocation":{"webUi":"https://myaitools.net/base32-encode","api":null}},{"kind":"utility","slug":"base64-decode","name":"Base64 Decode","description":"Decode Base64 or URL-safe Base64 strings back to UTF-8 text — runs locally in your browser.","longDescription":"Paste any Base64 or Base64URL string (with or without padding, using either +/ or -_) and get the original UTF-8 text. Whitespace is ignored. Decoding runs entirely in your browser — your data never leaves the page.","category":"text","categoryName":"Text & Encoding","keywords":["base64 decode","base64 decoder","base64 decode online","base64 decode free","base64 to text","convert base64 to text","decode base64","base64 url decode","url safe base64 decode","base64 to utf8","base64 to string","base64 converter","decode base64 online"],"badge":"Decoder","url":"https://myaitools.net/base64-decode","manifestUrl":"https://myaitools.net/base64-decode/tool.json","inputs":[{"type":"text","key":"base64","label":"Base64 string","placeholder":"SGVsbG8sIHdvcmxkIQ==","multiline":true,"monospace":true,"help":"Accepts standard or URL-safe Base64. Padding is optional."}],"outputs":[{"key":"text","label":"Decoded text","multiline":true},{"key":"byteLength","label":"Decoded byte length"}],"invocation":{"webUi":"https://myaitools.net/base64-decode","api":null}},{"kind":"utility","slug":"base64-encode","name":"Base64 Encode","description":"Encode any text to Base64 (and URL-safe Base64) — runs locally in your browser, free and online.","longDescription":"Paste any UTF-8 text and instantly get the standard Base64 encoding plus the URL-safe variant (using - and _, no padding). Encoding happens entirely in your browser — your text is never uploaded. Useful for embedding strings in data URIs, JSON, JWTs, and HTTP headers.","category":"text","categoryName":"Text & Encoding","keywords":["base64 encode","base64 encoder","base64 encode online","base64 encode free","text to base64","convert text to base64","encode base64","base64 converter","base64 url encode","url safe base64","utf8 to base64","string to base64","base64 encoding tool"],"badge":"Encoder","url":"https://myaitools.net/base64-encode","manifestUrl":"https://myaitools.net/base64-encode/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Hello, world!","multiline":true,"monospace":true,"help":"Encoded as UTF-8 before Base64. The text stays in your browser."}],"outputs":[{"key":"base64","label":"Base64","multiline":true},{"key":"base64url","label":"Base64URL (URL-safe)","multiline":true},{"key":"length","label":"Output length (chars)"}],"invocation":{"webUi":"https://myaitools.net/base64-encode","api":null}},{"kind":"utility","slug":"bcrypt-hash","name":"bcrypt Hash Generator & Verifier","description":"Generate a bcrypt hash from a password, or verify a password against an existing bcrypt hash — adjustable cost factor.","longDescription":"Hash a password with bcrypt (the Blowfish-based password hashing function used by everyone from Django to Spring Security) or verify whether a candidate password matches a stored hash. The cost factor (4-15) controls how slow the hash is — every +1 doubles the work, so 10 is a reasonable default for interactive logins while 12-13 is preferred for high-value accounts. The library used is bcryptjs running entirely in your browser — your password is never transmitted.","category":"text","categoryName":"Text & Encoding","keywords":["bcrypt hash generator","bcrypt password hash","bcrypt online","bcrypt hash online","verify bcrypt hash","bcrypt password verifier","bcrypt cost factor","bcrypt rounds","bcrypt encrypt password","bcrypt generator","password hashing online","bcrypt check password","bcrypt $2a $2b","bcryptjs online","bcrypt hash creator"],"badge":"Crypto","url":"https://myaitools.net/bcrypt-hash","manifestUrl":"https://myaitools.net/bcrypt-hash/tool.json","inputs":[{"type":"select","key":"mode","label":"Mode","defaultValue":"hash","choices":[{"value":"hash","label":"Hash a password"},{"value":"verify","label":"Verify a password against a hash"}]},{"type":"text","key":"password","label":"Password","defaultValue":"","placeholder":"Plain-text password","monospace":true},{"type":"number","key":"cost","label":"Cost (rounds) — hash mode only","defaultValue":10,"min":4,"max":15,"step":1,"help":"Each +1 doubles the work. 10 is a good default; 12-13 for high-value accounts."},{"type":"text","key":"hashToVerify","label":"Existing hash (verify mode only)","defaultValue":"","placeholder":"$2a$10$… or $2b$… or $2y$…","monospace":true}],"outputs":[{"key":"result","label":"Result"},{"key":"detail","label":"Detail"}],"invocation":{"webUi":"https://myaitools.net/bcrypt-hash","api":null}},{"kind":"utility","slug":"bin-lookup","name":"BIN / IIN Lookup","description":"Look up a card BIN (Bank Identification Number) to identify scheme, issuer, country and type.","longDescription":"Enter the first 6-8 digits of a PAN — the Issuer Identification Number — and see the scheme, issuing bank, country and card type. Most lookups resolve instantly from a built-in list of ~150 well-known issuers (US/EU/UK/APAC/MENA/LATAM majors plus every processor sandbox BIN); anything not in that list falls back automatically to the public binlist.net API. Only the BIN (first 6-8 digits) is ever queried — never the full card number.","category":"payment","categoryName":"Payment & cards","keywords":["bin lookup","bin lookup online","bin lookup free","iin lookup","card bin lookup","bin to issuer","bin to bank","credit card bin lookup","bin number lookup","bin checker","issuer identification number","bin search tool","binlist"],"badge":"Lookup","url":"https://myaitools.net/bin-lookup","manifestUrl":"https://myaitools.net/bin-lookup/tool.json","inputs":[{"type":"text","key":"bin","label":"BIN / first digits of PAN","placeholder":"424242","monospace":true,"help":"Enter 6-8 digits. Spaces and dashes are stripped."}],"outputs":[{"key":"scheme","label":"Scheme"},{"key":"issuer","label":"Issuer"},{"key":"country","label":"Country"},{"key":"type","label":"Card type"},{"key":"matched","label":"Matched prefix"},{"key":"source","label":"Source"}],"invocation":{"webUi":"https://myaitools.net/bin-lookup","api":null}},{"kind":"utility","slug":"binary-to-decimal","name":"Binary to Decimal","description":"Convert a binary number to decimal — also shows hex and octal. Spaces and underscores ignored.","longDescription":"Paste a binary number (0s and 1s, freely punctuated with spaces or underscores) and get its decimal value plus the hex and octal representations. Powered by BigInt so even very long bit strings convert without precision loss — handy for inspecting flags, registers or protocol fields. Runs entirely in your browser, no network calls.","category":"text","categoryName":"Text & Encoding","keywords":["binary to decimal","bin to dec","convert binary to decimal","binary to decimal converter","binary to decimal online","bin2dec","binary to number","base 2 to base 10","binary to integer","binary decimal hex octal","binary number converter","binary to dec calculator","0b to decimal"],"badge":"Converter","url":"https://myaitools.net/binary-to-decimal","manifestUrl":"https://myaitools.net/binary-to-decimal/tool.json","inputs":[{"type":"text","key":"binary","label":"Binary","placeholder":"1101 1110 1010 1101 1011 1110 1110 1111","monospace":true,"help":"Optional 0b prefix. Spaces and underscores ignored."}],"outputs":[{"key":"decimal","label":"Decimal (base 10)"},{"key":"hex","label":"Hex (base 16)"},{"key":"octal","label":"Octal (base 8)"}],"invocation":{"webUi":"https://myaitools.net/binary-to-decimal","api":null}},{"kind":"utility","slug":"binary-to-hex","name":"Binary to Hex","description":"Convert a binary number to hexadecimal — input is padded to a multiple of 4 bits. Also shows decimal.","longDescription":"Paste a binary number (0s and 1s, freely punctuated with spaces or underscores) and get its hex value. The input is padded on the left to a multiple of 4 so each output digit corresponds to a clean nibble. Decimal value is shown too. Uses BigInt for unlimited input length. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["binary to hex","bin to hex","binary to hexadecimal","convert binary to hex","binary to hex converter","binary to hex online","bin2hex","bits to hex","base 2 to base 16","binary hex decimal","binary to hex calculator","0b to hex","binary nibble to hex"],"badge":"Converter","url":"https://myaitools.net/binary-to-hex","manifestUrl":"https://myaitools.net/binary-to-hex/tool.json","inputs":[{"type":"text","key":"binary","label":"Binary","placeholder":"1101 1110 1010 1101","monospace":true,"help":"Spaces and underscores ignored. Input is left-padded to a multiple of 4 bits."}],"outputs":[{"key":"hex","label":"Hex (uppercase, 0x prefix)"},{"key":"hexLower","label":"Hex (lowercase, bare)"},{"key":"decimal","label":"Decimal"}],"invocation":{"webUi":"https://myaitools.net/binary-to-hex","api":null}},{"kind":"utility","slug":"binary-to-text","name":"Binary to Text","description":"Decode 8-bit binary (groups of 0/1) back to UTF-8 text — space- or comma-separated.","longDescription":"Paste a sequence of 8-bit binary groups (e.g. 01001000 01101001) and decode it back to UTF-8 text. Each group must be exactly 8 bits of 0/1 and may be separated by spaces, newlines or commas. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["binary to text","binary decoder","binary to ascii","binary to string","binary to utf8","decode binary","binary translator","binary to text online","binary to text free","convert binary to text","binary code decoder","8 bit binary decoder","01 to text"],"badge":"Decoder","url":"https://myaitools.net/binary-to-text","manifestUrl":"https://myaitools.net/binary-to-text/tool.json","inputs":[{"type":"text","key":"binary","label":"Binary","placeholder":"01001000 01100101 01101100 01101100 01101111","multiline":true,"monospace":true,"help":"Each group must be exactly 8 bits of 0 or 1."}],"outputs":[{"key":"text","label":"Decoded text","multiline":true},{"key":"byteLength","label":"Byte length"}],"invocation":{"webUi":"https://myaitools.net/binary-to-text","api":null}},{"kind":"utility","slug":"bip39-mnemonic","name":"BIP39 Mnemonic Generator","description":"Generate a BIP39 mnemonic seed phrase (12/15/18/21/24 words) and the corresponding entropy + seed — or convert an existing mnemonic to its seed.","longDescription":"BIP39 is the standard that bitcoin and most other cryptocurrency wallets use to encode random entropy as a human-friendly word list. Pick a word count (12 words = 128 bits of entropy, 24 = 256 bits) and we'll roll fresh randomness via crypto.getRandomValues, derive the BIP39 checksum, and look up the matching words from the English wordlist. The seed (hex) is what wallets actually use to derive HD-wallet master keys (BIP32). You can also paste an existing mnemonic (with an optional passphrase) to compute the seed without generating new entropy. Runs entirely in your browser — your seed phrase never leaves this device.","category":"text","categoryName":"Text & Encoding","keywords":["bip39 mnemonic generator","bip39 seed phrase generator","bitcoin seed phrase generator","crypto wallet recovery phrase","bip39 to seed","bip39 mnemonic online","12 word seed phrase","24 word seed phrase","bip39 entropy","hd wallet seed","ethereum seed phrase","bip32 master seed","metamask seed generator","ledger seed words","bip39 english wordlist"],"badge":"Crypto","url":"https://myaitools.net/bip39-mnemonic","manifestUrl":"https://myaitools.net/bip39-mnemonic/tool.json","inputs":[{"type":"select","key":"mode","label":"Mode","defaultValue":"generate","choices":[{"value":"generate","label":"Generate new mnemonic"},{"value":"decode","label":"Mnemonic → seed (decode existing)"}]},{"type":"select","key":"wordCount","label":"Word count (generate only)","defaultValue":"12","choices":[{"value":"12","label":"12 words (128-bit entropy)"},{"value":"15","label":"15 words (160-bit)"},{"value":"18","label":"18 words (192-bit)"},{"value":"21","label":"21 words (224-bit)"},{"value":"24","label":"24 words (256-bit)"}]},{"type":"text","key":"mnemonic","label":"Existing mnemonic (decode mode)","multiline":true,"defaultValue":"","placeholder":"Paste a 12/15/18/21/24-word mnemonic separated by spaces…"},{"type":"text","key":"passphrase","label":"Passphrase (optional)","defaultValue":"","placeholder":"BIP39 passphrase — empty if none"}],"outputs":[{"key":"mnemonic","label":"Mnemonic"},{"key":"entropyHex","label":"Entropy (hex)"},{"key":"seedHex","label":"Seed (hex, 64 bytes)"},{"key":"summary","label":"Summary"}],"invocation":{"webUi":"https://myaitools.net/bip39-mnemonic","api":null}},{"kind":"utility","slug":"caesar-cipher","name":"Caesar Cipher","description":"Encrypt or decrypt text with the classic Caesar shift cipher — choose any shift from -25 to 25.","longDescription":"The Caesar cipher shifts every letter by a fixed number of positions in the alphabet. Pick a positive shift to encrypt and the negative of that shift to decrypt. Case is preserved and non-letter characters pass through unchanged. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["caesar cipher","caesar shift cipher","caesar encoder","caesar decoder","shift cipher","caesar cipher online","caesar cipher free","letter shift cipher","classic cipher","caesar encryption","caesar decryption","alphabet shift","substitution cipher"],"badge":"Cipher","url":"https://myaitools.net/caesar-cipher","manifestUrl":"https://myaitools.net/caesar-cipher/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Hello, world!","multiline":true,"monospace":true},{"type":"number","key":"shift","label":"Shift","defaultValue":3,"min":-25,"max":25,"step":1,"help":"Positive to encrypt; negate to decrypt."}],"outputs":[{"key":"result","label":"Result","multiline":true}],"invocation":{"webUi":"https://myaitools.net/caesar-cipher","api":null}},{"kind":"utility","slug":"card-brand-identifier","name":"Card Brand Identifier","description":"Identify the card scheme (Visa, Mastercard, Amex, Discover, JCB, Diners, UnionPay) from a PAN.","longDescription":"Detects the card brand from the leading BIN digits, reports the matched range, and lists the expected PAN and CVV lengths for that scheme. Useful for client-side payment form validation and for sanity-checking test data. Runs entirely in your browser — the PAN is never transmitted.","category":"payment","categoryName":"Payment & cards","keywords":["card brand identifier","card scheme detector","credit card brand from number","identify card brand","bin to brand","card brand lookup","detect card brand","card type from pan","card brand identifier online","card brand identifier free","card scheme from bin","card issuer brand"],"badge":"Lookup","url":"https://myaitools.net/card-brand-identifier","manifestUrl":"https://myaitools.net/card-brand-identifier/tool.json","inputs":[{"type":"text","key":"pan","label":"Card number / PAN","placeholder":"4242 4242 4242 4242","monospace":true,"help":"Spaces and dashes are ignored. The PAN stays in your browser."}],"outputs":[{"key":"brand","label":"Brand"},{"key":"binRange","label":"Matched BIN range"},{"key":"panLength","label":"Expected PAN length"},{"key":"cvvLength","label":"Expected CVV length"}],"invocation":{"webUi":"https://myaitools.net/card-brand-identifier","api":null}},{"kind":"utility","slug":"card-number-generator","name":"Card Number Generator","description":"Generate Luhn-valid test card numbers (Visa, Mastercard, Amex, Discover, JCB, Diners) — for development only.","longDescription":"Spits out syntactically valid PANs that pass the Luhn check, using the standard prefix and length for each scheme. These are NOT real cards and will not authorise — use them for local development, fixture data, and form validation. Generation happens entirely in your browser.","category":"payment","categoryName":"Payment & cards","keywords":["card number generator","credit card number generator","test card numbers","fake credit card numbers","luhn valid card numbers","visa test number","mastercard test number","amex test number","card number generator online","card number generator free","developer card numbers","test pan generator"],"badge":"Generator","url":"https://myaitools.net/card-number-generator","manifestUrl":"https://myaitools.net/card-number-generator/tool.json","inputs":[{"type":"select","key":"brand","label":"Card scheme","defaultValue":"visa","choices":[{"value":"visa","label":"Visa (16 digits)"},{"value":"mastercard","label":"Mastercard (16 digits)"},{"value":"amex","label":"American Express (15 digits)"},{"value":"discover","label":"Discover (16 digits)"},{"value":"jcb","label":"JCB (16 digits)"},{"value":"diners","label":"Diners Club (14 digits)"}]},{"type":"number","key":"count","label":"How many","defaultValue":5,"min":1,"max":20,"step":1,"help":"Between 1 and 20."}],"outputs":[{"key":"cards","label":"Generated PANs","multiline":true}],"invocation":{"webUi":"https://myaitools.net/card-number-generator","api":null}},{"kind":"utility","slug":"card-pan-formatter","name":"Card PAN Formatter","description":"Format a card number for display — brand-aware grouping plus a masked version safe to show in receipts.","longDescription":"Paste any Primary Account Number (PAN) and get it grouped the way the issuing scheme prints it on the card — 4-4-4-4 for most 16-digit cards, 4-6-5 for American Express, 4-6-4 for 14-digit Diners, and 4-4-4-4-3 for 19-digit cards. The tool also returns a masked variant (first 6 digits, last 4 digits, bullets in between — the PCI-DSS-safe form used on receipts and dashboards), the detected card brand, the digit count and a Luhn mod-10 verdict. Useful for product engineers building payment dashboards, customer-service agents reading card numbers aloud, and developers formatting saved-card lists. Runs entirely in your browser — your data is never sent anywhere.","category":"payment","categoryName":"Payment & cards","keywords":["card number formatter","pan formatter","pan masking","credit card formatter","card number grouping","card number display","pci safe card number","card brand formatter","masked pan","card number pretty print","card number spacing","amex formatting","card number mask"],"badge":"Formatter","url":"https://myaitools.net/card-pan-formatter","manifestUrl":"https://myaitools.net/card-pan-formatter/tool.json","inputs":[{"type":"text","key":"pan","label":"Card number / PAN","placeholder":"4242 4242 4242 4242","monospace":true,"help":"Spaces and dashes are ignored. The PAN stays in your browser."}],"outputs":[{"key":"brand","label":"Brand"},{"key":"formatted","label":"Formatted"},{"key":"masked","label":"Masked"},{"key":"length","label":"Length"},{"key":"luhnValid","label":"Luhn valid"}],"invocation":{"webUi":"https://myaitools.net/card-pan-formatter","api":null}},{"kind":"utility","slug":"character-counter","name":"Character Counter","description":"Count characters in any text — with and without spaces — plus words, lines and paragraphs. Free, online, runs in your browser.","longDescription":"Paste any text and instantly see the exact character count (with and without spaces), word count, line count and paragraph count. Useful for fitting into character limits — Twitter/X posts (280), Bluesky (300), LinkedIn headlines (220), Instagram captions (2,200), SMS (160), SEO meta titles (60) and descriptions (160). Counting runs entirely in your browser — your text never leaves this page.","category":"text","categoryName":"Text & Encoding","keywords":["character counter","character count","character counter online","character counter free","letter counter","text length counter","count characters in text","character count tool","online character counter","free character counter","char counter","character counter no signup","twitter character counter"],"badge":"Counter","url":"https://myaitools.net/character-counter","manifestUrl":"https://myaitools.net/character-counter/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Paste your text here…","multiline":true}],"outputs":[{"key":"characters","label":"Characters (with spaces)"},{"key":"charactersNoSpace","label":"Characters (no spaces)"},{"key":"words","label":"Words"},{"key":"lines","label":"Lines"},{"key":"paragraphs","label":"Paragraphs"}],"invocation":{"webUi":"https://myaitools.net/character-counter","api":null}},{"kind":"utility","slug":"chmod-calculator","name":"Chmod Calculator","description":"Convert between numeric (755) and symbolic (rwxr-xr-x) Unix file permissions. Free, instant, in-browser.","longDescription":"Enter a numeric chmod value like 755 or 0644 and see its symbolic representation (rwxr-xr-x), or enter symbolic permissions and get the numeric equivalent. The tool shows a detailed breakdown of owner, group, and others permissions including read, write, execute, setuid, setgid, and sticky bit. Supports both 3-digit and 4-digit octal formats. Essential for Linux and macOS system administrators, DevOps engineers, and developers working with file permissions, deployment scripts, Dockerfiles, or CI/CD pipelines. Runs entirely in your browser.","category":"dev","categoryName":"Dev","keywords":["chmod calculator","chmod converter","file permissions calculator","unix permissions calculator","chmod 755","chmod 644","chmod symbolic to numeric","chmod numeric to symbolic","linux file permissions","chmod online","file permission converter","rwx calculator","octal permissions calculator","chmod command helper","unix chmod tool"],"badge":"Calculator","url":"https://myaitools.net/chmod-calculator","manifestUrl":"https://myaitools.net/chmod-calculator/tool.json","inputs":[{"type":"select","key":"mode","label":"Direction","choices":[{"value":"numeric-to-symbolic","label":"Numeric → Symbolic (e.g. 755 → rwxr-xr-x)"},{"value":"symbolic-to-numeric","label":"Symbolic → Numeric (e.g. rwxr-xr-x → 755)"}],"defaultValue":"numeric-to-symbolic"},{"type":"text","key":"permission","label":"Permission","placeholder":"755 or rwxr-xr-x","monospace":true,"help":"Enter numeric (e.g. 755, 0644) or symbolic (e.g. rwxr-xr-x, -rwxr-xr--) permissions."}],"outputs":[{"key":"numeric","label":"Numeric","monospace":true},{"key":"symbolic","label":"Symbolic","monospace":true},{"key":"breakdown","label":"Breakdown","multiline":true,"monospace":true}],"invocation":{"webUi":"https://myaitools.net/chmod-calculator","api":null}},{"kind":"utility","slug":"crc32-checksum","name":"CRC32 Checksum Calculator","description":"Calculate the CRC32 checksum of any text — hex and decimal output. Free, instant, runs in your browser.","longDescription":"Paste or type any text and instantly compute its CRC32 checksum using the standard IEEE 802.3 polynomial (0xEDB88320). The result is shown in both hexadecimal and decimal formats. CRC32 (Cyclic Redundancy Check) is widely used for data integrity checks in ZIP files, PNG images, Ethernet frames, gzip, and many network protocols. This tool encodes your text as UTF-8 before computing the checksum, matching the behavior of most command-line CRC32 utilities. Everything runs locally in your browser — no data is uploaded.","category":"text","categoryName":"Text & Encoding","keywords":["crc32 calculator","crc32 checksum","crc32 online","crc32 hash","crc32 generator","calculate crc32","crc32 text","cyclic redundancy check","crc32 hex","crc32 checksum calculator online","free crc32 tool","crc32 string","file checksum crc32","data integrity check","crc32 utf8"],"badge":"Generator","url":"https://myaitools.net/crc32-checksum","manifestUrl":"https://myaitools.net/crc32-checksum/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Enter text to compute CRC32…","multiline":true}],"outputs":[{"key":"hex","label":"CRC32 (Hex)","monospace":true},{"key":"decimal","label":"CRC32 (Decimal)","monospace":true},{"key":"byteLength","label":"Input bytes (UTF-8)"}],"invocation":{"webUi":"https://myaitools.net/crc32-checksum","api":null}},{"kind":"utility","slug":"cron-generator","name":"Cron Expression Generator","description":"Build a cron expression from fields or pick a preset — get the expression plus a human-readable description.","longDescription":"Construct a 5-field cron expression (minute hour day-of-month month day-of-week) by editing each field or picking a preset like 'every hour', 'daily at midnight', 'weekdays at 9 AM'. The human-readable description is generated by cronstrue so you can sanity-check what you've built before pasting it into crontab, GitHub Actions, Vercel Cron, or Kubernetes CronJob. The inverse tool — explain an existing cron — is our `crontab-explainer`.","category":"text","categoryName":"Text & Encoding","keywords":["cron expression generator","cron generator online","build cron expression","cron schedule builder","cron syntax helper","crontab generator","github actions cron","vercel cron expression","kubernetes cronjob schedule","cron every minute","cron daily at","cron weekly schedule","cron expression creator","cron preset library","cronstrue online"],"badge":"Generator","url":"https://myaitools.net/cron-generator","manifestUrl":"https://myaitools.net/cron-generator/tool.json","inputs":[{"type":"select","key":"preset","label":"Preset","defaultValue":"custom","choices":[{"value":"custom","label":"Custom (use the fields below)"},{"value":"every-minute","label":"Every minute"},{"value":"every-15-min","label":"Every 15 minutes"},{"value":"every-30-min","label":"Every 30 minutes"},{"value":"every-hour","label":"Every hour (on :00)"},{"value":"daily-midnight","label":"Every day at midnight"},{"value":"daily-9am","label":"Every day at 9 AM"},{"value":"weekday-9am","label":"Weekdays at 9 AM"},{"value":"weekly-monday","label":"Every Monday at midnight"},{"value":"monthly-1st","label":"1st of every month at midnight"},{"value":"yearly","label":"Every Jan 1 at midnight"}]},{"type":"text","key":"minute","label":"Minute (0-59)","defaultValue":"*","placeholder":"* or 0,15,30,45 or */5","monospace":true},{"type":"text","key":"hour","label":"Hour (0-23)","defaultValue":"*","placeholder":"* or 9 or 9-17 or */2","monospace":true},{"type":"text","key":"dayOfMonth","label":"Day of month (1-31)","defaultValue":"*","placeholder":"* or 1 or 1,15","monospace":true},{"type":"text","key":"month","label":"Month (1-12 or JAN-DEC)","defaultValue":"*","placeholder":"* or 1 or JAN-MAR","monospace":true},{"type":"text","key":"dayOfWeek","label":"Day of week (0-6, 0=Sun, or SUN-SAT)","defaultValue":"*","placeholder":"* or 1-5 or MON-FRI","monospace":true}],"outputs":[{"key":"expression","label":"Cron expression"},{"key":"humanReadable","label":"Human-readable"},{"key":"fieldBreakdown","label":"Field breakdown","multiline":true}],"invocation":{"webUi":"https://myaitools.net/cron-generator","api":null}},{"kind":"utility","slug":"crontab-explainer","name":"Crontab Explainer","description":"Explain a cron expression in plain English and show the next firing times.","longDescription":"Paste any 5-field cron expression and get a plain-English description plus the next 5 times it will fire (computed in your local timezone). Powered by the cronstrue library for the description and a small hand-rolled scheduler for next-run times. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["crontab explainer","cron expression explainer","cron parser","cron decoder","cron to english","cron schedule explainer","cron next run","cron validator","cron online","cron free","crontab parser","cron job tester","cron expression viewer"],"badge":"Explainer","url":"https://myaitools.net/crontab-explainer","manifestUrl":"https://myaitools.net/crontab-explainer/tool.json","inputs":[{"type":"text","key":"expression","label":"Cron expression","placeholder":"*/5 * * * *","monospace":true,"help":"Standard 5-field cron: minute hour day-of-month month day-of-week."}],"outputs":[{"key":"english","label":"Plain English"},{"key":"nextRun","label":"Next 5 runs (local ISO)","multiline":true}],"invocation":{"webUi":"https://myaitools.net/crontab-explainer","api":null}},{"kind":"utility","slug":"csp-header-builder","name":"CSP Header Builder","description":"Build a Content-Security-Policy header interactively — select policies for each directive and get the full header string.","longDescription":"Configure the most common Content-Security-Policy (CSP) directives through simple dropdowns: default-src, script-src, style-src, img-src, font-src, connect-src, and frame-src. Each directive can be set to 'none' (block all), 'self' (same-origin only), 'self' + 'unsafe-inline', 'self' + 'unsafe-inline' + 'unsafe-eval', or '*' (allow any). The tool generates both the HTTP header value and the HTML <meta> tag version. Useful for web developers hardening their sites against XSS, clickjacking, and data injection attacks. CSP is a critical layer of defense recommended by OWASP and required for many compliance frameworks. Generated entirely in your browser.","category":"dev","categoryName":"Dev","keywords":["csp header builder","content security policy generator","csp generator","csp builder online","content security policy builder","csp header generator","security headers generator","csp meta tag generator","web security headers","xss prevention header","csp policy builder","csp directive builder","content security policy tool"],"badge":"Builder","url":"https://myaitools.net/csp-header-builder","manifestUrl":"https://myaitools.net/csp-header-builder/tool.json","inputs":[{"type":"select","key":"default-src","label":"default-src","defaultValue":"self","choices":[{"value":"none","label":"'none' — block all"},{"value":"self","label":"'self' — same origin only"},{"value":"self-inline","label":"'self' + 'unsafe-inline'"},{"value":"self-inline-eval","label":"'self' + 'unsafe-inline' + 'unsafe-eval'"},{"value":"*","label":"* — allow any source"}],"help":"Fallback for any directive not explicitly set."},{"type":"select","key":"script-src","label":"script-src","defaultValue":"self","choices":[{"value":"none","label":"'none' — block all"},{"value":"self","label":"'self' — same origin only"},{"value":"self-inline","label":"'self' + 'unsafe-inline'"},{"value":"self-inline-eval","label":"'self' + 'unsafe-inline' + 'unsafe-eval'"},{"value":"*","label":"* — allow any source"}],"help":"Controls which scripts can execute."},{"type":"select","key":"style-src","label":"style-src","defaultValue":"self-inline","choices":[{"value":"none","label":"'none' — block all"},{"value":"self","label":"'self' — same origin only"},{"value":"self-inline","label":"'self' + 'unsafe-inline'"},{"value":"self-inline-eval","label":"'self' + 'unsafe-inline' + 'unsafe-eval'"},{"value":"*","label":"* — allow any source"}],"help":"Controls which stylesheets can be applied."},{"type":"select","key":"img-src","label":"img-src","defaultValue":"self","choices":[{"value":"none","label":"'none' — block all"},{"value":"self","label":"'self' — same origin only"},{"value":"self-inline","label":"'self' + 'unsafe-inline'"},{"value":"self-inline-eval","label":"'self' + 'unsafe-inline' + 'unsafe-eval'"},{"value":"*","label":"* — allow any source"}],"help":"Controls where images can be loaded from."},{"type":"select","key":"font-src","label":"font-src","defaultValue":"self","choices":[{"value":"none","label":"'none' — block all"},{"value":"self","label":"'self' — same origin only"},{"value":"self-inline","label":"'self' + 'unsafe-inline'"},{"value":"self-inline-eval","label":"'self' + 'unsafe-inline' + 'unsafe-eval'"},{"value":"*","label":"* — allow any source"}],"help":"Controls where fonts can be loaded from."},{"type":"select","key":"connect-src","label":"connect-src","defaultValue":"self","choices":[{"value":"none","label":"'none' — block all"},{"value":"self","label":"'self' — same origin only"},{"value":"self-inline","label":"'self' + 'unsafe-inline'"},{"value":"self-inline-eval","label":"'self' + 'unsafe-inline' + 'unsafe-eval'"},{"value":"*","label":"* — allow any source"}],"help":"Controls which URLs can be loaded via fetch, XHR, WebSocket, etc."},{"type":"select","key":"frame-src","label":"frame-src","defaultValue":"none","choices":[{"value":"none","label":"'none' — block all"},{"value":"self","label":"'self' — same origin only"},{"value":"self-inline","label":"'self' + 'unsafe-inline'"},{"value":"self-inline-eval","label":"'self' + 'unsafe-inline' + 'unsafe-eval'"},{"value":"*","label":"* — allow any source"}],"help":"Controls which URLs can be embedded in frames."}],"outputs":[{"key":"header","label":"CSP Header","multiline":true,"monospace":true},{"key":"meta","label":"HTML <meta> tag","multiline":true,"monospace":true},{"key":"breakdown","label":"Directive breakdown","multiline":true}],"invocation":{"webUi":"https://myaitools.net/csp-header-builder","api":null}},{"kind":"utility","slug":"css-beautifier","name":"CSS Beautifier","description":"Pretty-print CSS — choose 2-space, 4-space or tab indentation for readable stylesheets.","longDescription":"Paste minified or messy CSS and reformat it with consistent indentation, one declaration per line and tidy braces. Pick 2 spaces, 4 spaces or tabs to match your project style. Powered by js-beautify's css_beautify. Runs entirely in your browser — your stylesheet never leaves this page.","category":"dev","categoryName":"Dev","keywords":["css beautifier","css beautifier online","css formatter","format css online","pretty print css","css prettifier","css indent","beautify css","css formatter free","online css beautifier","css pretty print online","reformat css"],"badge":"Beautifier","url":"https://myaitools.net/css-beautifier","manifestUrl":"https://myaitools.net/css-beautifier/tool.json","inputs":[{"type":"text","key":"css","label":"CSS","placeholder":".btn{padding:8px 16px;color:#fff;}","multiline":true,"monospace":true},{"type":"select","key":"indent","label":"Indent","defaultValue":"2","choices":[{"value":"2","label":"2 spaces"},{"value":"4","label":"4 spaces"},{"value":"tab","label":"Tabs"}]}],"outputs":[{"key":"formatted","label":"Formatted CSS","multiline":true},{"key":"originalSize","label":"Original size (chars)"},{"key":"formattedSize","label":"Formatted size (chars)"}],"invocation":{"webUi":"https://myaitools.net/css-beautifier","api":null}},{"kind":"utility","slug":"css-minifier","name":"CSS Minifier","description":"Minify CSS — strip whitespace, comments and unused syntax to ship smaller stylesheets.","longDescription":"Paste any CSS and get a single-line, minified version that's safe to drop into production. Comments, redundant whitespace and unnecessary semicolons are stripped; important comments (/*! … */) are preserved. The savings in characters and percent are reported. Runs entirely in your browser — your stylesheet never leaves this page.","category":"dev","categoryName":"Dev","keywords":["css minifier","css minifier online","minify css","minify css online","compress css","css compressor","css optimizer","shrink css","css minify free","online css minifier","css minify tool","reduce css size"],"badge":"Minifier","url":"https://myaitools.net/css-minifier","manifestUrl":"https://myaitools.net/css-minifier/tool.json","inputs":[{"type":"text","key":"css","label":"CSS","placeholder":".btn { padding: 8px 16px; color: #fff; }","multiline":true,"monospace":true}],"outputs":[{"key":"minified","label":"Minified CSS","multiline":true},{"key":"originalSize","label":"Original size (chars)"},{"key":"minifiedSize","label":"Minified size (chars)"},{"key":"savings","label":"Saved"}],"invocation":{"webUi":"https://myaitools.net/css-minifier","api":null}},{"kind":"utility","slug":"csv-validator","name":"CSV Validator","description":"Validate CSV data — check column consistency, count rows and surface parse errors.","longDescription":"Paste any CSV (or TSV / pipe-separated / semicolon-separated) data and get a structured validity report. The validator counts rows and columns, finds rows whose column count doesn't match the modal count, and surfaces any parser errors with their row number. Auto-detection picks the most likely delimiter, or you can pick one explicitly. Powered by Papa Parse. Runs entirely in your browser — your data never leaves this page.","category":"dev","categoryName":"Dev","keywords":["csv validator","csv validator online","validate csv","csv lint","csv checker","csv error finder","csv column count","csv inconsistent rows","online csv validator","csv validator free","check csv file","tsv validator"],"badge":"Validator","url":"https://myaitools.net/csv-validator","manifestUrl":"https://myaitools.net/csv-validator/tool.json","inputs":[{"type":"text","key":"csv","label":"CSV","placeholder":"name,age,city\nAlice,30,NYC\nBob,25,LA","multiline":true,"monospace":true},{"type":"select","key":"delimiter","label":"Delimiter","defaultValue":"auto","choices":[{"value":"auto","label":"Auto-detect"},{"value":",","label":"Comma (,)"},{"value":"\t","label":"Tab"},{"value":";","label":"Semicolon (;)"},{"value":"|","label":"Pipe (|)"}]}],"outputs":[{"key":"valid","label":"Valid"},{"key":"rowCount","label":"Rows"},{"key":"columnCount","label":"Columns (modal)"},{"key":"inconsistentRows","label":"Inconsistent rows","multiline":true},{"key":"errors","label":"Parser errors","multiline":true}],"invocation":{"webUi":"https://myaitools.net/csv-validator","api":null}},{"kind":"utility","slug":"decimal-to-binary","name":"Decimal to Binary","description":"Convert a decimal integer to binary — also shows hex and octal. Group bits by 4 or 8 for readability.","longDescription":"Type a decimal integer and instantly see the binary representation, with optional grouping into nibbles (4 bits) or bytes (8 bits) for legibility. Hex and octal forms are shown too. Uses BigInt so arbitrarily large values convert without losing precision. Runs locally — your input never leaves your browser.","category":"text","categoryName":"Text & Encoding","keywords":["decimal to binary","dec to bin","convert decimal to binary","decimal to binary converter","decimal to binary online","dec2bin","number to binary","integer to binary","base 10 to base 2","decimal binary hex octal","decimal to binary calculator","decimal to bits","decimal to base 2"],"badge":"Converter","url":"https://myaitools.net/decimal-to-binary","manifestUrl":"https://myaitools.net/decimal-to-binary/tool.json","inputs":[{"type":"text","key":"decimal","label":"Decimal","placeholder":"255","monospace":true},{"type":"select","key":"grouping","label":"Bit grouping","defaultValue":"none","choices":[{"value":"none","label":"No grouping (11111111)"},{"value":"4","label":"Group by 4 (1111 1111)"},{"value":"8","label":"Group by 8 (11111111)"}]}],"outputs":[{"key":"binary","label":"Binary (base 2)"},{"key":"bitCount","label":"Bit count"},{"key":"hex","label":"Hex (base 16)"},{"key":"octal","label":"Octal (base 8)"}],"invocation":{"webUi":"https://myaitools.net/decimal-to-binary","api":null}},{"kind":"utility","slug":"decimal-to-hex","name":"Decimal to Hex","description":"Convert a decimal integer to hexadecimal — also shows binary and octal. Uppercase output with optional 0x prefix.","longDescription":"Type a decimal number (negative numbers accepted, _-grouping allowed) and instantly get its hex value alongside the binary and octal forms. The hex output is uppercase by default — toggle the 0x prefix on or off to suit your downstream code. Uses BigInt internally so values larger than 2^53 work without precision loss. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["decimal to hex","decimal to hexadecimal","dec to hex","convert decimal to hex","decimal to hex converter","decimal to hex online","dec2hex","integer to hex","number to hex","base 10 to hex","decimal to hex calculator","decimal to base 16","decimal hex binary octal"],"badge":"Converter","url":"https://myaitools.net/decimal-to-hex","manifestUrl":"https://myaitools.net/decimal-to-hex/tool.json","inputs":[{"type":"text","key":"decimal","label":"Decimal","placeholder":"3735928559","monospace":true,"help":"Underscores and spaces are stripped (so 1_000_000 works)."},{"type":"boolean","key":"prefix","label":"Add 0x prefix to hex output","defaultValue":true}],"outputs":[{"key":"hex","label":"Hex (base 16)"},{"key":"binary","label":"Binary (base 2)"},{"key":"octal","label":"Octal (base 8)"}],"invocation":{"webUi":"https://myaitools.net/decimal-to-hex","api":null}},{"kind":"utility","slug":"decimal-to-text","name":"Decimal to Text","description":"Decode a list of decimal Unicode code points back to text — any separator (space, comma, newline) accepted.","longDescription":"Paste a sequence of decimal code points (Unicode scalar values) separated by spaces, commas, semicolons, or newlines — the tool strips anything else and reassembles them into the original string. Surrogate-pair-free since each number is converted with String.fromCodePoint, so emoji and supplementary characters work correctly. Runs locally in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["decimal to text","decimal to string","charcode to text","code points to text","decimal to ascii","decimal to unicode","decimal to char","numbers to text","int to char","decimal to text online","code point decoder","ascii codes to text","decimal decoder"],"badge":"Decoder","url":"https://myaitools.net/decimal-to-text","manifestUrl":"https://myaitools.net/decimal-to-text/tool.json","inputs":[{"type":"text","key":"codes","label":"Decimal code points","placeholder":"72 101 108 108 111","multiline":true,"monospace":true,"help":"Separate codes with any whitespace, commas, or semicolons."}],"outputs":[{"key":"text","label":"Decoded text","multiline":true},{"key":"count","label":"Character count"}],"invocation":{"webUi":"https://myaitools.net/decimal-to-text","api":null}},{"kind":"utility","slug":"dukpt-pin-block-calculator","name":"DUKPT PIN Block Calculator","description":"Compute the ISO 8583 field 52 encrypted PIN block from a PIN, PAN, BDK and KSN — full TDES DUKPT key derivation.","longDescription":"Specialist tool for payments engineers. Enter a PIN, the cardholder's PAN, the Base Derivation Key (BDK), and the Key Serial Number (KSN). We run the TDES DUKPT key derivation per ANSI X9.24-1: derive the IPEK from BDK + base-KSN, walk the 21 counter bits MSB→LSB through the non-reversible key generation process to produce the future key, XOR with the PIN-key variant 00…FF00…FF, then 3DES-encrypt the ISO 9564 format-0 PIN block with the resulting per-transaction PIN encryption key. The encrypted PIN block is what goes in ISO 8583 field 52. Every step is shown so you can trace it. Runs entirely in your browser — keys and PANs never leave your device.","category":"payment","categoryName":"Payment & cards","keywords":["dukpt pin block calculator","dukpt calculator","iso 8583 field 52","iso 8583 pin block","encrypted pin block","tdes dukpt","3des dukpt","dukpt key derivation","ksn pin block","ipek calculator","ansi x9.24 dukpt","pin block encryption online","payment terminal pin block"],"badge":"Calculator","url":"https://myaitools.net/dukpt-pin-block-calculator","manifestUrl":"https://myaitools.net/dukpt-pin-block-calculator/tool.json","inputs":[{"type":"text","key":"pin","label":"PIN","defaultValue":"1234","placeholder":"4-12 digits","help":"The customer's PIN (4 to 12 digits)."},{"type":"text","key":"pan","label":"PAN","defaultValue":"4111111111111111","placeholder":"13-19 digits","help":"Primary Account Number — used to build the ISO 9564 PIN block."},{"type":"text","key":"bdk","label":"BDK (hex)","defaultValue":"0123456789ABCDEFFEDCBA9876543210","placeholder":"32 hex chars (double-length) or 48 (triple-length)","help":"Base Derivation Key. 32 hex chars for K1‖K2 (double-length 3DES), 48 for K1‖K2‖K3."},{"type":"text","key":"ksn","label":"KSN (hex)","defaultValue":"FFFF9876543210E00008","placeholder":"20 hex chars (10 bytes)","help":"Key Serial Number — full 80-bit value including the 21-bit transaction counter."}],"outputs":[{"key":"encryptedPinBlock","label":"Encrypted PIN block (ISO 8583 field 52)"},{"key":"clearPinBlock","label":"Clear PIN block (ISO 9564 format 0)"},{"key":"pinKey","label":"PIN encryption key (PEK)"},{"key":"futureKey","label":"Future key (pre-variant)"},{"key":"ipek","label":"Initial PIN Encryption Key (IPEK)"},{"key":"baseKsn","label":"Base KSN (counter cleared)"},{"key":"counterDec","label":"Counter (decimal)"},{"key":"counterHex","label":"Counter (hex)"}],"invocation":{"webUi":"https://myaitools.net/dukpt-pin-block-calculator","api":null}},{"kind":"utility","slug":"email-validator","name":"Email Validator","description":"Validate email addresses instantly — check format, detect typos, spot disposable providers. Free online tool, no signup.","longDescription":"Paste any email address and get instant validation: RFC 5322 format check, domain extraction, common typo detection (gmial→gmail, hotmal→hotmail, etc.), and disposable/throwaway email provider flagging. The validator catches misspelled domains like gmai.com, gamil.com, outlok.com and suggests the correct version. It also flags known disposable email services like Mailinator, Guerrilla Mail, and Yopmail that are often used for spam or temporary signups. Everything runs locally in your browser — no data is sent to any server. Perfect for developers building signup forms, marketers cleaning email lists, or anyone who wants to double-check an address before sending.","category":"text","categoryName":"Text & Encoding","keywords":["email validator","email validation tool","validate email address","email checker","email format checker","disposable email detector","email typo checker","email address validator online","free email validator","check email format","email syntax checker","verify email address","email domain checker","throwaway email detector","email validation regex"],"badge":"Validator","url":"https://myaitools.net/email-validator","manifestUrl":"https://myaitools.net/email-validator/tool.json","inputs":[{"type":"text","key":"email","label":"Email Address","placeholder":"user@example.com","help":"Enter an email address to validate."}],"outputs":[{"key":"valid","label":"Valid"},{"key":"format","label":"Format Details"},{"key":"domain","label":"Domain"},{"key":"suggestion","label":"Suggestion"}],"invocation":{"webUi":"https://myaitools.net/email-validator","api":null}},{"kind":"utility","slug":"emv-tag-lookup","name":"EMV Tag Lookup","description":"Search the EMV / ISO 7816 tag dictionary by hex tag or by name fragment.","longDescription":"Type a tag in hex (e.g. 9F02) or a fragment of its name (e.g. 'amount') and get the canonical EMV Book 3 / Book 4 description, format and source. Pairs with the EMV TLV Decoder. Runs entirely in your browser.","category":"payment","categoryName":"Payment & cards","keywords":["emv tag lookup","emv tag dictionary","emv tag list","emv tag search","emv tag reference","emv 9f02 meaning","iso 7816 tag lookup","ber tlv tag lookup","emv tag lookup online","emv tag lookup free","emv tag finder","emv book 3 tags"],"badge":"Lookup","url":"https://myaitools.net/emv-tag-lookup","manifestUrl":"https://myaitools.net/emv-tag-lookup/tool.json","inputs":[{"type":"text","key":"query","label":"Tag (hex) or name fragment","placeholder":"9F02 or 'amount'","monospace":true,"help":"Hex tags are matched exactly first, then as a prefix. Otherwise the name and description are searched."}],"outputs":[{"key":"tag","label":"Tag"},{"key":"name","label":"Name"},{"key":"format","label":"Format"},{"key":"source","label":"Source"},{"key":"description","label":"Description"}],"invocation":{"webUi":"https://myaitools.net/emv-tag-lookup","api":null}},{"kind":"utility","slug":"emv-tlv-decoder","name":"EMV TLV Decoder","description":"Decode EMV / ISO 7816 BER-TLV hex into a labelled tree of tags, lengths and values.","longDescription":"Paste card-terminal capture data (e.g. an FCI template, READ RECORD response, or GENERATE AC reply) and get a labelled, indented tree. Each tag is matched against a built-in EMV Book 3 / Book 4 dictionary, constructed templates are recursed into, and values are shown as hex with an ASCII preview when printable. Runs entirely in your browser — your capture never leaves the page.","category":"payment","categoryName":"Payment & cards","keywords":["emv tlv decoder","emv tlv parser","ber tlv decoder","emv decoder online","emv tlv decoder free","iso 7816 tlv parser","emv tag parser","decode emv data","emv response decoder","fci template decoder","emv card data decoder","tlv tree viewer"],"badge":"Decoder","url":"https://myaitools.net/emv-tlv-decoder","manifestUrl":"https://myaitools.net/emv-tlv-decoder/tool.json","inputs":[{"type":"text","key":"hex","label":"TLV hex","placeholder":"6F1A840E315041592E5359532E4444463031A5088801025F2D02656E","multiline":true,"monospace":true,"help":"Whitespace and 0x prefixes are ignored. Constructed templates are recursed into."}],"outputs":[{"key":"tree","label":"Decoded tree","multiline":true}],"invocation":{"webUi":"https://myaitools.net/emv-tlv-decoder","api":null}},{"kind":"utility","slug":"facebook-id-finder","name":"Facebook ID Finder","description":"Find the numeric Facebook profile or page ID from a public URL, username, or ID link.","longDescription":"Paste a public Facebook profile or page URL, username, or profile.php?id link and Toolsly will try to find the numeric Facebook ID from the URL or public page metadata. This is useful for developers, analytics workflows, social widgets, and debugging tasks where a numeric Facebook profile or page ID is needed. Private, restricted, or login-gated profiles may not resolve.","category":"dev","categoryName":"Dev","keywords":["facebook id finder","find facebook id","facebook profile id finder","facebook page id finder","facebook numeric id","facebook id lookup","facebook username to id","find facebook profile id","facebook page id lookup","facebook profile id lookup","facebook account id finder","facebook user id lookup online"],"badge":"Lookup","url":"https://myaitools.net/facebook-id-finder","manifestUrl":"https://myaitools.net/facebook-id-finder/tool.json","inputs":[{"type":"text","key":"query","label":"Facebook profile/page URL, username, or numeric ID","placeholder":"https://www.facebook.com/username or profile.php?id=...","monospace":true,"help":"Public profiles only. Toolsly does not store the profile URL or result."}],"outputs":[{"key":"id","label":"Numeric ID"},{"key":"handle","label":"Profile handle"},{"key":"profileUrl","label":"Profile URL","monospace":false},{"key":"source","label":"Source","monospace":false},{"key":"note","label":"Note","monospace":false}],"invocation":{"webUi":"https://myaitools.net/facebook-id-finder","api":null}},{"kind":"utility","slug":"fake-data-generator","name":"Fake Data Generator","description":"Generate realistic-looking fake people data — names, emails, phones, addresses — for seeding databases, designing UIs and writing tests.","longDescription":"Produce believable but synthetic personal data — names, emails, phone numbers, street addresses, dates of birth, companies — in any of 4 locales (English, Spanish, French, German). Useful for seeding a database, populating an empty-state UI, screenshotting a dashboard with realistic-looking content, or generating test fixtures. Supply a seed string to get reproducible output (same seed = same dataset every time). Output is shown as JSON and as a pipe-delimited table.","category":"text","categoryName":"Text & Encoding","keywords":["fake data generator","fake names generator","fake users generator","test data generator","seed data generator","fake email generator","fake address generator","fake phone number generator","mock data generator","lorem person generator","ui placeholder data","json fake data","test user generator","fake profile generator","dummy data generator"],"badge":"Generator","url":"https://myaitools.net/fake-data-generator","manifestUrl":"https://myaitools.net/fake-data-generator/tool.json","inputs":[{"type":"number","key":"count","label":"How many records","defaultValue":10,"min":1,"max":200,"step":1},{"type":"select","key":"locale","label":"Locale","defaultValue":"en","choices":[{"value":"en","label":"English (US)"},{"value":"es","label":"Spanish"},{"value":"fr","label":"French"},{"value":"de","label":"German"}]},{"type":"select","key":"fields","label":"Fields","defaultValue":"all","choices":[{"value":"all","label":"All — name, email, phone, address, dob, company"},{"value":"minimal","label":"Minimal — name and email only"},{"value":"contact","label":"Contact — name, email, phone"},{"value":"address","label":"Address — name, street, city, state, zip, country"}]},{"type":"text","key":"seed","label":"Seed (optional — reproducible output)","defaultValue":"","placeholder":"any string"}],"outputs":[{"key":"json","label":"JSON (one record per line)","multiline":true},{"key":"table","label":"Table","multiline":true},{"key":"summary","label":"Summary"}],"invocation":{"webUi":"https://myaitools.net/fake-data-generator","api":null}},{"kind":"converter","slug":"file-to-hex","name":"File to Hex Dump","description":"Convert any file's bytes to a hex dump (with ASCII sidecar), plain hex, C array or comma-separated bytes.","longDescription":"Upload any file and download a text rendering of its bytes. The default 'Hex dump' format mirrors classic xxd output — 16 bytes per row, offset prefix, ASCII column on the right — perfect for inspecting binary protocols, firmware images, or unfamiliar file formats. Other formats: 'Plain hex' (one continuous lowercase string, no separators — round-trippable through hex-to-file), 'C array' (ready to paste into C/C++ source), and 'Comma-separated bytes' (0xHH, 0xHH, …). Conversion is local — the file never leaves your browser.","category":"text","categoryName":"Text & Encoding","keywords":["file to hex","hex dump","hex dump generator","file to hex dump","binary to hex dump","xxd online","hexdump online","file to hex converter","binary file to hex","convert file to hex","hex viewer","file hex dump","binary file viewer"],"url":"https://myaitools.net/file-to-hex","manifestUrl":"https://myaitools.net/file-to-hex/tool.json","runsOn":"client","multiple":false,"batch":false,"input":{"type":"file","extensions":[".bin",".dat",".hex",".raw",".dump",".img",".iso",".exe",".dll",".so",".dylib",".bin",".png",".jpg",".jpeg",".gif",".webp",".bmp",".ico",".tiff",".pdf",".zip",".tar",".gz",".7z",".rar",".mp3",".wav",".ogg",".flac",".mp4",".mov",".avi",".mkv",".webm",".txt",".csv",".json",".xml",".yaml",".yml",".html",".css",".js",".ts",".md",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".key",".pem",".crt",".cer",".der",".p12",".pfx"],"mimeTypes":["application/octet-stream",""]},"output":{"type":"file","extension":".txt","mimeType":"text/plain"},"options":[{"type":"select","key":"format","label":"Output format","defaultValue":"hexdump","choices":[{"value":"hexdump","label":"Hex dump (with ASCII column)"},{"value":"plain","label":"Plain hex (one continuous string)"},{"value":"carray","label":"C array (unsigned char[])"},{"value":"csv","label":"Comma-separated bytes (0xHH, 0xHH, …)"}]}],"invocation":{"webUi":"https://myaitools.net/file-to-hex","api":null}},{"kind":"utility","slug":"hash-text","name":"Hash Text","description":"Compute MD5, SHA-1, SHA-256, SHA-384 or SHA-512 of any text — runs locally in your browser.","longDescription":"Compute the cryptographic hash of any string using MD5, SHA-1, SHA-256, SHA-384 or SHA-512. Output the digest as lowercase hex, uppercase hex, or Base64. Everything runs entirely in your browser via the Web Crypto API (and crypto-js for MD5) — your input is never uploaded, free and online.","category":"text","categoryName":"Text & Encoding","keywords":["hash text","hash generator","text hash online","sha256 generator","sha-256 hash","md5 hash generator","md5 online","sha1 hash","sha-512 hash","sha-384 hash","string hash calculator","hash online free","compute hash","checksum generator"],"badge":"Hasher","url":"https://myaitools.net/hash-text","manifestUrl":"https://myaitools.net/hash-text/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Hello, world!","multiline":true,"monospace":true,"help":"Input is UTF-8 encoded before hashing."},{"type":"select","key":"algorithm","label":"Algorithm","defaultValue":"SHA-256","choices":[{"value":"MD5","label":"MD5 (128-bit, insecure)"},{"value":"SHA-1","label":"SHA-1 (160-bit, insecure)"},{"value":"SHA-256","label":"SHA-256 (recommended)"},{"value":"SHA-384","label":"SHA-384"},{"value":"SHA-512","label":"SHA-512"}]},{"type":"select","key":"output","label":"Output format","defaultValue":"hex-lower","choices":[{"value":"hex-lower","label":"Hex (lowercase)"},{"value":"hex-upper","label":"Hex (uppercase)"},{"value":"base64","label":"Base64"}]}],"outputs":[{"key":"hash","label":"Hash","multiline":true},{"key":"length","label":"Digest size (bytes)"}],"invocation":{"webUi":"https://myaitools.net/hash-text","api":null}},{"kind":"utility","slug":"hex-to-binary","name":"Hex to Binary","description":"Convert a hexadecimal number to binary — each hex digit becomes 4 bits, padded. Also shows decimal.","longDescription":"Paste a hex number and get the equivalent binary representation, with each hex digit mapped to its full 4-bit nibble (so 1 becomes 0001, not just 1). The decimal value is shown alongside for reference. Uses BigInt internally for arbitrary-size inputs. Runs entirely locally in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["hex to binary","hexadecimal to binary","hex to bin","convert hex to binary","hex to binary converter","hex to binary online","hex2bin","hex to bits","0x to binary","base 16 to base 2","hex binary decimal","hex to binary calculator","hex digit to nibble"],"badge":"Converter","url":"https://myaitools.net/hex-to-binary","manifestUrl":"https://myaitools.net/hex-to-binary/tool.json","inputs":[{"type":"text","key":"hex","label":"Hexadecimal","placeholder":"deadbeef","monospace":true,"help":"Optional 0x prefix. Case-insensitive."}],"outputs":[{"key":"binary","label":"Binary (each hex digit → 4 bits)"},{"key":"binaryGrouped","label":"Binary (grouped by nibble)"},{"key":"decimal","label":"Decimal"}],"invocation":{"webUi":"https://myaitools.net/hex-to-binary","api":null}},{"kind":"utility","slug":"hex-to-decimal","name":"Hex to Decimal","description":"Convert a hexadecimal number to decimal — also shows binary and octal. Handles arbitrary-size integers via BigInt.","longDescription":"Paste a hex number (with or without an 0x prefix) and instantly get its decimal value, plus the binary and octal representations for free. Uses BigInt under the hood so values much larger than JavaScript's Number.MAX_SAFE_INTEGER work fine — useful for inspecting memory addresses, hashes, or large protocol fields. Runs entirely in your browser; nothing leaves your machine.","category":"text","categoryName":"Text & Encoding","keywords":["hex to decimal","hexadecimal to decimal","hex to dec","convert hex to decimal","hex to decimal converter","hexadecimal to decimal online","hex2dec","hex to integer","hex to base 10","0x to decimal","hex to number","hexadecimal converter","hex decimal binary octal"],"badge":"Converter","url":"https://myaitools.net/hex-to-decimal","manifestUrl":"https://myaitools.net/hex-to-decimal/tool.json","inputs":[{"type":"text","key":"hex","label":"Hexadecimal","placeholder":"deadbeef or 0xDEADBEEF","monospace":true,"help":"Optional 0x prefix. Case-insensitive. Spaces and underscores are stripped."}],"outputs":[{"key":"decimal","label":"Decimal (base 10)"},{"key":"binary","label":"Binary (base 2)"},{"key":"octal","label":"Octal (base 8)"},{"key":"hex_normalized","label":"Hex normalized (0x, uppercase)"}],"invocation":{"webUi":"https://myaitools.net/hex-to-decimal","api":null}},{"kind":"converter","slug":"hex-to-file","name":"Hex to Binary File","description":"Parse a hex dump or hex string back into a binary file — strips offsets, ASCII columns, prefixes and separators automatically.","longDescription":"The inverse of file-to-hex. Paste or upload a text file containing hex bytes — in any reasonable shape (classic xxd hex dump with offset and ASCII column, plain continuous hex, 0xHH lists, C arrays, comma- or space-separated) — and download a .bin file with the reconstructed bytes. Offsets, ASCII sidecars, 0x prefixes, commas, and whitespace are all stripped. Hex pairs must be even in number on each line. Conversion is local — your data never leaves the browser.","category":"text","categoryName":"Text & Encoding","keywords":["hex to file","hex to bin","hex to binary file","hex dump to binary","xxd reverse","hexdump to file","hex string to bin","convert hex to binary file","hex to bytes file","hex parser to file","binary from hex","hex importer","hex to binary online"],"url":"https://myaitools.net/hex-to-file","manifestUrl":"https://myaitools.net/hex-to-file/tool.json","runsOn":"client","multiple":false,"batch":false,"input":{"type":"file","extensions":[".txt",".hex",".dump"],"mimeTypes":["text/plain",""]},"output":{"type":"file","extension":".bin","mimeType":"application/octet-stream"},"options":[{"type":"text","key":"filename","label":"Output filename","defaultValue":"output.bin","placeholder":"output.bin","help":"Used for the downloaded file. The .bin extension is added if missing."}],"invocation":{"webUi":"https://myaitools.net/hex-to-file","api":null}},{"kind":"utility","slug":"hex-to-text","name":"Hex to Text","description":"Decode a hex string back to UTF-8 text — accepts 0x prefixes, spaces, and any case.","longDescription":"Paste a hex-encoded string and recover the original UTF-8 text. The tool strips whitespace, optional 0x prefixes, and parses byte-by-byte to rebuild the source characters. Useful for inspecting binary protocols, debugging hex dumps, or decoding hex-encoded payloads. Runs locally in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["hex to text","hex decoder","hex to string","hex to ascii","hex to utf8","decode hex","hexadecimal decoder","hex string decoder","convert hex to text","hex to text online","hex to text free","hex viewer","hex bytes decoder"],"badge":"Decoder","url":"https://myaitools.net/hex-to-text","manifestUrl":"https://myaitools.net/hex-to-text/tool.json","inputs":[{"type":"text","key":"hex","label":"Hex string","placeholder":"48656c6c6f2c20776f726c6421","multiline":true,"monospace":true,"help":"Spaces, newlines, commas, and 0x prefixes are stripped automatically."}],"outputs":[{"key":"text","label":"Decoded text","multiline":true},{"key":"byteLength","label":"Byte length"}],"invocation":{"webUi":"https://myaitools.net/hex-to-text","api":null}},{"kind":"utility","slug":"hmac-generator","name":"HMAC Generator","description":"Compute HMAC-SHA1, HMAC-SHA256, HMAC-SHA384 or HMAC-SHA512 of a message under a secret key — output in hex and base64.","longDescription":"Generate a Hash-based Message Authentication Code (HMAC) from a message and a secret key, using the algorithm of your choice. The key can be UTF-8, hex or base64 — pick the encoding to match how it's stored. Output is shown in both hex and base64 so you can paste straight into whichever API your stack expects. Computation uses WebCrypto's subtle.sign and runs entirely in your browser — your key and message never leave the device.","category":"text","categoryName":"Text & Encoding","keywords":["hmac generator","hmac sha256 generator","hmac sha512","hmac sha1","hmac calculator online","compute hmac","hmac hex base64","hmac signature generator","api signature generator","webhook signature hmac","hmac key encoding","hmac authentication code","hmac online tool","hmac sha256 online","hmac sha384"],"badge":"Crypto","url":"https://myaitools.net/hmac-generator","manifestUrl":"https://myaitools.net/hmac-generator/tool.json","inputs":[{"type":"text","key":"message","label":"Message","multiline":true,"placeholder":"The message to authenticate…","defaultValue":""},{"type":"text","key":"secret","label":"Secret key","placeholder":"Key value (UTF-8 / hex / base64 depending on encoding)","defaultValue":"","monospace":true},{"type":"select","key":"algorithm","label":"Algorithm","defaultValue":"SHA-256","choices":[{"value":"SHA-1","label":"HMAC-SHA1"},{"value":"SHA-256","label":"HMAC-SHA256"},{"value":"SHA-384","label":"HMAC-SHA384"},{"value":"SHA-512","label":"HMAC-SHA512"}]},{"type":"select","key":"keyEncoding","label":"Key encoding","defaultValue":"utf8","choices":[{"value":"utf8","label":"UTF-8 (plain text)"},{"value":"hex","label":"Hex"},{"value":"base64","label":"Base64"}]}],"outputs":[{"key":"hex","label":"HMAC (hex)"},{"key":"base64","label":"HMAC (base64)"},{"key":"byteLength","label":"Digest length (bytes)"}],"invocation":{"webUi":"https://myaitools.net/hmac-generator","api":null}},{"kind":"utility","slug":"hreflang-tag-generator","name":"Hreflang Tag Generator","description":"Generate hreflang alternate link tags from language codes and localized URLs.","longDescription":"Create HTML hreflang tags for multilingual SEO. Enter one language code and URL per line, optionally include x-default, and get a ready-to-paste block of alternate links. The tool validates common hreflang code shapes and URL syntax so you can catch obvious mistakes before publishing.","category":"dev","categoryName":"Dev","keywords":["hreflang generator","hreflang tag generator","hreflang tags","alternate link generator","multilingual seo","international seo tool","x-default hreflang","language alternate tags","hreflang checker","seo localization tags","generate hreflang html","hreflang url generator"],"badge":"SEO","url":"https://myaitools.net/hreflang-tag-generator","manifestUrl":"https://myaitools.net/hreflang-tag-generator/tool.json","inputs":[{"type":"text","key":"alternates","label":"Language URLs","multiline":true,"monospace":true,"placeholder":"en https://example.com/\nfr https://example.com/fr/\nx-default https://example.com/"}],"outputs":[{"key":"tags","label":"HTML tags","multiline":true},{"key":"warnings","label":"Warnings","multiline":true,"monospace":false}],"invocation":{"webUi":"https://myaitools.net/hreflang-tag-generator","api":null}},{"kind":"utility","slug":"htaccess-to-nginx","name":"Htaccess to Nginx Converter","description":"Convert Apache .htaccess rewrite rules and directives to nginx configuration — free, in your browser.","longDescription":"Paste your .htaccess file and get the equivalent nginx configuration. Handles RewriteRule (with back-references), RewriteCond (HTTPS checks, host matching, file/directory existence), Redirect/RedirectMatch, ErrorDocument, Header set/unset, Options, DirectoryIndex, deny/allow, FilesMatch, and more. Complex conditions are converted to nginx `if` blocks with notes where manual review is needed. Runs 100% client-side.","category":"dev","categoryName":"Dev","keywords":["htaccess to nginx","convert htaccess to nginx","htaccess nginx converter","apache to nginx","rewrite rules nginx","htaccess rewrite to nginx","apache rewrite to nginx","htaccess converter","nginx config generator","migrate apache to nginx","htaccess to nginx online"],"badge":"Converter","url":"https://myaitools.net/htaccess-to-nginx","manifestUrl":"https://myaitools.net/htaccess-to-nginx/tool.json","inputs":[{"type":"text","key":"htaccess","label":".htaccess","placeholder":"RewriteEngine On\nRewriteRule ^old-page$ /new-page [R=301,L]","multiline":true,"monospace":true,"help":"Paste your .htaccess rules here."}],"outputs":[{"key":"nginx","label":"Nginx Configuration","multiline":true,"monospace":true}],"invocation":{"webUi":"https://myaitools.net/htaccess-to-nginx","api":null}},{"kind":"utility","slug":"html-beautifier","name":"HTML Beautifier","description":"Pretty-print HTML — readable indentation with nested tags on their own lines.","longDescription":"Paste minified or messy HTML and reformat it with consistent indentation, line breaks between sibling elements and tidy attribute alignment. Pick 2 spaces, 4 spaces or tabs to match your project style. Powered by js-beautify's html_beautify. Runs entirely in your browser — your markup never leaves this page.","category":"dev","categoryName":"Dev","keywords":["html beautifier","html beautifier online","html formatter","format html online","pretty print html","html prettifier","html indent","beautify html","html formatter free","online html beautifier","html pretty print online","reformat html"],"badge":"Beautifier","url":"https://myaitools.net/html-beautifier","manifestUrl":"https://myaitools.net/html-beautifier/tool.json","inputs":[{"type":"text","key":"html","label":"HTML","placeholder":"<div><p>Hello</p></div>","multiline":true,"monospace":true},{"type":"select","key":"indent","label":"Indent","defaultValue":"2","choices":[{"value":"2","label":"2 spaces"},{"value":"4","label":"4 spaces"},{"value":"tab","label":"Tabs"}]}],"outputs":[{"key":"formatted","label":"Formatted HTML","multiline":true},{"key":"originalSize","label":"Original size (chars)"},{"key":"formattedSize","label":"Formatted size (chars)"}],"invocation":{"webUi":"https://myaitools.net/html-beautifier","api":null}},{"kind":"utility","slug":"html-decode","name":"HTML Decode","description":"Decode HTML entities back to plain text — handles numeric (&#NNN; / &#xNNN;) and the common named entities.","longDescription":"Paste HTML-encoded text and recover the original plain string. Decodes numeric entities (decimal &#NNN; and hex &#xNNN;) plus 50+ common named entities like &amp;, &lt;, &nbsp;, &copy;, &mdash; etc. Runs locally in your browser; your input is never uploaded.","category":"text","categoryName":"Text & Encoding","keywords":["html decode","html decoder","html entity decoder","decode html entities","html unescape","html character decoder","numeric entity decoder","named entity decoder","html decoder online","html decoder free","ampersand decoder","html special chars decoder","convert html entities"],"badge":"Decoder","url":"https://myaitools.net/html-decode","manifestUrl":"https://myaitools.net/html-decode/tool.json","inputs":[{"type":"text","key":"text","label":"HTML-encoded text","placeholder":"&lt;b&gt;Hello &amp; welcome&lt;/b&gt;","multiline":true,"monospace":true}],"outputs":[{"key":"decoded","label":"Decoded text","multiline":true},{"key":"length","label":"Output length (chars)"}],"invocation":{"webUi":"https://myaitools.net/html-decode","api":null}},{"kind":"utility","slug":"html-encode","name":"HTML Encode","description":"Encode text to HTML entities — escape <, >, &, \" and ' (and optionally everything non-ASCII).","longDescription":"Convert any string into HTML-safe entities. The 5 reserved characters (&, <, >, \", ') are always escaped as named entities; non-ASCII characters can optionally be encoded as numeric entities (&#NNN;) so the result is safe to embed in 7-bit ASCII HTML. Runs entirely in your browser — your text is never uploaded.","category":"text","categoryName":"Text & Encoding","keywords":["html encode","html encoder","html entity encoder","html escape","encode html entities","html special characters","text to html entities","html encoder online","html encoder free","ampersand encoder","html character encoder","ascii html encoder","numeric entity encoder"],"badge":"Encoder","url":"https://myaitools.net/html-encode","manifestUrl":"https://myaitools.net/html-encode/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"<b>Hello & welcome</b>","multiline":true,"monospace":true},{"type":"boolean","key":"encodeNonAscii","label":"Encode all non-ASCII characters as numeric entities","defaultValue":false,"help":"When on, any char with code > 127 becomes &#NNN;."}],"outputs":[{"key":"encoded","label":"HTML-encoded","multiline":true},{"key":"length","label":"Output length (chars)"}],"invocation":{"webUi":"https://myaitools.net/html-encode","api":null}},{"kind":"utility","slug":"html-minifier","name":"HTML Minifier","description":"Minify HTML — collapse whitespace, drop comments and optionally compress inline JS and CSS.","longDescription":"Paste any HTML markup and get a tightly-packed, production-ready version. Whitespace between tags is collapsed, comments and DOCTYPE are normalised, and you can optionally minify embedded <script> and <style> blocks. Content inside <pre>, <textarea>, and <code> is preserved verbatim. Conservative — never rewrites identifiers in scripts. Runs entirely in your browser — your markup never leaves this page.","category":"dev","categoryName":"Dev","keywords":["html minifier","html minifier online","minify html","minify html online","compress html","html compressor","html optimizer","shrink html","html minify free","online html minifier","html minify tool","reduce html size"],"badge":"Minifier","url":"https://myaitools.net/html-minifier","manifestUrl":"https://myaitools.net/html-minifier/tool.json","inputs":[{"type":"text","key":"html","label":"HTML","placeholder":"<!DOCTYPE html>\n<html>\n  <body>...</body>\n</html>","multiline":true,"monospace":true},{"type":"boolean","key":"minifyJs","label":"Minify embedded JavaScript","defaultValue":true},{"type":"boolean","key":"minifyCss","label":"Minify embedded CSS","defaultValue":true}],"outputs":[{"key":"minified","label":"Minified HTML","multiline":true},{"key":"originalSize","label":"Original size (chars)"},{"key":"minifiedSize","label":"Minified size (chars)"},{"key":"savings","label":"Saved"}],"invocation":{"webUi":"https://myaitools.net/html-minifier","api":null}},{"kind":"utility","slug":"html-to-text","name":"HTML to Plain Text Converter","description":"Strip HTML tags and convert to clean plain text — handles entities, scripts, styles, links. Free, instant, in-browser.","longDescription":"Paste any HTML and get clean, readable plain text. This converter strips all HTML tags, removes <script> and <style> blocks, converts <br> to newlines, <p> and block elements to double newlines, decodes HTML entities (&amp;, &lt;, &nbsp;, numeric entities, etc.), preserves link URLs in parentheses, and collapses excess whitespace. Perfect for extracting text from web pages, cleaning up HTML email content, preparing data for plain-text systems, or converting HTML articles to readable format. Everything runs locally in your browser — no data is transmitted.","category":"text","categoryName":"Text & Encoding","keywords":["html to text","html to plain text","strip html tags","remove html tags","html to text converter","html stripper","html tag remover","convert html to text online","free html to text","html entity decoder","html to readable text","clean html text","extract text from html","html to text online tool","strip html tags online"],"badge":"Converter","url":"https://myaitools.net/html-to-text","manifestUrl":"https://myaitools.net/html-to-text/tool.json","inputs":[{"type":"text","key":"html","label":"HTML","placeholder":"<p>Paste your HTML here…</p>","multiline":true,"monospace":true}],"outputs":[{"key":"text","label":"Plain Text","multiline":true}],"invocation":{"webUi":"https://myaitools.net/html-to-text","api":null}},{"kind":"utility","slug":"http-status-code","name":"HTTP Status Code Lookup","description":"Look up any HTTP status code — title, category, RFC explanation, and the situations it's actually used for.","longDescription":"Quick reference for every standard HTTP status code from 100 Continue through 511 Network Authentication Required, plus the WebDAV codes (207, 422, 423…), Nginx-only codes (444, 499…), and the Cloudflare 5xx series (520-527). Each entry has the canonical title, the category (1xx/2xx/3xx/4xx/5xx), an RFC-flavoured one-line description, and a 'commonly used for' note so you know whether a 422 vs. 400 vs. 409 is the right pick.","category":"dev","categoryName":"Dev","keywords":["http status code lookup","http status code list","what does 404 mean","what does 502 mean","http response codes","http status code reference","401 vs 403","422 unprocessable entity","http 429 rate limit","503 service unavailable","http error codes","rest api status codes","http status code cheat sheet","webdav status codes","cloudflare 5xx errors"],"badge":"Reference","url":"https://myaitools.net/http-status-code","manifestUrl":"https://myaitools.net/http-status-code/tool.json","inputs":[{"type":"text","key":"code","label":"Status code","defaultValue":"404","placeholder":"e.g. 200, 404, 422, 503"}],"outputs":[{"key":"title","label":"Title"},{"key":"category","label":"Category"},{"key":"description","label":"Description"},{"key":"commonUsage","label":"Commonly used for"},{"key":"mdnUrl","label":"MDN reference"}],"invocation":{"webUi":"https://myaitools.net/http-status-code","api":null}},{"kind":"utility","slug":"iban-validator","name":"IBAN Validator","description":"Validate an IBAN — checks the country format, length and ISO 13616 MOD-97 checksum.","longDescription":"Paste any International Bank Account Number (IBAN) and verify it: the country prefix is matched against the ISO 13616 registry (~80 countries), the length is checked against the spec for that country, and the MOD-97 checksum is computed digit-by-digit using big-integer chunked arithmetic. The bank code and account number are extracted per the country's BBAN layout. Useful for finance teams verifying invoices, backend engineers wiring up SEPA payouts, and customer-support agents triaging failed transfers. Runs entirely in your browser — your data is never sent anywhere.","category":"payment","categoryName":"Payment & cards","keywords":["iban validator","iban check","iban checker","validate iban","iban verify","iban mod 97","iban checksum","iso 13616","iban format check","iban length check","sepa iban validator","iban tool","iban parser"],"badge":"Validator","url":"https://myaitools.net/iban-validator","manifestUrl":"https://myaitools.net/iban-validator/tool.json","inputs":[{"type":"text","key":"iban","label":"IBAN","placeholder":"DE89 3704 0044 0532 0130 00","monospace":true,"help":"Spaces are stripped automatically. The IBAN stays in your browser."}],"outputs":[{"key":"valid","label":"Valid"},{"key":"country","label":"Country"},{"key":"length","label":"Length (expected vs actual)"},{"key":"bankCode","label":"Bank code"},{"key":"accountNumber","label":"Account number"},{"key":"printableFormat","label":"Printable format"}],"invocation":{"webUi":"https://myaitools.net/iban-validator","api":null}},{"kind":"utility","slug":"instagram-id-finder","name":"Instagram ID Finder","description":"Find the numeric Instagram user ID for a public profile URL or username.","longDescription":"Paste a public Instagram profile URL or username and Toolsly will try to find the profile's numeric user ID from public web metadata. This is useful for developers, analytics workflows, social media tools, and API/debugging tasks where a numeric Instagram ID is needed. Private, restricted, or login-gated profiles may not resolve.","category":"dev","categoryName":"Dev","keywords":["instagram id finder","find instagram id","instagram user id finder","instagram numeric id","instagram profile id","instagram id lookup","instagram username to id","find instagram user id","instagram profile id lookup","instagram public id finder","instagram account id finder","instagram user id lookup online"],"badge":"Lookup","url":"https://myaitools.net/instagram-id-finder","manifestUrl":"https://myaitools.net/instagram-id-finder/tool.json","inputs":[{"type":"text","key":"query","label":"Instagram profile URL or username","placeholder":"https://www.instagram.com/username or @username","monospace":true,"help":"Public profiles only. Toolsly does not store the profile URL or result."}],"outputs":[{"key":"id","label":"Numeric ID"},{"key":"handle","label":"Profile handle"},{"key":"profileUrl","label":"Profile URL","monospace":false},{"key":"source","label":"Source","monospace":false},{"key":"note","label":"Note","monospace":false}],"invocation":{"webUi":"https://myaitools.net/instagram-id-finder","api":null}},{"kind":"utility","slug":"ip-address-lookup","name":"IP Address Lookup","description":"Analyze an IP address — validate format, identify type (private/public/loopback), class, and binary representation.","longDescription":"Paste an IPv4 or IPv6 address and instantly see whether it's valid, its version, type (private, public, loopback, link-local, multicast), class (A/B/C/D/E for IPv4), and binary representation. No network requests — everything runs in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["ip address lookup","ip address analyzer","ip address validator","ipv4 lookup","ipv6 lookup","private ip check","ip address class","ip to binary","is ip private","ip address info","ip address type","validate ip address"],"badge":"Lookup","url":"https://myaitools.net/ip-address-lookup","manifestUrl":"https://myaitools.net/ip-address-lookup/tool.json","inputs":[{"type":"text","key":"ip","label":"IP Address","placeholder":"e.g. 192.168.1.1 or 2001:db8::1","defaultValue":"192.168.1.1","monospace":true}],"outputs":[{"key":"isValid","label":"Valid"},{"key":"version","label":"Version"},{"key":"type","label":"Type"},{"key":"class","label":"Class"},{"key":"binary","label":"Binary","monospace":true}],"invocation":{"webUi":"https://myaitools.net/ip-address-lookup","api":null}},{"kind":"utility","slug":"iso3166-country","name":"ISO 3166 Country Lookup","description":"Look up a country by ISO 3166-1 alpha-2, alpha-3, numeric code, or by name fragment.","longDescription":"Bundles the full ISO 3166-1 country list — alpha-2 (e.g. US), alpha-3 (USA), and numeric (840) codes plus the official short name and region. Useful for filling country fields in payment data (issuer country, acquirer country, EMV tag 5F28 / 9F1A). Runs entirely in your browser.","category":"payment","categoryName":"Payment & cards","keywords":["iso 3166 lookup","country code lookup","iso 3166-1","alpha 2 country code","alpha 3 country code","country numeric code","iso country lookup online","iso country lookup free","country code to name","country code search","iso country finder","country iso code"],"badge":"Lookup","url":"https://myaitools.net/iso3166-country","manifestUrl":"https://myaitools.net/iso3166-country/tool.json","inputs":[{"type":"text","key":"query","label":"Code or name","placeholder":"US, USA, 840, or 'united'","help":"Accepts alpha-2, alpha-3, numeric (1-3 digits), or a name fragment."}],"outputs":[{"key":"alpha2","label":"Alpha-2"},{"key":"alpha3","label":"Alpha-3"},{"key":"numeric","label":"Numeric"},{"key":"name","label":"Name"},{"key":"region","label":"Region"}],"invocation":{"webUi":"https://myaitools.net/iso3166-country","api":null}},{"kind":"utility","slug":"iso4217-currency","name":"ISO 4217 Currency Lookup","description":"Look up a currency by ISO 4217 code (alpha or numeric) or by name fragment.","longDescription":"Searches a curated list of ~70 major ISO 4217 currencies. Returns the three-letter code, three-digit numeric code, common symbol and minor-unit exponent (for amount formatting). Runs entirely in your browser.","category":"payment","categoryName":"Payment & cards","keywords":["iso 4217 lookup","currency code lookup","iso 4217 currency","currency code to name","currency numeric code","currency symbol lookup","iso currency code","iso 4217 lookup online","iso 4217 lookup free","currency minor units","find currency code","iso currency search"],"badge":"Lookup","url":"https://myaitools.net/iso4217-currency","manifestUrl":"https://myaitools.net/iso4217-currency/tool.json","inputs":[{"type":"text","key":"query","label":"Code or name","placeholder":"USD, 840, or 'euro'","help":"Accepts the 3-letter alpha code, 3-digit numeric code, or a name fragment."}],"outputs":[{"key":"code","label":"Alpha code"},{"key":"numeric","label":"Numeric code"},{"key":"name","label":"Name"},{"key":"symbol","label":"Symbol"},{"key":"minorUnit","label":"Minor unit exponent"}],"invocation":{"webUi":"https://myaitools.net/iso4217-currency","api":null}},{"kind":"utility","slug":"iso639-language-lookup","name":"ISO 639 Language Lookup","description":"Look up a language by ISO 639-1 alpha-2, ISO 639-2/3 alpha-3, or by name fragment.","longDescription":"Searches a curated list of ~150 widely-spoken languages — the top ~100 by speakers plus all six UN official languages and major regional languages. Returns the ISO 639-1 alpha-2 code, ISO 639-2/T (terminological) alpha-3 code, the ISO 639-2/B (bibliographic) variant when it differs, the English name, the native (endonym) name, the language family and writing direction (LTR / RTL / TTB). Useful for product engineers building locale pickers, content teams tagging translations, and i18n developers validating BCP-47 tags. Match strategy: 2 chars → alpha-2 exact; 3 chars → alpha-3 exact (terminological or bibliographic); longer → case-insensitive substring on name or nativeName. Runs entirely in your browser — your data is never sent anywhere.","category":"payment","categoryName":"Payment & cards","keywords":["iso 639 language codes","language code lookup","iso 639-1","iso 639-2","iso 639-3","language code to name","alpha 2 language code","alpha 3 language code","language family lookup","language direction rtl ltr","language native name","language code search","i18n language code"],"badge":"Lookup","url":"https://myaitools.net/iso639-language-lookup","manifestUrl":"https://myaitools.net/iso639-language-lookup/tool.json","inputs":[{"type":"text","key":"query","label":"Code or name","placeholder":"en, eng, or 'spanish'","help":"Accepts alpha-2 (ISO 639-1), alpha-3 (ISO 639-2/T or 639-3), or a name fragment."}],"outputs":[{"key":"alpha2","label":"Alpha-2 (ISO 639-1)"},{"key":"alpha3","label":"Alpha-3 (terminological)"},{"key":"bibliographic","label":"Alpha-3 (bibliographic)"},{"key":"name","label":"Name"},{"key":"nativeName","label":"Native name"},{"key":"family","label":"Language family"},{"key":"direction","label":"Writing direction"}],"invocation":{"webUi":"https://myaitools.net/iso639-language-lookup","api":null}},{"kind":"utility","slug":"js-beautifier","name":"JavaScript Beautifier","description":"Pretty-print JavaScript — consistent indentation and one statement per line for readable code.","longDescription":"Paste minified or compact JavaScript and reformat it with consistent indentation, line breaks and brace placement. Pick 2 spaces, 4 spaces or tabs to match your project style. Powered by js-beautify's js_beautify. Runs entirely in your browser — your source never leaves this page.","category":"dev","categoryName":"Dev","keywords":["javascript beautifier","js beautifier","javascript beautifier online","js formatter","format javascript online","pretty print javascript","js prettifier","unminify javascript","beautify js","js formatter free","online javascript beautifier","reformat javascript"],"badge":"Beautifier","url":"https://myaitools.net/js-beautifier","manifestUrl":"https://myaitools.net/js-beautifier/tool.json","inputs":[{"type":"text","key":"js","label":"JavaScript","placeholder":"function hello(name){console.log('hi '+name);}","multiline":true,"monospace":true},{"type":"select","key":"indent","label":"Indent","defaultValue":"2","choices":[{"value":"2","label":"2 spaces"},{"value":"4","label":"4 spaces"},{"value":"tab","label":"Tabs"}]}],"outputs":[{"key":"formatted","label":"Formatted JS","multiline":true},{"key":"originalSize","label":"Original size (chars)"},{"key":"formattedSize","label":"Formatted size (chars)"}],"invocation":{"webUi":"https://myaitools.net/js-beautifier","api":null}},{"kind":"utility","slug":"js-minifier","name":"JavaScript Minifier","description":"Minify JavaScript with Terser — compress, mangle and ship the smallest possible bundle.","longDescription":"Paste any JavaScript or ES module and get a compressed, single-line version powered by Terser. Compression eliminates dead code and shortens expressions; mangling renames local identifiers to single letters for maximum size reduction. You can turn mangling off if you need stack traces with readable names. Runs entirely in your browser — your source never leaves this page.","category":"dev","categoryName":"Dev","keywords":["javascript minifier","js minifier","javascript minifier online","minify javascript","minify js online","compress javascript","js compressor","javascript optimizer","terser online","shrink javascript","online js minifier","js minify free"],"badge":"Minifier","url":"https://myaitools.net/js-minifier","manifestUrl":"https://myaitools.net/js-minifier/tool.json","inputs":[{"type":"text","key":"js","label":"JavaScript","placeholder":"function hello(name) {\n  console.log('hi ' + name);\n}","multiline":true,"monospace":true},{"type":"boolean","key":"mangle","label":"Mangle identifiers","defaultValue":true,"help":"Rename local variables to single letters for smaller output."}],"outputs":[{"key":"minified","label":"Minified JS","multiline":true},{"key":"originalSize","label":"Original size (chars)"},{"key":"minifiedSize","label":"Minified size (chars)"},{"key":"savings","label":"Saved"}],"invocation":{"webUi":"https://myaitools.net/js-minifier","api":null}},{"kind":"utility","slug":"json-diff","name":"JSON Diff","description":"Compare two JSON documents and show added, removed and changed fields as a path-based tree.","longDescription":"Paste two JSON documents and see a structural diff between them. Output is a multiline list of changes keyed by JSON Pointer paths (RFC 6901 style) — added fields are prefixed with `+`, removed with `-` and changed with `~`. Useful for spotting drift between API responses, config files or test fixtures. Runs entirely in your browser — no uploads, free, online.","category":"text","categoryName":"Text & Encoding","keywords":["json diff","json diff online","json diff free","compare json","json compare","diff two json files","json comparison tool","json difference","json delta","find changes between json","json structural diff","json side by side"],"badge":"Diff","url":"https://myaitools.net/json-diff","manifestUrl":"https://myaitools.net/json-diff/tool.json","inputs":[{"type":"text","key":"a","label":"JSON A (original)","placeholder":"{\"a\": 1, \"b\": [1, 2]}","multiline":true,"monospace":true},{"type":"text","key":"b","label":"JSON B (modified)","placeholder":"{\"a\": 2, \"b\": [1, 2, 3]}","multiline":true,"monospace":true}],"outputs":[{"key":"diff","label":"Diff","multiline":true},{"key":"addedCount","label":"Added"},{"key":"removedCount","label":"Removed"},{"key":"changedCount","label":"Changed"}],"invocation":{"webUi":"https://myaitools.net/json-diff","api":null}},{"kind":"utility","slug":"json-flatten","name":"JSON Flatten","description":"Flatten a nested JSON document to a single-level object with dot, underscore or bracket paths.","longDescription":"Paste a nested JSON object or array and produce a single-level (flat) object where each leaf value is keyed by its full path. Choose between dot-notation (`a.b.0`), underscore (`a_b_0`) or array-bracket (`a.b[0]`) styles. Useful for spreadsheets, env-var generation or quick diffs across structurally similar payloads. Runs entirely in your browser — free, online, no upload.","category":"text","categoryName":"Text & Encoding","keywords":["json flatten","flatten json","json to flat","json dot notation","json one level","flatten nested json","flat json","json flatten online","json flatten free","json to dotted keys","json bracket notation","json flatten tool"],"badge":"Transformer","url":"https://myaitools.net/json-flatten","manifestUrl":"https://myaitools.net/json-flatten/tool.json","inputs":[{"type":"text","key":"json","label":"JSON","placeholder":"{\"a\": {\"b\": {\"c\": [1, 2]}}}","multiline":true,"monospace":true},{"type":"select","key":"separator","label":"Separator","defaultValue":"dot","choices":[{"value":"dot","label":"Dot (a.b.0)"},{"value":"underscore","label":"Underscore (a_b_0)"},{"value":"bracket","label":"Bracket (a.b[0])"}]}],"outputs":[{"key":"flat","label":"Flat","multiline":true},{"key":"keyCount","label":"Keys"}],"invocation":{"webUi":"https://myaitools.net/json-flatten","api":null}},{"kind":"utility","slug":"json-formatter","name":"JSON Formatter","description":"Pretty-print or minify any JSON document — validates structure and reports parse errors with position.","longDescription":"Paste any JSON and reformat it with 2-space, 4-space or tab indentation, or minify it to a single line. Invalid JSON is reported with a clear error message and the position the parser stopped at. Everything runs entirely in your browser — your data stays on this page.","category":"text","categoryName":"Text & Encoding","keywords":["json formatter","json formatter online","json formatter free","json beautifier","json prettifier","json pretty print","json minifier","minify json","format json","validate json","json validator","json parser online","json lint","json viewer"],"badge":"Formatter","url":"https://myaitools.net/json-formatter","manifestUrl":"https://myaitools.net/json-formatter/tool.json","inputs":[{"type":"text","key":"json","label":"JSON","placeholder":"{\"hello\":\"world\"}","multiline":true,"monospace":true},{"type":"select","key":"mode","label":"Output","defaultValue":"pretty2","choices":[{"value":"pretty2","label":"Pretty (2 spaces)"},{"value":"pretty4","label":"Pretty (4 spaces)"},{"value":"tab","label":"Pretty (tabs)"},{"value":"min","label":"Minified"}]}],"outputs":[{"key":"formatted","label":"Formatted","multiline":true},{"key":"originalSize","label":"Original size (chars)"},{"key":"formattedSize","label":"Formatted size (chars)"}],"invocation":{"webUi":"https://myaitools.net/json-formatter","api":null}},{"kind":"utility","slug":"json-merge","name":"JSON Merge","description":"Deep-merge two JSON documents — choose how to handle conflicting keys and arrays.","longDescription":"Combine two JSON objects with a deep recursive merge. Choose whether the right or left side wins on conflicting scalars, and whether arrays at the same path should be concatenated or replaced. Useful for layering config files, applying overrides on top of defaults, or building composite payloads. Runs entirely in your browser — free, online, no upload.","category":"text","categoryName":"Text & Encoding","keywords":["json merge","json merge online","deep merge json","json combine","merge two json","json overlay","json config merge","json override","json deep merge tool","merge json arrays","json union","json combiner"],"badge":"Merger","url":"https://myaitools.net/json-merge","manifestUrl":"https://myaitools.net/json-merge/tool.json","inputs":[{"type":"text","key":"a","label":"JSON A (base / left)","placeholder":"{\"a\": 1, \"tags\": [\"x\"]}","multiline":true,"monospace":true},{"type":"text","key":"b","label":"JSON B (overlay / right)","placeholder":"{\"a\": 2, \"tags\": [\"y\"]}","multiline":true,"monospace":true},{"type":"select","key":"strategy","label":"Strategy","defaultValue":"right","choices":[{"value":"right","label":"Right wins (deep)"},{"value":"left","label":"Left wins (deep)"},{"value":"concat","label":"Concat arrays (right wins scalars)"},{"value":"replace","label":"Replace arrays (right wins scalars)"}]}],"outputs":[{"key":"merged","label":"Merged","multiline":true}],"invocation":{"webUi":"https://myaitools.net/json-merge","api":null}},{"kind":"utility","slug":"json-patch-apply","name":"JSON Patch Apply","description":"Apply an RFC 6902 JSON Patch to a JSON document — supports add, remove, replace, move, copy and test.","longDescription":"Paste a JSON document and a JSON Patch array (per RFC 6902) and apply each operation in order. Supports `add`, `remove`, `replace`, `move`, `copy` and `test`. On a failed `test` operation, the index of the failing op is reported. Useful for previewing the effect of a patch before persisting it, or debugging patch generation. Runs entirely in your browser — free, online, no upload.","category":"text","categoryName":"Text & Encoding","keywords":["json patch apply","apply json patch","rfc 6902 apply","json patch online","json patch executor","json patch runner","json patch test","json patch tool","patch json document","json mutation","json patch free","patch a json file"],"badge":"Patcher","url":"https://myaitools.net/json-patch-apply","manifestUrl":"https://myaitools.net/json-patch-apply/tool.json","inputs":[{"type":"text","key":"document","label":"Document","placeholder":"{\"a\": 1}","multiline":true,"monospace":true},{"type":"text","key":"patch","label":"Patch (array of operations)","placeholder":"[{\"op\": \"replace\", \"path\": \"/a\", \"value\": 2}]","multiline":true,"monospace":true}],"outputs":[{"key":"result","label":"Result","multiline":true}],"invocation":{"webUi":"https://myaitools.net/json-patch-apply","api":null}},{"kind":"utility","slug":"json-patch-generator","name":"JSON Patch Generator","description":"Generate an RFC 6902 JSON Patch describing the changes needed to turn one JSON document into another.","longDescription":"Paste a source (`from`) and target (`to`) JSON document and produce a JSON Patch array per RFC 6902. The patch is a sequence of `add`, `remove` and `replace` operations keyed by JSON Pointer paths that, when applied to `from`, will produce `to`. Useful for syncing state, building diff-based APIs, or auditing config drift. Runs entirely in your browser — free, online, no upload.","category":"text","categoryName":"Text & Encoding","keywords":["json patch generator","json patch online","rfc 6902","rfc6902","generate json patch","json patch diff","json patch create","json pointer diff","json patch tool","json patch free","json patch from diff","json patch builder"],"badge":"Generator","url":"https://myaitools.net/json-patch-generator","manifestUrl":"https://myaitools.net/json-patch-generator/tool.json","inputs":[{"type":"text","key":"from","label":"From (source)","placeholder":"{\"a\": 1}","multiline":true,"monospace":true},{"type":"text","key":"to","label":"To (target)","placeholder":"{\"a\": 2, \"b\": true}","multiline":true,"monospace":true}],"outputs":[{"key":"patch","label":"JSON Patch (RFC 6902)","multiline":true},{"key":"operationCount","label":"Operations"}],"invocation":{"webUi":"https://myaitools.net/json-patch-generator","api":null}},{"kind":"utility","slug":"json-path-finder","name":"JSONPath Finder","description":"Query a JSON document with a JSONPath expression — supports $, ., [n], [*], ..key and [?(@.field op value)] filters.","longDescription":"Paste any JSON and run a JSONPath query against it. The supported subset covers the common cases: `$` for the root, `.key` and `[\"key\"]` for child access, `[index]` (negative allowed) and `[*]` for array elements, `..key` for recursive descent, and filter expressions like `[?(@.price < 10)]` with ==, !=, <, >, <=, >=. Matches are returned as a JSON array. Useful for exploring large API responses or extracting data points without writing code. Runs entirely in your browser — free, online, no upload.","category":"text","categoryName":"Text & Encoding","keywords":["jsonpath","jsonpath tester","jsonpath finder","json query","json path online","json path free","json xpath","query json","extract from json","json filter expression","jsonpath evaluator","jsonpath playground"],"badge":"Query","url":"https://myaitools.net/json-path-finder","manifestUrl":"https://myaitools.net/json-path-finder/tool.json","inputs":[{"type":"text","key":"json","label":"JSON","placeholder":"{\"store\": {\"book\": [{\"title\": \"A\", \"price\": 5}, {\"title\": \"B\", \"price\": 12}]}}","multiline":true,"monospace":true},{"type":"text","key":"path","label":"JSONPath","placeholder":"$.store.book[?(@.price < 10)].title","monospace":true}],"outputs":[{"key":"matches","label":"Matches","multiline":true},{"key":"matchCount","label":"Match count"}],"invocation":{"webUi":"https://myaitools.net/json-path-finder","api":null}},{"kind":"utility","slug":"json-schema-generator","name":"JSON Schema Generator","description":"Infer a JSON Schema (Draft-07) from any JSON document — nested objects and array element types are inferred recursively.","longDescription":"Paste any JSON object or array and generate a matching JSON Schema (Draft-07). Nested objects become inline `object` schemas with `properties` and `required`; arrays with mixed element types produce a `oneOf` union. All discovered object properties are marked required by default — flip the `All optional` switch to mark them optional instead. Useful for bootstrapping validation rules around an existing API response. Runs entirely in your browser — free, online, no upload.","category":"text","categoryName":"Text & Encoding","keywords":["json schema generator","generate json schema","json schema from json","infer json schema","draft-07 schema","json schema online","json schema free","json validation schema","json schema tool","openapi schema from json","json schema builder","automatic json schema"],"badge":"Generator","url":"https://myaitools.net/json-schema-generator","manifestUrl":"https://myaitools.net/json-schema-generator/tool.json","inputs":[{"type":"text","key":"json","label":"JSON","placeholder":"{\"name\": \"Ada\", \"age\": 36}","multiline":true,"monospace":true},{"type":"boolean","key":"allOptional","label":"All properties optional","defaultValue":false,"help":"If on, no properties are added to `required`."}],"outputs":[{"key":"schema","label":"JSON Schema","multiline":true}],"invocation":{"webUi":"https://myaitools.net/json-schema-generator","api":null}},{"kind":"utility","slug":"json-sort-keys","name":"JSON Sort Keys","description":"Sort the keys of a JSON object alphabetically — recursively, case-insensitively, or with numeric awareness.","longDescription":"Paste any JSON and reorder its object keys. By default the sort is applied recursively across all nested objects and pretty-printed. Optionally make it case-insensitive, sort descending, or enable numeric-aware ordering so that `item2` sorts before `item10` (via Intl.Collator). Sorted JSON is useful for stable diffs, lockfile comparisons or canonical hashing. Runs entirely in your browser — free, online, no upload.","category":"text","categoryName":"Text & Encoding","keywords":["json sort keys","sort json keys","alphabetize json","json canonical","json key sorter","json key ordering","json sort online","json sort free","json stable order","json normalize keys","sort json alphabetically","json reorder keys"],"badge":"Transformer","url":"https://myaitools.net/json-sort-keys","manifestUrl":"https://myaitools.net/json-sort-keys/tool.json","inputs":[{"type":"text","key":"json","label":"JSON","placeholder":"{\"b\": 1, \"a\": 2}","multiline":true,"monospace":true},{"type":"boolean","key":"recursive","label":"Recursive (sort nested objects)","defaultValue":true},{"type":"select","key":"direction","label":"Direction","defaultValue":"asc","choices":[{"value":"asc","label":"Ascending"},{"value":"desc","label":"Descending"}]},{"type":"boolean","key":"caseInsensitive","label":"Case-insensitive","defaultValue":false},{"type":"boolean","key":"numericAware","label":"Numeric-aware (item2 < item10)","defaultValue":false}],"outputs":[{"key":"sorted","label":"Sorted","multiline":true}],"invocation":{"webUi":"https://myaitools.net/json-sort-keys","api":null}},{"kind":"utility","slug":"json-to-csharp-class","name":"JSON to C# Class","description":"Generate C# classes from JSON with typed properties for nested objects and arrays.","longDescription":"Paste any JSON response and generate C# model classes for .NET APIs, DTOs and deserialization. Nested objects become separate classes, arrays become List<T>, strings are nullable by default, and empty or mixed arrays fall back to object lists. Everything runs locally in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["json to c#","json to csharp","json to c# class","c# class generator","json to c# model","json to dotnet class","json to dto","csharp model generator","generate c# classes from json","json to class online","json c# converter","free json to c# class"],"badge":"Generator","url":"https://myaitools.net/json-to-csharp-class","manifestUrl":"https://myaitools.net/json-to-csharp-class/tool.json","inputs":[{"type":"text","key":"json","label":"JSON","placeholder":"{\"id\": 1, \"name\": \"Ada\", \"tags\": [\"math\"]}","multiline":true,"monospace":true},{"type":"text","key":"rootName","label":"Root class name","defaultValue":"Root"}],"outputs":[{"key":"code","label":"C#","multiline":true}],"invocation":{"webUi":"https://myaitools.net/json-to-csharp-class","api":null}},{"kind":"utility","slug":"json-to-go-struct","name":"JSON to Go Struct","description":"Generate Go structs with json tags from any JSON payload — nested objects become separate named types.","longDescription":"Paste any JSON object or array and generate matching Go structs. Field names are capitalized to be exported and the original keys are preserved in the `json:` tag. Nested objects are extracted into their own top-level structs, mixed-type or null fields fall back to `interface{}`. Arrays of objects produce a `[]Struct` slice, with element type inferred from the first object. Runs entirely in your browser — free, online, no upload.","category":"text","categoryName":"Text & Encoding","keywords":["json to go","json to go struct","json to golang struct","go struct generator","json to golang","go struct from json","json struct tags","json to go online","json to go free","go struct codegen","infer go types from json","json marshal struct"],"badge":"Generator","url":"https://myaitools.net/json-to-go-struct","manifestUrl":"https://myaitools.net/json-to-go-struct/tool.json","inputs":[{"type":"text","key":"json","label":"JSON","placeholder":"{\"name\": \"Ada\", \"age\": 36, \"tags\": [\"math\"]}","multiline":true,"monospace":true},{"type":"text","key":"rootName","label":"Root struct name","defaultValue":"Root"}],"outputs":[{"key":"code","label":"Go","multiline":true}],"invocation":{"webUi":"https://myaitools.net/json-to-go-struct","api":null}},{"kind":"utility","slug":"json-to-kotlin-data-class","name":"JSON to Kotlin Data Class","description":"Generate Kotlin data classes from JSON for Android, Ktor and API clients.","longDescription":"Paste a JSON payload and generate Kotlin data classes with inferred property types. Nested objects become named data classes, arrays become List<T>, and properties default to nullable values for safer deserialization. Runs entirely in your browser with no upload.","category":"text","categoryName":"Text & Encoding","keywords":["json to kotlin","json to kotlin data class","kotlin data class generator","json to kotlin class","android data class generator","kotlin model generator","json to kotlin online","generate kotlin classes from json","kotlin dto generator","json kotlin converter","free json to kotlin","api response to kotlin data class"],"badge":"Generator","url":"https://myaitools.net/json-to-kotlin-data-class","manifestUrl":"https://myaitools.net/json-to-kotlin-data-class/tool.json","inputs":[{"type":"text","key":"json","label":"JSON","placeholder":"{\"id\": 1, \"name\": \"Ada\", \"tags\": [\"math\"]}","multiline":true,"monospace":true},{"type":"text","key":"rootName","label":"Root data class name","defaultValue":"Root"}],"outputs":[{"key":"code","label":"Kotlin","multiline":true}],"invocation":{"webUi":"https://myaitools.net/json-to-kotlin-data-class","api":null}},{"kind":"utility","slug":"json-to-python-class","name":"JSON to Python Class","description":"Generate Python @dataclass, pydantic BaseModel or TypedDict definitions from any JSON payload.","longDescription":"Paste any JSON object or array and generate matching Python classes. Choose between standard library `@dataclass`, `pydantic.BaseModel`, or `typing.TypedDict`. Type hints use `str`, `int`, `float`, `bool`, `Optional[X]`, `List[X]` and `Dict[str, Any]`. Nested objects become separate named classes. Field names are sanitized to snake_case; the original JSON key is preserved via an alias where the style supports it. Runs entirely in your browser — free, online, no upload.","category":"text","categoryName":"Text & Encoding","keywords":["json to python","json to python class","json to dataclass","json to pydantic","json to typeddict","json to pydantic model","python class from json","pydantic generator","json to python types","json to python online","json to python free","json codegen python","infer python types from json"],"badge":"Generator","url":"https://myaitools.net/json-to-python-class","manifestUrl":"https://myaitools.net/json-to-python-class/tool.json","inputs":[{"type":"text","key":"json","label":"JSON","placeholder":"{\"name\": \"Ada\", \"age\": 36}","multiline":true,"monospace":true},{"type":"text","key":"rootName","label":"Root class name","defaultValue":"Root"},{"type":"select","key":"style","label":"Style","defaultValue":"dataclass","choices":[{"value":"dataclass","label":"@dataclass"},{"value":"pydantic","label":"pydantic BaseModel"},{"value":"typeddict","label":"TypedDict"}]}],"outputs":[{"key":"code","label":"Python","multiline":true}],"invocation":{"webUi":"https://myaitools.net/json-to-python-class","api":null}},{"kind":"utility","slug":"json-to-rust-struct","name":"JSON to Rust Struct","description":"Generate Rust structs with serde derives from any JSON payload — fields auto-renamed to snake_case.","longDescription":"Paste any JSON object or array and generate matching Rust structs deriving `Serialize`, `Deserialize`, and `Debug` from the `serde` crate. Field names are converted to snake_case, with `#[serde(rename = \"originalKey\")]` added when the original key differs. Nested objects become their own top-level structs and arrays of objects become `Vec<Struct>`. Heterogeneous arrays and null fields fall back to `serde_json::Value`. Runs entirely in your browser — free, online, no upload.","category":"text","categoryName":"Text & Encoding","keywords":["json to rust","json to rust struct","rust struct generator","json to serde","serde struct from json","rust struct from json","json to rust online","json to rust free","rust codegen json","infer rust types from json","json to serde struct","rust serialize deserialize"],"badge":"Generator","url":"https://myaitools.net/json-to-rust-struct","manifestUrl":"https://myaitools.net/json-to-rust-struct/tool.json","inputs":[{"type":"text","key":"json","label":"JSON","placeholder":"{\"name\": \"Ada\", \"age\": 36}","multiline":true,"monospace":true},{"type":"text","key":"rootName","label":"Root struct name","defaultValue":"Root"}],"outputs":[{"key":"code","label":"Rust","multiline":true}],"invocation":{"webUi":"https://myaitools.net/json-to-rust-struct","api":null}},{"kind":"utility","slug":"json-to-typescript","name":"JSON to TypeScript","description":"Infer TypeScript interfaces from any JSON payload — nested objects get their own named interface.","longDescription":"Paste any JSON object or array and generate matching TypeScript interfaces. Nested objects are extracted into separate named interfaces; mixed-type arrays produce a union. Useful for typing API responses without hand-writing the boilerplate. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["json to typescript","json to ts","json to typescript interface","ts type generator","typescript interface generator","infer types from json","json to types","json schema to typescript","json to typescript online","json to typescript free","auto generate ts types","api response types","typescript codegen"],"badge":"Generator","url":"https://myaitools.net/json-to-typescript","manifestUrl":"https://myaitools.net/json-to-typescript/tool.json","inputs":[{"type":"text","key":"json","label":"JSON","placeholder":"{\"name\": \"Ada\", \"age\": 36, \"tags\": [\"math\", \"engine\"]}","multiline":true,"monospace":true},{"type":"text","key":"rootName","label":"Root interface name","defaultValue":"Root"}],"outputs":[{"key":"typescript","label":"TypeScript","multiline":true}],"invocation":{"webUi":"https://myaitools.net/json-to-typescript","api":null}},{"kind":"utility","slug":"json-unflatten","name":"JSON Unflatten","description":"Expand a flat dot/bracket-keyed object back into nested JSON — numeric keys become array indices.","longDescription":"The inverse of JSON Flatten. Paste a flat JSON object whose keys use dot-notation (`a.b.0`) or array brackets (`a.b[0]`) and rebuild the nested structure. Numeric segments are treated as array indices, everything else as object keys. Useful for parsing form-data style payloads, CSV → nested JSON, or undoing a flatten operation. Runs entirely in your browser — free, online, no upload.","category":"text","categoryName":"Text & Encoding","keywords":["json unflatten","unflatten json","flat json to nested","json from dot notation","expand flat json","nest json","json deepen","json unflatten online","json unflatten free","form data to json","json hierarchy builder","json restructure"],"badge":"Transformer","url":"https://myaitools.net/json-unflatten","manifestUrl":"https://myaitools.net/json-unflatten/tool.json","inputs":[{"type":"text","key":"json","label":"Flat JSON","placeholder":"{\"a.b.0\": \"x\", \"a.b.1\": \"y\"}","multiline":true,"monospace":true}],"outputs":[{"key":"nested","label":"Nested","multiline":true}],"invocation":{"webUi":"https://myaitools.net/json-unflatten","api":null}},{"kind":"utility","slug":"json-validator","name":"JSON Validator & Formatter","description":"Validate JSON and see errors with line numbers — plus auto-format/beautify. Free, instant, in-browser.","longDescription":"Paste any JSON text and instantly check whether it is valid. If the JSON is well-formed, you get a beautifully indented/formatted version. If it contains errors, you get the exact line number, column, and surrounding context so you can fix it fast. Supports deeply nested objects, arrays, strings with Unicode, numbers, booleans, and null. Perfect for debugging API responses, config files (package.json, tsconfig.json), data payloads, or any JSON you receive. Everything runs locally in your browser — no data is transmitted.","category":"dev","categoryName":"Dev","keywords":["json validator","json formatter","validate json","json checker","json lint","json validator online","json beautifier","json syntax checker","json error finder","json format online","free json validator","json pretty print","json parser online","check json syntax","json validation tool"],"badge":"Validator","url":"https://myaitools.net/json-validator","manifestUrl":"https://myaitools.net/json-validator/tool.json","inputs":[{"type":"text","key":"json","label":"JSON","placeholder":"{\"key\": \"value\"}","multiline":true,"monospace":true,"help":"Paste JSON to validate and format."}],"outputs":[{"key":"status","label":"Status"},{"key":"formatted","label":"Formatted JSON","multiline":true,"monospace":true},{"key":"errorDetails","label":"Error Details","multiline":true,"monospace":true}],"invocation":{"webUi":"https://myaitools.net/json-validator","api":null}},{"kind":"utility","slug":"jwt-decoder","name":"JWT Decoder","description":"Decode a JSON Web Token to inspect its header and payload — runs locally, your token never leaves the browser.","longDescription":"Paste any JWT and instantly see its header, payload (claims), algorithm, and expiration. This tool only decodes the Base64URL segments — it does NOT verify the signature, which would require the issuer's secret or public key. Everything runs in your browser; tokens are never transmitted.","category":"text","categoryName":"Text & Encoding","keywords":["jwt decoder","jwt decode","jwt decoder online","jwt decoder free","decode jwt","json web token decoder","jwt parser","jwt viewer","jwt inspect","jwt payload decoder","jwt header decoder","jwt expiration check","jwt claims viewer"],"badge":"Decoder","url":"https://myaitools.net/jwt-decoder","manifestUrl":"https://myaitools.net/jwt-decoder/tool.json","inputs":[{"type":"text","key":"token","label":"JWT","placeholder":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.signature","multiline":true,"monospace":true,"help":"Three Base64URL-encoded segments separated by dots."}],"outputs":[{"key":"header","label":"Header","multiline":true},{"key":"payload","label":"Payload","multiline":true},{"key":"signature","label":"Signature (hex)"},{"key":"algorithm","label":"Algorithm"},{"key":"expiresAt","label":"Expires"}],"invocation":{"webUi":"https://myaitools.net/jwt-decoder","api":null}},{"kind":"utility","slug":"kcv-calculator","name":"KCV Calculator (3DES)","description":"Compute the Key Check Value (KCV) of a single, double or triple length DES key by encrypting 8 bytes of zeros.","longDescription":"Standard payments-industry KCV: ECB-encrypt a block of 0x00 with the key under 3DES and take the first 3 (or 6) bytes of the ciphertext. Single-length keys are repeated three times; double-length keys use the K1K2K1 derivation. Runs entirely in your browser via crypto-js — your key is never transmitted.","category":"payment","categoryName":"Payment & cards","keywords":["kcv calculator","kcv calculator online","kcv calculator free","key check value","3des kcv","tdes kcv","des key kcv","kcv tool","calculate kcv","kcv 3 bytes","kcv 6 bytes","payment hsm kcv"],"badge":"Calculator","url":"https://myaitools.net/kcv-calculator","manifestUrl":"https://myaitools.net/kcv-calculator/tool.json","inputs":[{"type":"text","key":"key","label":"Key (hex)","placeholder":"0123456789ABCDEF FEDCBA9876543210","monospace":true,"help":"16 (single), 32 (double) or 48 (triple) hex digits. Whitespace is ignored."},{"type":"select","key":"length","label":"KCV length","defaultValue":"3","choices":[{"value":"3","label":"3 bytes (6 hex digits) — standard"},{"value":"6","label":"6 bytes (12 hex digits)"}]}],"outputs":[{"key":"kcv","label":"KCV"},{"key":"keyForm","label":"Key length"}],"invocation":{"webUi":"https://myaitools.net/kcv-calculator","api":null}},{"kind":"utility","slug":"leet-speak","name":"Leet Speak (1337) Converter","description":"Convert text into l33t sp34k — three intensity levels: mild (a→4, e→3, i→1, o→0, s→5, t→7), strong, and maximum.","longDescription":"Translate ordinary text into the classic hacker l33t sp34k. Three intensity levels: 'Mild' replaces only the six most recognisable letters (a→4, e→3, i→1, o→0, s→5, t→7), 'Strong' adds b→8, g→9, l→1, z→2, and 'Maximum' replaces nearly every letter with a multi-character glyph mash (c→(, d→|), m→/\\/\\, w→\\/\\/, …). Case is normalised first since leet uses digits and symbols rather than capitalisation. Just-for-fun encoding, runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["leet speak","leet converter","leet generator","1337 speak","1337 converter","l33t speak","l33t generator","text to leet","convert text to leet","hacker speak","leet sp34k generator","leet translator","leet style text"],"badge":"Encoder","url":"https://myaitools.net/leet-speak","manifestUrl":"https://myaitools.net/leet-speak/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"elite hacker","multiline":true},{"type":"select","key":"intensity","label":"Intensity","defaultValue":"mild","choices":[{"value":"mild","label":"Mild — six classic swaps"},{"value":"strong","label":"Strong — adds b/g/l/z"},{"value":"maximum","label":"Maximum — every letter mangled"}]}],"outputs":[{"key":"leet","label":"Leet speak","multiline":true}],"invocation":{"webUi":"https://myaitools.net/leet-speak","api":null}},{"kind":"utility","slug":"lorem-ipsum","name":"Lorem Ipsum Generator","description":"Generate placeholder lorem ipsum text — by paragraph, sentence or word count.","longDescription":"Produce as much lorem ipsum filler text as you need — choose between paragraphs, sentences or individual words and control whether the output begins with the canonical 'Lorem ipsum dolor sit amet…' opener. Generation happens entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["lorem ipsum generator","lorem ipsum","lorem ipsum online","lorem ipsum free","placeholder text generator","dummy text generator","filler text generator","lorem ipsum paragraphs","lorem ipsum sentences","lorem ipsum words","design placeholder text","lipsum generator","fake text generator"],"badge":"Generator","url":"https://myaitools.net/lorem-ipsum","manifestUrl":"https://myaitools.net/lorem-ipsum/tool.json","inputs":[{"type":"select","key":"unit","label":"Unit","defaultValue":"paragraphs","choices":[{"value":"paragraphs","label":"Paragraphs"},{"value":"sentences","label":"Sentences"},{"value":"words","label":"Words"}]},{"type":"number","key":"count","label":"How many","defaultValue":3,"min":1,"max":50,"step":1,"help":"Between 1 and 50."},{"type":"boolean","key":"startWithLorem","label":"Start with \"Lorem ipsum…\"","defaultValue":true}],"outputs":[{"key":"text","label":"Generated text","multiline":true},{"key":"stats","label":"Stats"}],"invocation":{"webUi":"https://myaitools.net/lorem-ipsum","api":null}},{"kind":"utility","slug":"luhn-check","name":"Luhn Check","description":"Validate a card number with the Luhn (mod-10) algorithm — runs locally in your browser.","longDescription":"Paste any card-style number (PAN, IMEI, SIN) and instantly check whether its trailing digit satisfies the Luhn mod-10 checksum. Spaces and dashes are stripped automatically. The card never leaves your device — the validation runs entirely in your browser.","category":"payment","categoryName":"Payment & cards","keywords":["luhn check","luhn check online","luhn check free","luhn algorithm","luhn algorithm online","mod 10 check","validate card number","credit card validator","pan check digit","luhn tool","luhn calculator","card number validator online"],"badge":"Validator","url":"https://myaitools.net/luhn-check","manifestUrl":"https://myaitools.net/luhn-check/tool.json","inputs":[{"type":"text","key":"pan","label":"Card number / PAN","placeholder":"4242 4242 4242 4242","monospace":true,"help":"Spaces and dashes are ignored. The number stays in your browser."}],"outputs":[{"key":"valid","label":"Valid (Luhn)"},{"key":"checkDigit","label":"Check digit"},{"key":"normalized","label":"Normalized PAN"},{"key":"length","label":"Length"}],"invocation":{"webUi":"https://myaitools.net/luhn-check","api":null}},{"kind":"utility","slug":"markdown-table-builder","name":"Markdown Table Builder","description":"Paste tab-separated values and get a clean GitHub-flavored Markdown table — instantly.","longDescription":"Build a Markdown table without counting pipes by hand. Set the number of rows and columns, pick an alignment, and paste your data as plain tab-separated values (one row per line). We compute column widths, pad cells to line up nicely in the source, and emit valid GitHub-Flavored Markdown — including the alignment row (`| :--- | ---: |` etc.). The first row of your data is treated as the header. A monospaced preview shows roughly how the table will render. Everything happens locally in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["markdown table builder","markdown table generator","create markdown table","gfm table generator","markdown table maker","convert tsv to markdown","csv to markdown table","markdown table online","github table generator","markdown table tool","tsv to markdown","table to markdown","free markdown table generator"],"badge":"Builder","url":"https://myaitools.net/markdown-table-builder","manifestUrl":"https://myaitools.net/markdown-table-builder/tool.json","inputs":[{"type":"number","key":"rows","label":"Data rows (not counting header)","defaultValue":2,"min":1,"max":50,"step":1},{"type":"number","key":"cols","label":"Columns","defaultValue":3,"min":2,"max":12,"step":1},{"type":"select","key":"alignment","label":"Column alignment","defaultValue":"left","choices":[{"value":"left","label":"Left"},{"value":"center","label":"Center"},{"value":"right","label":"Right"},{"value":"mixed","label":"Mixed (first left, last right, middle center)"}]},{"type":"text","key":"data","label":"Data (TSV — header on first line, tabs between cells)","multiline":true,"monospace":true,"defaultValue":"Name\tAge\tCity\nAlice\t30\tNYC\nBob\t25\tSF","help":"One row per line, separated by tabs. Copy from a spreadsheet — Excel/Sheets paste as TSV by default."}],"outputs":[{"key":"markdown","label":"Markdown table","multiline":true,"monospace":true},{"key":"preview","label":"Plain-text preview","multiline":true,"monospace":true}],"invocation":{"webUi":"https://myaitools.net/markdown-table-builder","api":null}},{"kind":"utility","slug":"markdown-to-slack","name":"Markdown to Slack Converter","description":"Convert standard Markdown to Slack mrkdwn format — bold, italic, links, code blocks, lists. Free, instant, in-browser.","longDescription":"Paste Markdown text and instantly convert it to Slack's mrkdwn format. Converts **bold** to *bold*, headers to bold text, ~~strikethrough~~ to ~strikethrough~, [links](url) to <url|links>, bullet lists to • items, and preserves code blocks. Perfect for developers and writers who draft in Markdown and need to paste into Slack channels, messages, or Slack API payloads. Handles nested formatting, multi-level lists, and fenced code blocks. Runs entirely in your browser — nothing is sent to any server.","category":"text","categoryName":"Text & Encoding","keywords":["markdown to slack","markdown to slack converter","convert markdown to slack","slack mrkdwn converter","markdown slack format","slack markdown converter","markdown to mrkdwn","slack formatting tool","convert markdown slack mrkdwn","slack message formatter","markdown to slack online","free markdown slack converter","slack bold italic converter","markdown code block slack","slack api mrkdwn"],"badge":"Converter","url":"https://myaitools.net/markdown-to-slack","manifestUrl":"https://myaitools.net/markdown-to-slack/tool.json","inputs":[{"type":"text","key":"markdown","label":"Markdown","placeholder":"Paste your Markdown here…","multiline":true,"monospace":true}],"outputs":[{"key":"slack","label":"Slack mrkdwn","multiline":true,"monospace":true}],"invocation":{"webUi":"https://myaitools.net/markdown-to-slack","api":null}},{"kind":"utility","slug":"mcc-lookup","name":"MCC Lookup","description":"Look up an ISO 18245 Merchant Category Code by 4-digit code or by name fragment.","longDescription":"Searches a curated list of ~80 well-known ISO 18245 Merchant Category Codes — the 4-digit codes acquirers assign to every merchant to classify what they sell (groceries, airlines, restaurants, digital goods, gambling, and so on). Useful for product engineers building payment dashboards, risk analysts triaging declines, finance teams categorising card spend, and developers writing fraud rules. Match by exact code first, then by case-insensitive substring on description or category. Each entry includes a best-effort risk tier (Low / Medium / High) based on the category — gambling and quasi-cash are High, recurring digital goods and travel are Medium, regulated retail and utilities are Low. Runs entirely in your browser — your data is never sent anywhere.","category":"payment","categoryName":"Payment & cards","keywords":["mcc lookup","merchant category code","mcc code lookup","iso 18245 lookup","mcc to category","merchant category code lookup","mcc code list","card scheme mcc","mcc search","mcc finder","mcc risk tier","mcc decoder"],"badge":"Lookup","url":"https://myaitools.net/mcc-lookup","manifestUrl":"https://myaitools.net/mcc-lookup/tool.json","inputs":[{"type":"text","key":"query","label":"MCC code or merchant type","placeholder":"5812, or 'restaurant'","help":"Enter the 4-digit MCC or a name fragment (e.g. 'grocery', 'airline')."}],"outputs":[{"key":"code","label":"MCC code"},{"key":"description","label":"Description"},{"key":"category","label":"Category"},{"key":"riskTier","label":"Risk tier"}],"invocation":{"webUi":"https://myaitools.net/mcc-lookup","api":null}},{"kind":"converter","slug":"mermaid-to-jpg","name":"Mermaid to JPG","description":"Render a Mermaid diagram as a JPG image — paste the code or upload an .mmd file.","longDescription":"Drop in a Mermaid diagram (flowchart, sequence, gantt, mindmap, etc.) or paste it directly, and download a JPG. JPG is smaller than PNG for shareable images but doesn't support transparency — a white background is rendered behind the diagram. Rendering runs locally in your browser — your source never leaves your device.","category":"diagram","categoryName":"Diagram","keywords":["mermaid to jpg","mermaid to jpeg","mermaid jpg","convert mermaid to jpg","mermaid diagram to jpg","mermaid converter","render mermaid online","diagram as code","mermaid jpg export","mermaid image converter","mermaid graph to jpg","export mermaid as jpeg"],"url":"https://myaitools.net/mermaid-to-jpg","manifestUrl":"https://myaitools.net/mermaid-to-jpg/tool.json","runsOn":"client","multiple":false,"batch":false,"input":{"type":"file","extensions":[".mmd",".mermaid"],"mimeTypes":["text/plain","text/x-mermaid",""]},"output":{"type":"file","extension":".jpg","mimeType":"image/jpeg"},"options":[{"type":"select","key":"theme","label":"Theme","defaultValue":"default","choices":[{"value":"default","label":"Default (light)"},{"value":"dark","label":"Dark"},{"value":"neutral","label":"Neutral"},{"value":"forest","label":"Forest"}]},{"type":"select","key":"scale","label":"Scale","defaultValue":"2","choices":[{"value":"1","label":"1× (native)"},{"value":"2","label":"2× (retina)"},{"value":"3","label":"3× (print)"},{"value":"4","label":"4× (very high)"}]},{"type":"number","key":"quality","label":"JPG quality","defaultValue":92,"min":1,"max":100,"step":1,"help":"Higher = larger file, better quality."}],"invocation":{"webUi":"https://myaitools.net/mermaid-to-jpg","api":null}},{"kind":"converter","slug":"mermaid-to-pdf","name":"Mermaid to PDF","description":"Render a Mermaid diagram as a single-page PDF — paste the code or upload an .mmd file.","longDescription":"Drop in a Mermaid diagram or paste the code, and download a one-page PDF with the diagram centered on the page. Useful for attaching to reports, printing, or sharing with people who can't open SVG. Rendering runs locally in your browser — your diagram source never leaves your device.","category":"diagram","categoryName":"Diagram","keywords":["mermaid to pdf","mermaid pdf","mermaid diagram to pdf","convert mermaid to pdf","mermaid converter","render mermaid online","diagram as code","mermaid pdf export","mermaid flowchart pdf","export mermaid as pdf","mermaid graph to pdf","mermaid printable"],"url":"https://myaitools.net/mermaid-to-pdf","manifestUrl":"https://myaitools.net/mermaid-to-pdf/tool.json","runsOn":"client","multiple":false,"batch":false,"input":{"type":"file","extensions":[".mmd",".mermaid"],"mimeTypes":["text/plain","text/x-mermaid",""]},"output":{"type":"file","extension":".pdf","mimeType":"application/pdf"},"options":[{"type":"select","key":"theme","label":"Theme","defaultValue":"default","choices":[{"value":"default","label":"Default (light)"},{"value":"dark","label":"Dark"},{"value":"neutral","label":"Neutral"},{"value":"forest","label":"Forest"}]},{"type":"select","key":"pageSize","label":"Page size","defaultValue":"a4","choices":[{"value":"a4","label":"A4"},{"value":"letter","label":"US Letter"},{"value":"legal","label":"US Legal"}]},{"type":"select","key":"orientation","label":"Orientation","defaultValue":"auto","choices":[{"value":"auto","label":"Auto (match diagram)"},{"value":"portrait","label":"Portrait"},{"value":"landscape","label":"Landscape"}]}],"invocation":{"webUi":"https://myaitools.net/mermaid-to-pdf","api":null}},{"kind":"converter","slug":"mermaid-to-png","name":"Mermaid to PNG","description":"Render a Mermaid diagram as a high-resolution PNG — paste the code or upload an .mmd file.","longDescription":"Drop in a Mermaid diagram or paste the code directly, and download a crisp PNG. PNG is the best raster format for diagrams — lossless, transparent background optional, works everywhere. The diagram is rendered to SVG then rasterized at up to 4× the native size for sharp output on retina displays and print. Rendering runs locally in your browser — your source never leaves your device.","category":"diagram","categoryName":"Diagram","keywords":["mermaid to png","mermaid png","mermaid diagram to png","convert mermaid to png","mermaid online","render mermaid online","mermaid converter","mermaid image","diagram as code","mermaid flowchart png","export mermaid as image","mermaid graph to png"],"url":"https://myaitools.net/mermaid-to-png","manifestUrl":"https://myaitools.net/mermaid-to-png/tool.json","runsOn":"client","multiple":false,"batch":false,"input":{"type":"file","extensions":[".mmd",".mermaid"],"mimeTypes":["text/plain","text/x-mermaid",""]},"output":{"type":"file","extension":".png","mimeType":"image/png"},"options":[{"type":"select","key":"theme","label":"Theme","defaultValue":"default","choices":[{"value":"default","label":"Default (light)"},{"value":"dark","label":"Dark"},{"value":"neutral","label":"Neutral"},{"value":"forest","label":"Forest"}]},{"type":"select","key":"scale","label":"Scale","defaultValue":"2","choices":[{"value":"1","label":"1× (native)"},{"value":"2","label":"2× (retina)"},{"value":"3","label":"3× (print)"},{"value":"4","label":"4× (very high)"}],"help":"Higher = sharper PNG but larger file."},{"type":"boolean","key":"transparent","label":"Transparent background","defaultValue":false,"help":"Off = white background (best for embedding)."}],"invocation":{"webUi":"https://myaitools.net/mermaid-to-png","api":null}},{"kind":"converter","slug":"mermaid-to-svg","name":"Mermaid to SVG","description":"Render a Mermaid diagram as a scalable SVG — paste the code or upload an .mmd file.","longDescription":"Drop in a Mermaid diagram (flowchart, sequence, gantt, class, ER, state, mindmap, etc.) or paste the code directly, and download a self-contained SVG. SVG scales infinitely without losing quality and embeds beautifully in HTML, docs, slides, and READMEs. Rendering runs locally in your browser — your diagram source never leaves your device.","category":"diagram","categoryName":"Diagram","keywords":["mermaid to svg","mermaid svg","mermaid diagram to svg","render mermaid online","mermaid online","mermaid diagram online","convert mermaid to svg","mermaid converter","mermaid svg export","diagram as code","mermaid flowchart svg","mermaid sequence diagram"],"url":"https://myaitools.net/mermaid-to-svg","manifestUrl":"https://myaitools.net/mermaid-to-svg/tool.json","runsOn":"client","multiple":false,"batch":false,"input":{"type":"file","extensions":[".mmd",".mermaid"],"mimeTypes":["text/plain","text/x-mermaid",""]},"output":{"type":"file","extension":".svg","mimeType":"image/svg+xml"},"options":[{"type":"select","key":"theme","label":"Theme","defaultValue":"default","choices":[{"value":"default","label":"Default (light)"},{"value":"dark","label":"Dark"},{"value":"neutral","label":"Neutral"},{"value":"forest","label":"Forest"}],"help":"Color scheme baked into the SVG."}],"invocation":{"webUi":"https://myaitools.net/mermaid-to-svg","api":null}},{"kind":"utility","slug":"meta-tag-generator","name":"Meta Tag Generator","description":"Generate HTML meta tags for SEO, Open Graph, and Twitter Cards. Free, instant, copy-paste ready.","longDescription":"Fill in your page title, description, URL, and image to generate a complete set of HTML meta tags covering basic SEO, Open Graph (Facebook, LinkedIn, Pinterest), and Twitter Card markup. The generated tags include title, description, canonical URL, og:type, og:title, og:description, og:image, og:url, twitter:card, twitter:title, twitter:description, twitter:image, twitter:site, viewport, charset, and robots directives. Supports article and website page types. Just copy the output and paste it into your HTML <head>. Perfect for developers, bloggers, marketers, and anyone who needs proper social media sharing previews. Runs entirely in your browser.","category":"dev","categoryName":"Dev","keywords":["meta tag generator","og tag generator","open graph generator","twitter card generator","seo meta tags","html meta tag generator","social media meta tags","meta description generator","og image tag","facebook meta tags","twitter meta tags","meta tag generator online","free meta tag generator","seo tag generator","html head meta tags"],"badge":"Generator","url":"https://myaitools.net/meta-tag-generator","manifestUrl":"https://myaitools.net/meta-tag-generator/tool.json","inputs":[{"type":"text","key":"title","label":"Page Title","placeholder":"My Awesome Page","help":"The title shown in search results and social previews (50-60 chars recommended)."},{"type":"text","key":"description","label":"Description","placeholder":"A brief description of your page content…","multiline":true,"help":"Meta description for SEO and social previews (150-160 chars recommended)."},{"type":"text","key":"url","label":"Page URL","placeholder":"https://example.com/my-page","help":"Canonical URL of the page."},{"type":"text","key":"imageUrl","label":"Image URL","placeholder":"https://example.com/og-image.jpg","help":"URL of the image for social sharing (1200×630px recommended for Open Graph)."},{"type":"text","key":"twitterHandle","label":"Twitter/X Handle","placeholder":"@yourhandle","help":"Your Twitter/X username (with or without @)."},{"type":"select","key":"pageType","label":"Page Type","choices":[{"value":"website","label":"Website"},{"value":"article","label":"Article"}],"defaultValue":"website","help":"Open Graph type — 'website' for homepages, 'article' for blog posts."}],"outputs":[{"key":"metaTags","label":"HTML Meta Tags","multiline":true,"monospace":true},{"key":"charCounts","label":"Character Counts"}],"invocation":{"webUi":"https://myaitools.net/meta-tag-generator","api":null}},{"kind":"utility","slug":"mime-type-lookup","name":"MIME Type Lookup","description":"Look up the MIME type for a file extension, or the canonical extensions for a MIME type — covering 100+ common types.","longDescription":"Translate between file extensions and MIME types in both directions. Type `.png` and learn it's `image/png`; type `application/vnd.openxmlformats-officedocument.wordprocessingml.document` and learn it's `.docx`. The lookup table covers images, audio, video, text, documents (Word, Excel, PowerPoint, OpenDocument, PDF, EPUB), archives, fonts, web manifest types, certificates, and the generic application/octet-stream catch-all.","category":"dev","categoryName":"Dev","keywords":["mime type lookup","mime type for extension","file extension to mime","what is the mime type of","mime type list","content type lookup","mime type reference","extension to content-type","mime types for office files","image mime types","audio mime types","video mime types","font mime types","mime type for json","mime type for pdf"],"badge":"Reference","url":"https://myaitools.net/mime-type-lookup","manifestUrl":"https://myaitools.net/mime-type-lookup/tool.json","inputs":[{"type":"select","key":"mode","label":"Mode","defaultValue":"extension-to-mime","choices":[{"value":"extension-to-mime","label":"Extension → MIME"},{"value":"mime-to-extension","label":"MIME → Extension(s)"}]},{"type":"text","key":"query","label":"Query","defaultValue":".png","placeholder":".png  /  image/png"}],"outputs":[{"key":"mime","label":"MIME type"},{"key":"extensions","label":"Extensions"},{"key":"category","label":"Category"},{"key":"description","label":"Description"}],"invocation":{"webUi":"https://myaitools.net/mime-type-lookup","api":null}},{"kind":"utility","slug":"morse-to-text","name":"Morse Code to Text","description":"Decode international Morse code (ITU) back to plain text — letters separated by spaces, words by /.","longDescription":"Paste Morse code and recover the original text. Use a single space between letters and the conventional forward slash (/) between words. Dots can be . • or *; dashes can be - or _ — the tool normalises before lookup. Unknown sequences become '?'. Useful for puzzles, amateur radio drills, and decoding messages from text-to-morse. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["morse to text","morse decoder","morse code to text","decode morse code","morse code translator","morse to english","morse code reader","morse decoder online","convert morse to text","morse code converter","decoded morse","morse to letters","itu morse decode"],"badge":"Decoder","url":"https://myaitools.net/morse-to-text","manifestUrl":"https://myaitools.net/morse-to-text/tool.json","inputs":[{"type":"text","key":"morse","label":"Morse code","placeholder":"... --- ... / .... . .-.. .-.. ---","multiline":true,"monospace":true,"help":"Single space between letters. Use / to separate words."}],"outputs":[{"key":"text","label":"Decoded text","multiline":true},{"key":"letterCount","label":"Letters decoded"}],"invocation":{"webUi":"https://myaitools.net/morse-to-text","api":null}},{"kind":"utility","slug":"nato-phonetic-alphabet","name":"NATO Phonetic Alphabet","description":"Convert text to NATO phonetic alphabet (Alpha, Bravo, Charlie…) and back — free, in your browser.","longDescription":"Type any text and see each letter and digit spelled out using the NATO/ICAO phonetic alphabet. Also includes a reverse converter: paste NATO phonetic words (space-separated) to decode back to plain text. Useful for reading out serial numbers, passwords, call signs, or spelling names over the phone. Supports A–Z, 0–9.","category":"text","categoryName":"Text & Encoding","keywords":["nato phonetic alphabet","phonetic alphabet converter","alpha bravo charlie","nato alphabet","military alphabet","icao phonetic alphabet","spell out text","phonetic spelling","nato phonetic online","radio alphabet","nato alphabet converter","text to nato"],"badge":"Converter","url":"https://myaitools.net/nato-phonetic-alphabet","manifestUrl":"https://myaitools.net/nato-phonetic-alphabet/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"e.g. Hello World","defaultValue":"Hello World","help":"Enter text to convert to NATO phonetic alphabet."}],"outputs":[{"key":"phonetic","label":"NATO Phonetic","multiline":true,"monospace":true},{"key":"oneline","label":"One-line phonetic","monospace":true},{"key":"reverse","label":"Reverse (phonetic → text)","monospace":true}],"invocation":{"webUi":"https://myaitools.net/nato-phonetic-alphabet","api":null}},{"kind":"utility","slug":"password-generator","name":"Password Generator","description":"Generate cryptographically random passwords — choose length, character classes, and exclude lookalikes.","longDescription":"Build a strong random password using crypto.getRandomValues with rejection sampling for uniform distribution. Pick the length (4–128), toggle uppercase, lowercase, digits and symbols, and optionally exclude characters that look alike (0/O/1/l/I). The entropy in bits is reported so you can judge strength. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["password generator","strong password generator","random password generator","secure password generator","password maker","password creator","password generator online","password generator free","passphrase generator","password tool","high entropy password","crypto password generator","uniform random password"],"badge":"Generator","url":"https://myaitools.net/password-generator","manifestUrl":"https://myaitools.net/password-generator/tool.json","inputs":[{"type":"number","key":"length","label":"Length","defaultValue":16,"min":4,"max":128,"step":1},{"type":"boolean","key":"uppercase","label":"Include uppercase (A-Z)","defaultValue":true},{"type":"boolean","key":"lowercase","label":"Include lowercase (a-z)","defaultValue":true},{"type":"boolean","key":"digits","label":"Include digits (0-9)","defaultValue":true},{"type":"boolean","key":"symbols","label":"Include symbols (!@#…)","defaultValue":true},{"type":"boolean","key":"excludeSimilar","label":"Exclude similar (0OIl1)","defaultValue":false}],"outputs":[{"key":"password","label":"Password"},{"key":"entropyBits","label":"Entropy (bits)"}],"invocation":{"webUi":"https://myaitools.net/password-generator","api":null}},{"kind":"utility","slug":"password-strength-checker","name":"Password Strength Checker","description":"Estimate password entropy and crack time — checked entirely locally, nothing uploaded.","longDescription":"Type a password and see its character pool size, entropy in bits, a 0–4 strength score, and crack-time estimates for both online (1,000 guesses/sec) and offline (10 billion guesses/sec) attacks. Everything runs in your browser — the password is never transmitted.","category":"text","categoryName":"Text & Encoding","keywords":["password strength checker","password strength meter","password entropy calculator","password crack time","how strong is my password","password tester","password strength online","password strength free","password security tester","password score","entropy calculator","password analyzer","password evaluator"],"badge":"Calculator","url":"https://myaitools.net/password-strength-checker","manifestUrl":"https://myaitools.net/password-strength-checker/tool.json","inputs":[{"type":"text","key":"password","label":"Password","placeholder":"Type a password to evaluate","monospace":true,"help":"Stays in your browser — never sent over the network."}],"outputs":[{"key":"score","label":"Score"},{"key":"entropyBits","label":"Entropy (bits)"},{"key":"poolSize","label":"Character pool"},{"key":"crackTimeOnline","label":"Online crack (1k/sec)"},{"key":"crackTimeOffline","label":"Offline crack (10B/sec)"}],"invocation":{"webUi":"https://myaitools.net/password-strength-checker","api":null}},{"kind":"utility","slug":"pin-block","name":"ISO 9564 PIN Block","description":"Generate an ISO 9564 PIN block (formats 0, 1 and 3) from a PIN and PAN — runs locally in your browser.","longDescription":"Builds the cleartext PIN block exactly as defined by ISO 9564-1: format 0/3 XORs the PIN field against the PAN field; format 1 uses random padding with no PAN. The output is the 16-hex-digit cleartext block — the same value you'd encrypt under a PIN encryption key before sending it to a HSM. No actual encryption is performed and nothing is sent over the network.","category":"payment","categoryName":"Payment & cards","keywords":["pin block generator","iso 9564 pin block","pin block format 0","pin block format 3","ansi x9 8 pin block","pin block calculator","pin block tool online","pin block tool free","build pin block","iso 0 pin block","iso 3 pin block","pin block from pan"],"badge":"Generator","url":"https://myaitools.net/pin-block","manifestUrl":"https://myaitools.net/pin-block/tool.json","inputs":[{"type":"text","key":"pin","label":"PIN","placeholder":"1234","monospace":true,"help":"4-12 digits."},{"type":"text","key":"pan","label":"PAN (only for formats 0 and 3)","placeholder":"4111111111111111","monospace":true,"help":"Spaces and dashes are stripped. Ignored for format 1."},{"type":"select","key":"format","label":"Format","defaultValue":"0","choices":[{"value":"0","label":"Format 0 (ISO-0 / ANSI X9.8)"},{"value":"1","label":"Format 1 (random pad, no PAN)"},{"value":"3","label":"Format 3 (ISO-3, random A-F pad)"}]}],"outputs":[{"key":"pinBlock","label":"PIN block (cleartext)"},{"key":"pinField","label":"PIN field"},{"key":"panField","label":"PAN field"}],"invocation":{"webUi":"https://myaitools.net/pin-block","api":null}},{"kind":"utility","slug":"placeholder-image-url","name":"Placeholder Image URL Generator","description":"Build URLs for placeholder images — picsum.photos, placeholder.com, dummyimage.com and ui-avatars — with the matching HTML/Markdown/BBCode snippets.","longDescription":"Stop hand-typing placeholder.com URLs. Pick a provider (Picsum for realistic photos, placeholder.com or dummyimage.com for coloured rectangles with text, ui-avatars for initials-style avatars), set the size and optional colours/label, and get the URL plus ready-to-paste `<img>`, Markdown `![alt](url)` and BBCode `[img]...[/img]` snippets. Useful for design mocks, README screenshots, dev seed data, and Lorem-Ipsum-of-images workflows.","category":"text","categoryName":"Text & Encoding","keywords":["placeholder image url generator","placeholder.com generator","picsum.photos url","dummyimage generator","lorem picsum url","ui avatars url generator","placeholder image link","fake image url","stub image url","img tag generator","markdown image url generator","design mockup image","html img snippet","random image url","avatar url builder"],"badge":"Generator","url":"https://myaitools.net/placeholder-image-url","manifestUrl":"https://myaitools.net/placeholder-image-url/tool.json","inputs":[{"type":"select","key":"provider","label":"Provider","defaultValue":"picsum","choices":[{"value":"picsum","label":"picsum.photos (realistic photos)"},{"value":"placeholder","label":"placeholder.com (coloured rectangles + text)"},{"value":"dummyimage","label":"dummyimage.com (coloured rectangles + text)"},{"value":"ui-avatars","label":"ui-avatars.com (initials-style avatars)"}]},{"type":"number","key":"width","label":"Width (px)","defaultValue":800,"min":16,"max":2000,"step":1},{"type":"number","key":"height","label":"Height (px)","defaultValue":600,"min":16,"max":2000,"step":1},{"type":"text","key":"seed","label":"Seed (picsum only — locks the image)","defaultValue":"","placeholder":"any string, e.g. 'kitten'"},{"type":"text","key":"bgColor","label":"Background color (placeholder/dummyimage/avatars)","defaultValue":"cccccc","placeholder":"hex without # — e.g. ff0000"},{"type":"text","key":"textColor","label":"Text color (placeholder/dummyimage/avatars)","defaultValue":"333333","placeholder":"hex without #"},{"type":"text","key":"label","label":"Label (placeholder/dummyimage) or Name (avatars)","defaultValue":"","placeholder":"e.g. 'Hello' or 'Jane Doe'"},{"type":"boolean","key":"grayscale","label":"Grayscale (picsum only)","defaultValue":false},{"type":"number","key":"blur","label":"Blur 0-10 (picsum only — 0 = sharp)","defaultValue":0,"min":0,"max":10,"step":1}],"outputs":[{"key":"url","label":"URL"},{"key":"htmlImg","label":"HTML <img>"},{"key":"markdownImg","label":"Markdown"},{"key":"bbcode","label":"BBCode"},{"key":"cssBackground","label":"CSS background-image"}],"invocation":{"webUi":"https://myaitools.net/placeholder-image-url","api":null}},{"kind":"converter","slug":"qr-code-generator","name":"QR Code Generator","description":"Generate a QR code from any text, URL or contact data — pick error correction and scale, get a PNG.","longDescription":"Paste or upload text and produce a high-quality QR code PNG. Choose the error-correction level (L = ~7% recovery, M = 15%, Q = 25%, H = 30%) and the pixel scale per module. The QR encoder runs entirely in your browser — your data is never uploaded.","category":"text","categoryName":"Text & Encoding","keywords":["qr code generator","qr generator","text to qr","url to qr","qr code maker","qr code creator","qr code online","qr code free","generate qr code png","wifi qr code","vcard qr code","qr image generator","high quality qr code"],"url":"https://myaitools.net/qr-code-generator","manifestUrl":"https://myaitools.net/qr-code-generator/tool.json","runsOn":"client","multiple":false,"batch":false,"input":{"type":"file","extensions":[".txt"],"mimeTypes":["text/plain"]},"output":{"type":"file","extension":".png","mimeType":"image/png"},"options":[{"type":"select","key":"errorCorrection","label":"Error correction","defaultValue":"M","choices":[{"value":"L","label":"Low (~7% recovery)"},{"value":"M","label":"Medium (~15%)"},{"value":"Q","label":"Quartile (~25%)"},{"value":"H","label":"High (~30%)"}]},{"type":"number","key":"scale","label":"Scale (pixels per module)","defaultValue":8,"min":4,"max":16,"step":1}],"invocation":{"webUi":"https://myaitools.net/qr-code-generator","api":null}},{"kind":"converter","slug":"qr-code-reader","name":"QR Code Reader","description":"Scan a QR code from any image and decode it to text — free, online, runs entirely in your browser.","longDescription":"Drop in a screenshot or photo of a QR code (PNG, JPG, WebP, GIF, BMP) and download the decoded text as a .txt file. The decoder uses jsQR running locally in your browser — your image never leaves your device, which matters when the QR encodes a Wi-Fi password, a payment URL, a vCard or any other sensitive payload. Works on QR codes embedded in screenshots, posters, receipts, business cards and event tickets.","category":"text","categoryName":"Text & Encoding","keywords":["qr code reader","qr code reader online","qr code reader free","scan qr code from image","qr code scanner online","decode qr code online","qr code to text","free qr code reader","qr scanner","read qr code from picture","qr code decoder","image to qr code text","qr code reader from screenshot"],"url":"https://myaitools.net/qr-code-reader","manifestUrl":"https://myaitools.net/qr-code-reader/tool.json","runsOn":"client","multiple":false,"batch":false,"input":{"type":"file","extensions":[".png",".jpg",".jpeg",".webp",".gif",".bmp"],"mimeTypes":["image/png","image/jpeg","image/webp","image/gif","image/bmp"]},"output":{"type":"file","extension":".txt","mimeType":"text/plain"},"options":[],"invocation":{"webUi":"https://myaitools.net/qr-code-reader","api":null}},{"kind":"utility","slug":"quoted-printable-decode","name":"Quoted-Printable Decode","description":"Decode Quoted-Printable (RFC 2045) text back to UTF-8 — handles =XX escapes and soft line breaks (=\\r\\n).","longDescription":"Paste a Quoted-Printable encoded string (the MIME encoding used for most email bodies that mix ASCII with the occasional accented character) and recover the original UTF-8 text. Soft line breaks (=\\r\\n or =\\n) are removed, =XX hex escapes are decoded byte-by-byte, and the resulting byte stream is parsed as UTF-8. Useful for reading raw MIME parts, debugging mailers, or recovering data from saved .eml files. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["quoted printable decode","qp decode","quoted-printable decoder","rfc 2045 decode","mime decode","email body decoder","quoted printable to text","convert quoted printable to text","decode quoted printable","qp decoder online","quoted printable converter","decode =XX","qp utf8 decode"],"badge":"Decoder","url":"https://myaitools.net/quoted-printable-decode","manifestUrl":"https://myaitools.net/quoted-printable-decode/tool.json","inputs":[{"type":"text","key":"encoded","label":"Quoted-Printable encoded","placeholder":"Na=C3=AFve r=C3=A9sum=C3=A9 =E2=80=94 voil=C3=A0!","multiline":true,"monospace":true}],"outputs":[{"key":"text","label":"Decoded text","multiline":true}],"invocation":{"webUi":"https://myaitools.net/quoted-printable-decode","api":null}},{"kind":"utility","slug":"quoted-printable-encode","name":"Quoted-Printable Encode","description":"Encode text to Quoted-Printable (RFC 2045) — for email bodies. Non-ASCII bytes become =XX, lines soft-wrap at 76 columns.","longDescription":"Quoted-Printable is the MIME encoding designed for email bodies that are mostly ASCII but contain occasional non-ASCII characters (think accented letters, em-dashes, smart quotes). Each byte outside printable ASCII becomes =XX (uppercase hex), the literal = is encoded as =3D, and any line longer than 76 characters is soft-wrapped with a trailing =CRLF. This tool encodes your text as UTF-8 and applies all the RFC 2045 §6.7 rules. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["quoted printable encode","qp encode","quoted-printable encoder","rfc 2045 encode","mime encode","email body encoder","text to quoted printable","convert text to quoted printable","encode quoted printable","qp encoder online","quoted printable converter","mime body encoder","qp utf8 encode"],"badge":"Encoder","url":"https://myaitools.net/quoted-printable-encode","manifestUrl":"https://myaitools.net/quoted-printable-encode/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Naïve résumé — voilà!","multiline":true,"monospace":true}],"outputs":[{"key":"encoded","label":"Quoted-Printable encoded","multiline":true},{"key":"originalSize","label":"Original size (bytes)"},{"key":"encodedSize","label":"Encoded size (chars)"}],"invocation":{"webUi":"https://myaitools.net/quoted-printable-encode","api":null}},{"kind":"utility","slug":"random-number-generator","name":"Random Number Generator","description":"Generate uniform random integers in a range — uses crypto.getRandomValues for true uniformity.","longDescription":"Generate one or more random integers in a range you choose. Pick min, max, count, whether all results must be unique (e.g. for lottery numbers) and the output format (one per line or comma-separated). Backed by crypto.getRandomValues with rejection sampling. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["random number generator","rng","random integer generator","lottery number generator","dice roller","random number online","random number free","secure random number","uniform random number","unique random numbers","random picker","random sample generator","crypto rng"],"badge":"Generator","url":"https://myaitools.net/random-number-generator","manifestUrl":"https://myaitools.net/random-number-generator/tool.json","inputs":[{"type":"number","key":"min","label":"Min","defaultValue":1,"step":1},{"type":"number","key":"max","label":"Max","defaultValue":100,"step":1},{"type":"number","key":"count","label":"How many","defaultValue":10,"min":1,"max":100,"step":1},{"type":"boolean","key":"unique","label":"All values unique (no duplicates)","defaultValue":false},{"type":"select","key":"format","label":"Format","defaultValue":"lines","choices":[{"value":"lines","label":"One per line"},{"value":"csv","label":"CSV (comma-separated)"}]}],"outputs":[{"key":"numbers","label":"Numbers","multiline":true},{"key":"count","label":"Generated"}],"invocation":{"webUi":"https://myaitools.net/random-number-generator","api":null}},{"kind":"utility","slug":"random-string-generator","name":"Random String Generator","description":"Generate batches of random strings — pick charset, length and count, all sourced from crypto.getRandomValues.","longDescription":"Generate up to 50 random strings of a chosen length and character set in one go. Charset options cover alphanumeric, letters only, digits, hex, and URL-safe Base64. Uses crypto.getRandomValues with rejection sampling so the distribution is uniform. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["random string generator","random text generator","random token generator","random hex generator","random alphanumeric","bulk random strings","random string online","random string free","random id generator","random key generator","secure random string","url safe random","crypto random string"],"badge":"Generator","url":"https://myaitools.net/random-string-generator","manifestUrl":"https://myaitools.net/random-string-generator/tool.json","inputs":[{"type":"number","key":"count","label":"How many","defaultValue":10,"min":1,"max":50,"step":1},{"type":"number","key":"length","label":"Length of each","defaultValue":16,"min":1,"max":256,"step":1},{"type":"select","key":"charset","label":"Charset","defaultValue":"alphanumeric","choices":[{"value":"alphanumeric","label":"Alphanumeric (A-Z, a-z, 0-9)"},{"value":"letters","label":"Letters only"},{"value":"digits","label":"Digits only"},{"value":"hex","label":"Hex (0-9, a-f)"},{"value":"urlsafe-base64","label":"URL-safe Base64 (A-Z, a-z, 0-9, -, _)"}]}],"outputs":[{"key":"strings","label":"Strings","multiline":true},{"key":"count","label":"Generated"}],"invocation":{"webUi":"https://myaitools.net/random-string-generator","api":null}},{"kind":"utility","slug":"regex-cheat-sheet","name":"Regex Cheat Sheet","description":"Interactive regex reference — anchors, quantifiers, groups, character classes, lookaround, and flags with examples.","longDescription":"Pick a category and get a comprehensive reference for that part of regular expression syntax. Each section includes the syntax, what it does, practical examples, and common gotchas. Covers all major regex features across JavaScript, Python, and PCRE engines.","category":"dev","categoryName":"Dev","keywords":["regex cheat sheet","regular expression reference","regex syntax","regex quantifiers","regex anchors","regex lookahead","regex lookbehind","regex groups","regex character classes","regex flags","regex examples","regex help"],"badge":"Reference","url":"https://myaitools.net/regex-cheat-sheet","manifestUrl":"https://myaitools.net/regex-cheat-sheet/tool.json","inputs":[{"type":"select","key":"category","label":"Category","defaultValue":"anchors","choices":[{"value":"anchors","label":"Anchors"},{"value":"quantifiers","label":"Quantifiers"},{"value":"groups","label":"Groups"},{"value":"classes","label":"Classes"},{"value":"lookaround","label":"Lookaround"},{"value":"flags","label":"Flags"}]}],"outputs":[{"key":"reference","label":"Reference","multiline":true,"monospace":true}],"invocation":{"webUi":"https://myaitools.net/regex-cheat-sheet","api":null}},{"kind":"utility","slug":"regex-tester","name":"Regex Tester","description":"Test a JavaScript regular expression against sample text — see matches, groups, and a replacement preview.","longDescription":"Type a regex pattern and flags, paste some test text, and instantly see every match with its index and captured groups. Optionally supply a replacement string to preview what String.replace would produce. Compiled with the standard JavaScript RegExp engine and run entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["regex tester","regular expression tester","regex matcher","regex playground","javascript regex tester","regex tool","regex online","regex free","regex replace tester","regex group viewer","regex debugger","regex evaluator","regex match preview"],"badge":"Tester","url":"https://myaitools.net/regex-tester","manifestUrl":"https://myaitools.net/regex-tester/tool.json","inputs":[{"type":"text","key":"pattern","label":"Pattern","placeholder":"(\\w+)@(\\w+)","monospace":true},{"type":"text","key":"flags","label":"Flags","defaultValue":"g","placeholder":"g, i, m, s, u, y","monospace":true},{"type":"text","key":"testText","label":"Test text","placeholder":"ada@example.com bob@test.org","multiline":true,"monospace":true},{"type":"text","key":"replacement","label":"Replacement (optional)","placeholder":"$1 at $2","monospace":true}],"outputs":[{"key":"matches","label":"Matches","multiline":true},{"key":"totalMatches","label":"Total matches"},{"key":"replacementPreview","label":"Replacement preview","multiline":true}],"invocation":{"webUi":"https://myaitools.net/regex-tester","api":null}},{"kind":"utility","slug":"robots-txt-tester","name":"Robots.txt Tester","description":"Test whether a URL path is allowed or blocked by robots.txt rules for a specific crawler.","longDescription":"Paste robots.txt rules, choose a user agent, and test any URL or path. The tester applies the common longest-match rule between Allow and Disallow directives and shows the matching directive that decided the result. Useful before publishing SEO changes, blocking staging paths, or debugging indexing issues.","category":"dev","categoryName":"Dev","keywords":["robots txt tester","robots.txt checker","test robots txt","googlebot robots tester","robots disallow checker","seo robots tester","crawler access checker","robots allow disallow","robots txt validator","search engine crawler tester","robots path tester","indexing blocker checker"],"badge":"SEO","url":"https://myaitools.net/robots-txt-tester","manifestUrl":"https://myaitools.net/robots-txt-tester/tool.json","inputs":[{"type":"text","key":"robots","label":"Robots.txt","multiline":true,"monospace":true,"placeholder":"User-agent: *\nDisallow: /admin/\nAllow: /admin/help"},{"type":"text","key":"path","label":"URL or path to test","placeholder":"https://example.com/admin/help"},{"type":"text","key":"userAgent","label":"User agent","defaultValue":"*","placeholder":"Googlebot"}],"outputs":[{"key":"result","label":"Result"},{"key":"matchedRule","label":"Matched rule"},{"key":"details","label":"Details","multiline":true,"monospace":false}],"invocation":{"webUi":"https://myaitools.net/robots-txt-tester","api":null}},{"kind":"utility","slug":"rot13","name":"ROT13","description":"Apply the ROT13 substitution cipher — letters shift by 13, applying twice returns the original.","longDescription":"ROT13 (\"rotate by 13 places\") is a simple letter-substitution cipher that replaces each letter with the one 13 positions later in the alphabet. Since the Latin alphabet has 26 letters, applying ROT13 twice gives the original text — it's its own inverse. Useful for hiding spoilers or puzzle answers. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["rot13","rot13 encoder","rot13 decoder","rot 13 cipher","caesar 13 cipher","rot13 online","rot13 free","rot13 translator","rot13 converter","encode rot13","decode rot13","letter substitution cipher","spoiler hider"],"badge":"Cipher","url":"https://myaitools.net/rot13","manifestUrl":"https://myaitools.net/rot13/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Hello, world!","multiline":true,"monospace":true,"help":"Applying ROT13 to the result gives back the original."}],"outputs":[{"key":"result","label":"ROT13 result","multiline":true}],"invocation":{"webUi":"https://myaitools.net/rot13","api":null}},{"kind":"utility","slug":"rsa-keypair-generator","name":"RSA Key Pair Generator","description":"Generate an RSA private/public key pair as PEM (2048, 3072 or 4096-bit) and a SHA-256 fingerprint of the public key.","longDescription":"Spin up a fresh RSA key pair entirely in your browser using WebCrypto. Pick the modulus length (2048 is the minimum we'd recommend today; 3072 or 4096 for higher-security/longer-lived keys) and the public-key hash (SHA-256/384/512). Output is PEM-encoded — PKCS#8 for the private key, SubjectPublicKeyInfo for the public key — ready to paste into JWT signers, OpenSSL toolchains, or your config. We also print a SHA-256 fingerprint of the public key so you can verify it against records elsewhere. Keys are generated and never leave your device.","category":"text","categoryName":"Text & Encoding","keywords":["rsa key pair generator","rsa private public key online","generate rsa keys online","rsa pem generator","rsa 2048 generator","rsa 4096 generator","pkcs8 private key generator","spki public key generator","rsa keypair online","rsa keys for jwt","rsa key fingerprint","webcrypto rsa generator","rsa-oaep key generator","rsa pem online"],"badge":"Generator","url":"https://myaitools.net/rsa-keypair-generator","manifestUrl":"https://myaitools.net/rsa-keypair-generator/tool.json","inputs":[{"type":"select","key":"modulusLength","label":"Modulus length (bits)","defaultValue":"2048","choices":[{"value":"2048","label":"2048 (standard)"},{"value":"3072","label":"3072"},{"value":"4096","label":"4096 (higher security, slower)"}]},{"type":"select","key":"hashAlg","label":"Hash algorithm","defaultValue":"SHA-256","choices":[{"value":"SHA-256","label":"SHA-256"},{"value":"SHA-384","label":"SHA-384"},{"value":"SHA-512","label":"SHA-512"}]},{"type":"select","key":"keyType","label":"Key type","defaultValue":"RSA-OAEP","choices":[{"value":"RSA-OAEP","label":"RSA-OAEP (encryption)"},{"value":"RSASSA-PKCS1-v1_5","label":"RSASSA-PKCS1-v1_5 (signing)"},{"value":"RSA-PSS","label":"RSA-PSS (signing)"}]}],"outputs":[{"key":"privateKeyPem","label":"Private key (PKCS#8 PEM)","multiline":true},{"key":"publicKeyPem","label":"Public key (SPKI PEM)","multiline":true},{"key":"fingerprint","label":"Public key SHA-256 fingerprint"},{"key":"summary","label":"Summary"}],"invocation":{"webUi":"https://myaitools.net/rsa-keypair-generator","api":null}},{"kind":"utility","slug":"slugify","name":"Slugify","description":"Convert any text to a clean, URL-safe slug — strips diacritics and replaces non-alphanumerics.","longDescription":"Turn a title or phrase into a slug suitable for URLs, filenames or anchor IDs. Lowercases the string, normalises accents (\"naïve\" → \"naive\"), replaces every non-alphanumeric run with a separator and trims leading/trailing separators. Pick hyphen, underscore or dot. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["slugify","slug generator","url slug","seo slug","url safe text","slug maker","slugify online","slugify free","filename slug","anchor slug","kebab url","slug converter","url friendly text"],"badge":"Transformer","url":"https://myaitools.net/slugify","manifestUrl":"https://myaitools.net/slugify/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Hello, World! It's a Naïve Approach","multiline":false},{"type":"select","key":"separator","label":"Separator","defaultValue":"-","choices":[{"value":"-","label":"Hyphen (-)"},{"value":"_","label":"Underscore (_)"},{"value":".","label":"Dot (.)"}]}],"outputs":[{"key":"slug","label":"Slug"}],"invocation":{"webUi":"https://myaitools.net/slugify","api":null}},{"kind":"utility","slug":"sql-formatter","name":"SQL Formatter","description":"Format SQL queries for every major dialect — Postgres, MySQL, SQLite, BigQuery, Snowflake and more.","longDescription":"Paste any SQL query and get a cleanly indented, readable version. Pick from twelve dialects (standard SQL, PostgreSQL, MySQL, SQLite, MariaDB, BigQuery, DB2, Hive, Redshift, Snowflake, Spark, T-SQL) so keywords, functions and quoting are tokenized correctly. Powered by sql-formatter. Runs entirely in your browser — your query never leaves this page.","category":"dev","categoryName":"Dev","keywords":["sql formatter","sql formatter online","format sql online","pretty print sql","sql beautifier","sql prettifier","format sql query","online sql formatter","sql indent","sql formatter free","postgres formatter","mysql formatter","bigquery formatter","tsql formatter"],"badge":"Formatter","url":"https://myaitools.net/sql-formatter","manifestUrl":"https://myaitools.net/sql-formatter/tool.json","inputs":[{"type":"text","key":"sql","label":"SQL","placeholder":"select id,name from users where active=1 order by name","multiline":true,"monospace":true},{"type":"select","key":"dialect","label":"Dialect","defaultValue":"sql","choices":[{"value":"sql","label":"Standard SQL"},{"value":"postgresql","label":"PostgreSQL"},{"value":"mysql","label":"MySQL"},{"value":"sqlite","label":"SQLite"},{"value":"mariadb","label":"MariaDB"},{"value":"bigquery","label":"BigQuery"},{"value":"db2","label":"DB2"},{"value":"hive","label":"Hive"},{"value":"redshift","label":"Redshift"},{"value":"snowflake","label":"Snowflake"},{"value":"spark","label":"Spark"},{"value":"tsql","label":"T-SQL (SQL Server)"}]},{"type":"select","key":"indent","label":"Indent","defaultValue":"2","choices":[{"value":"2","label":"2 spaces"},{"value":"4","label":"4 spaces"}]}],"outputs":[{"key":"formatted","label":"Formatted SQL","multiline":true},{"key":"originalSize","label":"Original size (chars)"},{"key":"formattedSize","label":"Formatted size (chars)"}],"invocation":{"webUi":"https://myaitools.net/sql-formatter","api":null}},{"kind":"utility","slug":"subnet-calculator","name":"IPv4 Subnet Calculator","description":"Calculate network/broadcast addresses, host range, mask, wildcard mask, host counts, and IP class from a CIDR.","longDescription":"Drop in any IPv4 CIDR like 192.168.1.0/24 or 10.0.0.0/8 and get the full subnet breakdown: network address, broadcast address, usable host range, subnet mask in dotted-decimal and binary, wildcard mask (for ACLs), total and usable host counts, IP class, and whether the range is private (RFC 1918), loopback, link-local, multicast, CGNAT or public. Computation is pure bitwise on 32-bit unsigned integers — runs entirely in your browser.","category":"dev","categoryName":"Dev","keywords":["subnet calculator","cidr calculator","ipv4 subnet calculator","subnet mask calculator","network and broadcast address calculator","host range calculator","wildcard mask calculator","cidr to subnet mask","subnet mask to cidr","rfc 1918 lookup","private ip checker","ip class calculator","subnet split calculator","vlsm calculator","ip address calculator"],"badge":"Calculator","url":"https://myaitools.net/subnet-calculator","manifestUrl":"https://myaitools.net/subnet-calculator/tool.json","inputs":[{"type":"text","key":"cidr","label":"CIDR","defaultValue":"192.168.1.0/24","placeholder":"e.g. 192.168.1.0/24","monospace":true}],"outputs":[{"key":"cidrNotation","label":"CIDR"},{"key":"networkAddress","label":"Network address"},{"key":"broadcastAddress","label":"Broadcast address"},{"key":"firstHost","label":"First usable host"},{"key":"lastHost","label":"Last usable host"},{"key":"totalHosts","label":"Total addresses"},{"key":"usableHosts","label":"Usable hosts"},{"key":"subnetMask","label":"Subnet mask"},{"key":"wildcardMask","label":"Wildcard mask"},{"key":"binarySubnetMask","label":"Subnet mask (binary)"},{"key":"ipClass","label":"IP class"},{"key":"ipType","label":"IP type"}],"invocation":{"webUi":"https://myaitools.net/subnet-calculator","api":null}},{"kind":"utility","slug":"swift-bic-validator","name":"SWIFT / BIC Validator","description":"Validate a SWIFT/BIC code format and break it down into bank, country, location and branch fields.","longDescription":"Paste any SWIFT or Business Identifier Code (BIC) — 8 or 11 characters — and verify it matches the ISO 9362 format. The validator strips whitespace, upper-cases the input, then splits it into the bank code (4 letters), country code (2 letters, ISO 3166-1 alpha-2), location code (2 alphanumeric) and optional branch code (3 alphanumeric, defaulting to the primary office). It also flags 'test' BICs where the second character of the location code is '0' — those identifiers belong to the SWIFT test-and-training network, not production. Useful for backend engineers wiring up cross-border payments, ops teams verifying counterparty details, and developers writing onboarding forms. Runs entirely in your browser — your data is never sent anywhere.","category":"payment","categoryName":"Payment & cards","keywords":["swift code validator","bic check","bic validator","swift bic check","iso 9362 validator","swift code format","bic format check","business identifier code","swift validator online","bic parser","swift bic decoder","bic check digit"],"badge":"Validator","url":"https://myaitools.net/swift-bic-validator","manifestUrl":"https://myaitools.net/swift-bic-validator/tool.json","inputs":[{"type":"text","key":"bic","label":"SWIFT / BIC code","placeholder":"DEUTDEFFXXX","monospace":true,"help":"8 or 11 characters. Spaces are stripped and letters are upper-cased automatically."}],"outputs":[{"key":"valid","label":"Valid format"},{"key":"bankCode","label":"Bank code"},{"key":"country","label":"Country"},{"key":"locationCode","label":"Location code"},{"key":"branchCode","label":"Branch code"},{"key":"testMode","label":"Live / Test"}],"invocation":{"webUi":"https://myaitools.net/swift-bic-validator","api":null}},{"kind":"utility","slug":"text-case-converter","name":"Text Case Converter","description":"Convert any string to lowercase, UPPERCASE, Title Case, camelCase, snake_case, kebab-case and more — all at once.","longDescription":"Paste a string and instantly see it rendered in every common casing style — lowercase, UPPERCASE, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case and CONSTANT_CASE. Copy whichever variant you need. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["text case converter","case converter online","case converter free","uppercase converter","lowercase converter","title case converter","camelcase converter","pascalcase converter","snake case converter","kebab case converter","constant case converter","string case tool","change text case","letter case converter"],"badge":"Formatter","url":"https://myaitools.net/text-case-converter","manifestUrl":"https://myaitools.net/text-case-converter/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"the quick brown fox","multiline":true,"monospace":true}],"outputs":[{"key":"lower","label":"lowercase"},{"key":"upper","label":"UPPERCASE"},{"key":"title","label":"Title Case"},{"key":"sentence","label":"Sentence case"},{"key":"camel","label":"camelCase"},{"key":"pascal","label":"PascalCase"},{"key":"snake","label":"snake_case"},{"key":"kebab","label":"kebab-case"},{"key":"constant","label":"CONSTANT_CASE"}],"invocation":{"webUi":"https://myaitools.net/text-case-converter","api":null}},{"kind":"utility","slug":"text-counter","name":"Text Counter","description":"Count characters, words, lines, sentences, paragraphs and estimate reading time.","longDescription":"Paste any text and instantly see character counts (with and without spaces), word count, line count, sentence count (split on . ! ?), paragraph count (separated by blank lines), and an estimated reading time at 250 words per minute. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["text counter","word counter","character counter","letter counter","line counter","sentence counter","paragraph counter","reading time estimator","text statistics","word count tool","char count online","writing word counter","essay word counter"],"badge":"Counter","url":"https://myaitools.net/text-counter","manifestUrl":"https://myaitools.net/text-counter/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Paste your text here…","multiline":true,"monospace":false}],"outputs":[{"key":"characters","label":"Characters (with spaces)"},{"key":"charactersNoSpace","label":"Characters (no spaces)"},{"key":"words","label":"Words"},{"key":"lines","label":"Lines"},{"key":"sentences","label":"Sentences"},{"key":"paragraphs","label":"Paragraphs"},{"key":"readingTimeMinutes","label":"Reading time (min)"}],"invocation":{"webUi":"https://myaitools.net/text-counter","api":null}},{"kind":"utility","slug":"text-dedupe-lines","name":"Deduplicate Lines","description":"Remove duplicate lines from a list — case-sensitive or not, preserve original order or not.","longDescription":"Strip out repeated lines from any text block. Choose whether comparison is case-sensitive, whether whitespace at the ends of each line is trimmed before comparing, and whether the first occurrence of each value stays in its original position. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["dedupe lines","deduplicate lines","remove duplicate lines","unique lines","dedupe text","remove duplicates","line deduplicator","dedupe online","dedupe free","uniq lines","filter duplicate lines","text deduper","line uniq tool"],"badge":"Transformer","url":"https://myaitools.net/text-dedupe-lines","manifestUrl":"https://myaitools.net/text-dedupe-lines/tool.json","inputs":[{"type":"text","key":"text","label":"Text (one item per line)","placeholder":"apple\nbanana\napple\ncherry","multiline":true,"monospace":true},{"type":"boolean","key":"caseSensitive","label":"Case-sensitive","defaultValue":true},{"type":"boolean","key":"preserveOrder","label":"Preserve order (first wins)","defaultValue":true},{"type":"boolean","key":"trim","label":"Trim whitespace before comparing","defaultValue":false}],"outputs":[{"key":"result","label":"Unique lines","multiline":true},{"key":"removed","label":"Duplicates removed"},{"key":"kept","label":"Lines kept"}],"invocation":{"webUi":"https://myaitools.net/text-dedupe-lines","api":null}},{"kind":"utility","slug":"text-diff","name":"Text Diff","description":"Compare two texts side by side and highlight added, removed and unchanged lines, words or characters.","longDescription":"Paste two versions of any text — an old draft and a new one, a quote and a contract, two log files, two emails — and instantly see what changed. Choose line, word or character granularity. Added chunks are prefixed with `+`, removed chunks with `-` and unchanged with two spaces. Counts of added, removed and unchanged chunks appear below. The comparison runs entirely in your browser — nothing is uploaded.","category":"text","categoryName":"Text & Encoding","keywords":["text diff","text diff online","text diff free","compare two texts","text comparison tool","diff text online","online text compare","find differences between texts","text difference checker","compare text online","side by side text diff","free text diff tool","text comparison online"],"badge":"Comparer","url":"https://myaitools.net/text-diff","manifestUrl":"https://myaitools.net/text-diff/tool.json","inputs":[{"type":"text","key":"a","label":"Text A (original)","placeholder":"Original text…","multiline":true,"monospace":true},{"type":"text","key":"b","label":"Text B (modified)","placeholder":"Modified text…","multiline":true,"monospace":true},{"type":"select","key":"mode","label":"Diff mode","defaultValue":"Line diff","choices":[{"value":"Character diff","label":"Character diff"},{"value":"Word diff","label":"Word diff"},{"value":"Line diff","label":"Line diff"}]}],"outputs":[{"key":"diff","label":"Diff","multiline":true},{"key":"added","label":"Added chunks"},{"key":"removed","label":"Removed chunks"},{"key":"unchanged","label":"Unchanged chunks"}],"invocation":{"webUi":"https://myaitools.net/text-diff","api":null}},{"kind":"utility","slug":"text-reverse","name":"Text Reverse","description":"Reverse text by character or by word — Unicode-aware so emoji and combining marks stay intact.","longDescription":"Flip a string end-to-end character by character, or reverse the order of words while keeping each word intact. Uses Array.from for splitting so multi-byte Unicode codepoints (emoji, CJK characters) are not torn apart. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["text reverse","reverse text","reverse string","string reverser","text reverser","reverse words","reverse text online","reverse text free","flip text","backwards text","mirror text","unicode reverse","text flipper"],"badge":"Transformer","url":"https://myaitools.net/text-reverse","manifestUrl":"https://myaitools.net/text-reverse/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Hello, world!","multiline":true,"monospace":true},{"type":"select","key":"mode","label":"Mode","defaultValue":"characters","choices":[{"value":"characters","label":"Characters"},{"value":"words","label":"Words"}]}],"outputs":[{"key":"result","label":"Reversed","multiline":true}],"invocation":{"webUi":"https://myaitools.net/text-reverse","api":null}},{"kind":"utility","slug":"text-sort-lines","name":"Sort Lines","description":"Sort lines alphabetically or numerically, ascending or descending, case-sensitive or not.","longDescription":"Split text on newlines and sort the lines. Pick ascending or descending order, toggle case sensitivity, and enable natural numeric sorting so \"item2\" comes before \"item10\". Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["sort lines","line sorter","sort text lines","alphabetize lines","sort lines online","sort lines free","natural sort lines","numeric line sort","ascending sort","descending sort","case sensitive sort","line sort tool","text line sorter"],"badge":"Transformer","url":"https://myaitools.net/text-sort-lines","manifestUrl":"https://myaitools.net/text-sort-lines/tool.json","inputs":[{"type":"text","key":"text","label":"Text (one item per line)","placeholder":"banana\napple\ncherry","multiline":true,"monospace":true},{"type":"select","key":"direction","label":"Direction","defaultValue":"asc","choices":[{"value":"asc","label":"Ascending (A → Z)"},{"value":"desc","label":"Descending (Z → A)"}]},{"type":"boolean","key":"caseSensitive","label":"Case-sensitive","defaultValue":false},{"type":"boolean","key":"numeric","label":"Natural numeric sort","defaultValue":false,"help":"Treats embedded numbers naturally (item2 < item10)."}],"outputs":[{"key":"sorted","label":"Sorted","multiline":true},{"key":"count","label":"Lines"}],"invocation":{"webUi":"https://myaitools.net/text-sort-lines","api":null}},{"kind":"utility","slug":"text-to-ascii-art","name":"Text to ASCII Art Generator","description":"Convert text to ASCII art block letters — A-Z, 0-9, punctuation. Free, instant, in-browser.","longDescription":"Type any text and instantly generate large block-letter ASCII art. Supports uppercase A-Z, digits 0-9, spaces, and common punctuation (!?.,:-_'\"()/+=@#). Each character is rendered 5 lines high using Unicode block characters (█). Perfect for README headers, terminal banners, code comments, social media posts, email signatures, or chat messages. The output is pure text that works everywhere — terminals, Markdown files, Slack, Discord, or any monospace context. Everything runs locally in your browser with no data uploaded.","category":"text","categoryName":"Text & Encoding","keywords":["ascii art generator","text to ascii art","ascii art text","block letter generator","ascii text art","ascii art online","text to block letters","ascii banner generator","ascii art converter","free ascii art generator","ascii art maker","terminal banner generator","text art generator","ascii font generator","block text generator"],"badge":"Generator","url":"https://myaitools.net/text-to-ascii-art","manifestUrl":"https://myaitools.net/text-to-ascii-art/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"HELLO","help":"Supports A-Z, 0-9, spaces, and common punctuation. Max 30 characters recommended."}],"outputs":[{"key":"ascii","label":"ASCII Art","multiline":true,"monospace":true}],"invocation":{"webUi":"https://myaitools.net/text-to-ascii-art","api":null}},{"kind":"utility","slug":"text-to-binary","name":"Text to Binary","description":"Encode UTF-8 text as 8-bit binary groups — choose space, comma or no separator.","longDescription":"Convert any UTF-8 string to its binary representation, one byte per 8-bit group. Optional separators make the output easier to read or paste into other tools. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["text to binary","string to binary","ascii to binary","utf8 to binary","binary encoder","binary encode","text to binary online","text to binary free","binary translator","convert text to binary","binary converter","8 bit binary encoder","text to 01"],"badge":"Encoder","url":"https://myaitools.net/text-to-binary","manifestUrl":"https://myaitools.net/text-to-binary/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Hello","multiline":true,"monospace":true},{"type":"select","key":"separator","label":"Separator","defaultValue":"space","choices":[{"value":"space","label":"Space"},{"value":"none","label":"None"},{"value":"comma","label":"Comma"}]}],"outputs":[{"key":"binary","label":"Binary","multiline":true},{"key":"byteLength","label":"Byte length"}],"invocation":{"webUi":"https://myaitools.net/text-to-binary","api":null}},{"kind":"utility","slug":"text-to-decimal","name":"Text to Decimal","description":"Encode each character as its Unicode code point in decimal — space-, comma- or newline-separated output.","longDescription":"Type or paste any text and get the decimal Unicode code point for every character. Surrogate pairs (e.g. emoji) are handled correctly: one code point per visible character. Pick how the codes should be separated — spaces, commas, or one per line — to suit your downstream parser. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["text to decimal","string to decimal","char to decimal","ascii to decimal","unicode to decimal","text to charcode","text to code points","char code converter","string to numbers","text to int","text to decimal online","decimal code points","char to int"],"badge":"Encoder","url":"https://myaitools.net/text-to-decimal","manifestUrl":"https://myaitools.net/text-to-decimal/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Hello","multiline":true,"monospace":true},{"type":"select","key":"format","label":"Separator","defaultValue":"space","choices":[{"value":"space","label":"Space-separated"},{"value":"comma","label":"Comma-separated"},{"value":"newline","label":"Newline-separated"}]}],"outputs":[{"key":"codes","label":"Decimal code points","multiline":true},{"key":"count","label":"Character count"}],"invocation":{"webUi":"https://myaitools.net/text-to-decimal","api":null}},{"kind":"utility","slug":"text-to-hex","name":"Text to Hex","description":"Encode UTF-8 text as a hex string — lowercase, uppercase, space-separated or 0x-prefixed.","longDescription":"Convert any UTF-8 string into its hex byte representation. Pick lowercase or uppercase output, optionally insert spaces between bytes, or prefix each byte with 0x for embedding in C/Java source. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["text to hex","string to hex","ascii to hex","utf8 to hex","hex encoder","hex encode","encode hex","text to hex online","text to hex free","hex converter","hex bytes encoder","hexadecimal encoder","convert text to hex"],"badge":"Encoder","url":"https://myaitools.net/text-to-hex","manifestUrl":"https://myaitools.net/text-to-hex/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Hello, world!","multiline":true,"monospace":true},{"type":"select","key":"format","label":"Format","defaultValue":"lower","choices":[{"value":"lower","label":"Lowercase (48656c6c6f)"},{"value":"upper","label":"Uppercase (48656C6C6F)"},{"value":"spaced","label":"Space-separated (48 65 6c 6c 6f)"},{"value":"prefixed","label":"0x-prefixed (0x48 0x65 0x6c)"}]}],"outputs":[{"key":"hex","label":"Hex","multiline":true},{"key":"byteLength","label":"Byte length"}],"invocation":{"webUi":"https://myaitools.net/text-to-hex","api":null}},{"kind":"utility","slug":"text-to-morse","name":"Text to Morse Code","description":"Encode text into international Morse code (ITU-R M.1677-1) — letters, digits and common punctuation supported.","longDescription":"Convert any text into international Morse code following the ITU-R M.1677-1 standard. Letters within a word are separated by a single space, words are separated by a forward slash (the conventional gap). Supports A-Z, 0-9, and the standard punctuation set: . , ? ' ! / ( ) & : ; = + - _ \" $ @. Unsupported characters become '#' so the output stays aligned with the input. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["text to morse","morse encoder","text to morse code","convert text to morse","morse code translator","morse code generator","letter to morse","alphabet to morse","morse encoder online","morse code converter","encode morse code","english to morse","itu morse code"],"badge":"Encoder","url":"https://myaitools.net/text-to-morse","manifestUrl":"https://myaitools.net/text-to-morse/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"SOS, hello world!","multiline":true}],"outputs":[{"key":"morse","label":"Morse code","multiline":true},{"key":"letterCount","label":"Letters encoded"}],"invocation":{"webUi":"https://myaitools.net/text-to-morse","api":null}},{"kind":"utility","slug":"text-to-unicode","name":"Text to Unicode Escapes","description":"Convert text into Unicode escape sequences — U+XXXX, \\uXXXX, &#XXXX; or %uXXXX. Hex digits are uppercase.","longDescription":"Encode every character of a string into a chosen Unicode-escape notation. Four formats are supported: U+XXXX (Unicode standard UCS notation), \\uXXXX (JavaScript / Java / JSON escape), &#XXXX; (HTML numeric entity, decimal-style but you get hex here too — see html-encode for the decimal form), and %uXXXX (older JavaScript escape() style). Each code is rendered as four uppercase hex digits. Supplementary characters (above U+FFFF) are emitted as a surrogate pair so the \\uXXXX form is round-trippable. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["text to unicode","string to unicode escape","unicode escape encoder","text to \\u","text to u+","javascript unicode escape","html entity encoder hex","text to %u","text to unicode online","convert text to unicode","unicode escape converter","text to ucs","string to javascript escape"],"badge":"Encoder","url":"https://myaitools.net/text-to-unicode","manifestUrl":"https://myaitools.net/text-to-unicode/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Hello","multiline":true,"monospace":true},{"type":"select","key":"format","label":"Format","defaultValue":"ucs","choices":[{"value":"ucs","label":"U+XXXX (UCS notation)"},{"value":"js","label":"\\uXXXX (JS / Java / JSON escape)"},{"value":"html","label":"&#XXXX; (HTML entity)"},{"value":"pct","label":"%uXXXX (legacy JS escape)"}]},{"type":"select","key":"scope","label":"Encode which characters","defaultValue":"non-ascii","choices":[{"value":"all","label":"All characters"},{"value":"non-ascii","label":"Non-ASCII only (keep printable ASCII)"}]}],"outputs":[{"key":"result","label":"Escaped text","multiline":true}],"invocation":{"webUi":"https://myaitools.net/text-to-unicode","api":null}},{"kind":"utility","slug":"track1-decoder","name":"Track 1 Decoder","description":"Decode an ISO 7813 Track 1 magstripe string into PAN, cardholder name, expiry and service code.","longDescription":"Parses the Format B Track 1 stripe (the line starting with %B) into its constituent fields. Useful when working with capture data from magstripe readers or for sanity-checking test track data. Runs entirely in your browser.","category":"payment","categoryName":"Payment & cards","keywords":["track 1 decoder","track 1 parser","iso 7813 track 1","magstripe decoder","magstripe track 1","format b track decoder","track 1 reader online","track 1 decoder free","decode magnetic stripe","track data parser","credit card track 1","mag stripe track parser"],"badge":"Decoder","url":"https://myaitools.net/track1-decoder","manifestUrl":"https://myaitools.net/track1-decoder/tool.json","inputs":[{"type":"text","key":"track1","label":"Track 1 data","placeholder":"%B4111111111111111^DOE/JOHN          ^25121010000000000000?","monospace":true,"help":"Must start with %B and end with ?. The string stays in your browser."}],"outputs":[{"key":"pan","label":"PAN"},{"key":"cardholderName","label":"Cardholder name"},{"key":"expiryYear","label":"Expiry year (YY)"},{"key":"expiryMonth","label":"Expiry month (MM)"},{"key":"serviceCode","label":"Service code"},{"key":"discretionary","label":"Discretionary data"}],"invocation":{"webUi":"https://myaitools.net/track1-decoder","api":null}},{"kind":"utility","slug":"track2-decoder","name":"Track 2 Decoder","description":"Decode an ISO 7813 Track 2 magstripe string into PAN, expiry, service code and discretionary data.","longDescription":"Parses Track 2 (the line containing '=' between PAN and expiry) into its individual fields. Track 2 is the field carried in EMV tag 57 — useful for decoding ICC capture data as well as physical magstripe reads. Runs entirely in your browser.","category":"payment","categoryName":"Payment & cards","keywords":["track 2 decoder","track 2 parser","iso 7813 track 2","magstripe track 2","track 2 reader online","track 2 decoder free","track 2 equivalent data","tag 57 decoder","decode track 2","credit card track 2","mag stripe track 2 parser","card track data decoder"],"badge":"Decoder","url":"https://myaitools.net/track2-decoder","manifestUrl":"https://myaitools.net/track2-decoder/tool.json","inputs":[{"type":"text","key":"track2","label":"Track 2 data","placeholder":"4111111111111111=25121010000000000000","monospace":true,"help":"Format: <PAN>=<YYMM><service code><discretionary>. Leading ';' and trailing '?' are optional."}],"outputs":[{"key":"pan","label":"PAN"},{"key":"expiryYear","label":"Expiry year (YY)"},{"key":"expiryMonth","label":"Expiry month (MM)"},{"key":"serviceCode","label":"Service code"},{"key":"discretionary","label":"Discretionary data"}],"invocation":{"webUi":"https://myaitools.net/track2-decoder","api":null}},{"kind":"utility","slug":"ulid-generator","name":"ULID Generator","description":"Generate ULIDs — Universally Unique Lexicographically Sortable Identifiers — that double as a sortable timestamp prefix.","longDescription":"ULIDs are an alternative to UUID v4 that encode the current time in their first 10 characters, then 16 characters of cryptographic randomness. The big win: ULIDs sort by creation time as plain strings — which makes them perfect as database row IDs, log keys, or anywhere you want ordering for free. The 26-character Crockford-base-32 encoding is URL-safe and case-insensitive. Generate one or many at once (up to 100), or override the timestamp to produce a ULID for any past or future moment. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["ulid generator","ulid online","generate ulid","ulid vs uuid","sortable id generator","lexicographic uuid alternative","monotonic ulid","ulid timestamp","ulid decoder","crockford base32 id","unique sortable id","ulid free online","ulid for database","ulid bulk generator","primary key generator"],"badge":"Generator","url":"https://myaitools.net/ulid-generator","manifestUrl":"https://myaitools.net/ulid-generator/tool.json","inputs":[{"type":"number","key":"count","label":"How many to generate","defaultValue":1,"min":1,"max":100,"step":1},{"type":"text","key":"timestamp","label":"Override timestamp (optional)","defaultValue":"","placeholder":"ISO date (2024-01-15T12:00:00Z) or millis (1705320000000)","help":"Leave empty to use the current time."},{"type":"boolean","key":"monotonic","label":"Monotonic within the same millisecond","defaultValue":true,"help":"Guarantees a→b→c sort order even when generated in the same ms."}],"outputs":[{"key":"ulids","label":"ULIDs","multiline":true},{"key":"firstTimestamp","label":"First ULID's timestamp"},{"key":"summary","label":"Summary"}],"invocation":{"webUi":"https://myaitools.net/ulid-generator","api":null}},{"kind":"utility","slug":"unicode-to-text","name":"Unicode Escapes to Text","description":"Decode mixed Unicode escapes (U+XXXX, \\uXXXX, \\u{XXXXX}, \\xHH, &#XXXX;, %uXXXX) back to plain text.","longDescription":"Paste any text with Unicode escape sequences sprinkled in — JavaScript / Java / JSON \\uXXXX, ES2015 \\u{XXXXX}, single-byte \\xHH, HTML &#NNN; and &#xHHHH; entities, U+XXXX UCS notation, or legacy %uXXXX — and the tool decodes every occurrence in one pass. Literal characters around the escapes are left untouched. Surrogate pairs in \\uXXXX form combine automatically into the supplementary code point they represent. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["unicode to text","unicode escape decoder","decode \\u","decode u+","decode html entity","javascript unicode decode","convert unicode to text","decode unicode escape","unescape unicode","\\uXXXX decoder","unicode escape parser","unicode to text online","\\x escape decoder"],"badge":"Decoder","url":"https://myaitools.net/unicode-to-text","manifestUrl":"https://myaitools.net/unicode-to-text/tool.json","inputs":[{"type":"text","key":"text","label":"Text with escapes","placeholder":"Hello \\u0041 U+0042 &#67;","multiline":true,"monospace":true,"help":"Recognised forms: U+XXXX, \\uXXXX, \\u{XXXXX}, \\xHH, &#NNN;, &#xHHHH;, %uXXXX."}],"outputs":[{"key":"text","label":"Decoded text","multiline":true}],"invocation":{"webUi":"https://myaitools.net/unicode-to-text","api":null}},{"kind":"utility","slug":"unix-timestamp-converter","name":"Unix Timestamp Converter","description":"Convert between Unix timestamps and human-readable dates — auto-detects seconds vs milliseconds.","longDescription":"Paste either a Unix timestamp (seconds or milliseconds — auto-detected) or a human-readable date string and instantly see both representations: epoch seconds, epoch milliseconds, ISO 8601, UTC string, local string, and a relative phrase like \"3 days ago\". Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["unix timestamp converter","epoch converter","unix time converter","timestamp to date","date to timestamp","iso 8601 converter","epoch to date","unix epoch","timestamp converter online","timestamp converter free","millisecond timestamp","epoch time","utc timestamp"],"badge":"Converter","url":"https://myaitools.net/unix-timestamp-converter","manifestUrl":"https://myaitools.net/unix-timestamp-converter/tool.json","inputs":[{"type":"text","key":"timestamp","label":"Timestamp (seconds or ms)","placeholder":"1700000000","monospace":true,"help":"Auto-detects seconds vs milliseconds."},{"type":"text","key":"humanDate","label":"Or a date string","placeholder":"2024-01-15T10:30:00Z","monospace":true,"help":"Parsed by Date — ISO 8601 works best."}],"outputs":[{"key":"epochSeconds","label":"Epoch (seconds)"},{"key":"epochMillis","label":"Epoch (milliseconds)"},{"key":"iso8601","label":"ISO 8601"},{"key":"utcString","label":"UTC"},{"key":"localString","label":"Local"},{"key":"relative","label":"Relative"}],"invocation":{"webUi":"https://myaitools.net/unix-timestamp-converter","api":null}},{"kind":"utility","slug":"url-decode","name":"URL Decode","description":"Decode percent-encoded URL text back to its readable form — supports decodeURIComponent and decodeURI.","longDescription":"Paste any percent-encoded string (like %20 or %E2%9C%93) and recover the original text. Pick decodeURIComponent for query values, or decodeURI when working with a whole URL. Malformed sequences are reported instead of throwing. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["url decode","url decoder","url decode online","url decode free","percent decode","percent decoding","decodeuricomponent","decodeuri","url unescape","uri decode","decode url parameters","convert url to text","url decoding tool"],"badge":"Decoder","url":"https://myaitools.net/url-decode","manifestUrl":"https://myaitools.net/url-decode/tool.json","inputs":[{"type":"text","key":"text","label":"Encoded text","placeholder":"hello%20world%20%26%20friends","multiline":true,"monospace":true},{"type":"select","key":"mode","label":"Mode","defaultValue":"component","choices":[{"value":"component","label":"decodeURIComponent (recommended)"},{"value":"uri","label":"decodeURI (whole URL)"}],"help":"Use component-mode for query values; URI-mode for full URLs."}],"outputs":[{"key":"decoded","label":"Decoded","multiline":true},{"key":"length","label":"Output length (chars)"}],"invocation":{"webUi":"https://myaitools.net/url-decode","api":null}},{"kind":"utility","slug":"url-encode","name":"URL Encode","description":"Percent-encode text for safe use in URLs — supports both encodeURIComponent and encodeURI.","longDescription":"Encode any string into the percent-encoded form needed for URL query parameters, path segments, or whole URLs. Pick encodeURIComponent for individual values (escapes every reserved character) or encodeURI when you have an entire URL and want to preserve / : ? & = #. Runs entirely in your browser.","category":"text","categoryName":"Text & Encoding","keywords":["url encode","url encoder","url encode online","url encode free","percent encode","percent encoding","encodeuricomponent","encodeuri","convert text to url","url escape","uri encode","encode url parameters","url encoding tool"],"badge":"Encoder","url":"https://myaitools.net/url-encode","manifestUrl":"https://myaitools.net/url-encode/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"hello world & friends","multiline":true,"monospace":true},{"type":"select","key":"mode","label":"Mode","defaultValue":"component","choices":[{"value":"component","label":"encodeURIComponent (recommended)"},{"value":"uri","label":"encodeURI (whole URL)"}],"help":"Use component-mode for query values; URI-mode for full URLs."}],"outputs":[{"key":"encoded","label":"Encoded","multiline":true},{"key":"length","label":"Output length (chars)"}],"invocation":{"webUi":"https://myaitools.net/url-encode","api":null}},{"kind":"utility","slug":"url-parser","name":"URL Parser","description":"Break a URL into its components — protocol, host, port, path, query parameters, hash — with each query param listed individually.","longDescription":"Paste any URL and see every part broken out for inspection. Handy when an OAuth redirect or webhook is misbehaving, when you need to confirm a query parameter survived URL-encoding, or when you're poking at a complex pre-signed S3 URL. We use the browser's built-in URL constructor, so parsing matches what `fetch` and `<a href>` actually see. Query parameters are also listed one-per-line in `key = value` form. Runs entirely in your browser.","category":"dev","categoryName":"Dev","keywords":["url parser","url decoder","parse url online","url query parameter parser","url breakdown","url to parts","extract query params from url","url inspector","url analyzer","url components","url path extractor","url scheme parser","url hash parser","uri parser online","decode url parameters"],"badge":"Parser","url":"https://myaitools.net/url-parser","manifestUrl":"https://myaitools.net/url-parser/tool.json","inputs":[{"type":"text","key":"url","label":"URL","multiline":true,"placeholder":"https://user:pass@example.com:8080/path/to/page?a=1&b=hello#section","defaultValue":""}],"outputs":[{"key":"protocol","label":"Protocol"},{"key":"username","label":"Username"},{"key":"password","label":"Password"},{"key":"hostname","label":"Hostname"},{"key":"port","label":"Port"},{"key":"host","label":"Host (hostname:port)"},{"key":"pathname","label":"Pathname"},{"key":"search","label":"Search (raw)"},{"key":"hash","label":"Hash"},{"key":"origin","label":"Origin"},{"key":"queryParams","label":"Query parameters","multiline":true}],"invocation":{"webUi":"https://myaitools.net/url-parser","api":null}},{"kind":"utility","slug":"user-agent-parser","name":"User-Agent Parser","description":"Parse a browser User-Agent string into structured browser/engine/OS/device fields.","longDescription":"Decode a User-Agent string into the bits that actually matter — which browser, which engine, which OS, what device. Useful when you're triaging an analytics tag, debugging a bug that only reproduces on one platform, or building feature gates by client capability. The parser library used (ua-parser-js) handles thousands of UA patterns including mobile devices, smart TVs, gaming consoles, bots and the new Sec-CH-UA hints. Runs entirely in your browser.","category":"dev","categoryName":"Dev","keywords":["user agent parser","ua parser online","browser detection from user agent","user agent decoder","parse user agent string","useragent lookup","user agent string analyzer","what is my user agent","user agent inspector","ua-parser online","operating system from user agent","device detection","browser version parser","client hints parser","user agent breakdown"],"badge":"Parser","url":"https://myaitools.net/user-agent-parser","manifestUrl":"https://myaitools.net/user-agent-parser/tool.json","inputs":[{"type":"text","key":"ua","label":"User-Agent string","multiline":true,"placeholder":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36","defaultValue":""}],"outputs":[{"key":"browserName","label":"Browser"},{"key":"browserVersion","label":"Browser version"},{"key":"engineName","label":"Engine"},{"key":"engineVersion","label":"Engine version"},{"key":"osName","label":"OS"},{"key":"osVersion","label":"OS version"},{"key":"deviceVendor","label":"Device vendor"},{"key":"deviceModel","label":"Device model"},{"key":"deviceType","label":"Device type"},{"key":"cpuArchitecture","label":"CPU architecture"}],"invocation":{"webUi":"https://myaitools.net/user-agent-parser","api":null}},{"kind":"utility","slug":"utm-url-builder","name":"UTM URL Builder","description":"Build campaign URLs with UTM source, medium, campaign, term and content parameters.","longDescription":"Create clean campaign tracking URLs for Google Analytics, Plausible, ads, newsletters and social posts. Paste a landing page URL, fill in the UTM fields, and get a ready-to-copy tracked URL plus a short campaign summary. Existing query parameters are preserved and existing UTM values are replaced.","category":"text","categoryName":"Text & Encoding","keywords":["utm builder","utm url builder","campaign url builder","google analytics url builder","utm generator","utm link builder","campaign tracking url","marketing url builder","newsletter tracking url","social media tracking url","utm source medium campaign","ga4 campaign url builder","free utm builder","url campaign generator"],"badge":"SEO","url":"https://myaitools.net/utm-url-builder","manifestUrl":"https://myaitools.net/utm-url-builder/tool.json","inputs":[{"type":"text","key":"url","label":"Landing page URL","placeholder":"https://example.com/pricing"},{"type":"text","key":"source","label":"UTM source","placeholder":"google, newsletter, linkedin"},{"type":"text","key":"medium","label":"UTM medium","placeholder":"cpc, email, social"},{"type":"text","key":"campaign","label":"UTM campaign","placeholder":"spring_launch"},{"type":"text","key":"term","label":"UTM term","placeholder":"best ai tools"},{"type":"text","key":"content","label":"UTM content","placeholder":"hero_cta"}],"outputs":[{"key":"trackedUrl","label":"Tracked URL","multiline":true},{"key":"summary","label":"Campaign summary","multiline":true,"monospace":false}],"invocation":{"webUi":"https://myaitools.net/utm-url-builder","api":null}},{"kind":"utility","slug":"uuid-generator","name":"UUID Generator","description":"Generate cryptographically random UUIDs (v4) or time-ordered UUIDs (v7) — runs locally in your browser.","longDescription":"Generate any number of UUIDs in v4 (random) or v7 (time-ordered, sortable) form, and copy them out as standard hyphenated form, hyphen-less, or uppercase. v4 uses crypto.randomUUID; v7 embeds a millisecond timestamp so IDs sort chronologically — perfect for database primary keys. Free, online, runs locally.","category":"text","categoryName":"Text & Encoding","keywords":["uuid generator","uuid generator online","uuid generator free","guid generator","uuid v4 generator","uuid v7 generator","random uuid","time ordered uuid","sortable uuid","bulk uuid generator","uuid online tool","unique id generator","uuid maker"],"badge":"Generator","url":"https://myaitools.net/uuid-generator","manifestUrl":"https://myaitools.net/uuid-generator/tool.json","inputs":[{"type":"select","key":"version","label":"Version","defaultValue":"v4","choices":[{"value":"v4","label":"v4 (random)"},{"value":"v7","label":"v7 (time-ordered)"}]},{"type":"number","key":"count","label":"How many","defaultValue":5,"min":1,"max":50,"step":1,"help":"Between 1 and 50."},{"type":"select","key":"format","label":"Format","defaultValue":"default","choices":[{"value":"default","label":"Default (with dashes)"},{"value":"nodash","label":"No dashes"},{"value":"upper","label":"Uppercase (with dashes)"}]}],"outputs":[{"key":"uuids","label":"UUIDs","multiline":true},{"key":"count","label":"Generated"}],"invocation":{"webUi":"https://myaitools.net/uuid-generator","api":null}},{"kind":"converter","slug":"vcard-qr-code-generator","name":"vCard QR Code Generator","description":"Generate a QR code that contains a digital business card (vCard) — scanning it lets the phone save the contact in one tap.","longDescription":"Turn contact information into a QR code that any phone can scan to save the contact straight into its address book. The QR encodes a standard vCard 3.0 payload — recognised by iOS, Android, Outlook, Apple Contacts, Google Contacts and almost every modern CRM. Perfect for business cards, conference badges, email signatures or display screens. The drop-file area can accept any .txt — its content is ignored; all contact fields come from the options panel below.","category":"text","categoryName":"Text & Encoding","keywords":["vcard qr code generator","business card qr code","contact qr code","vcard qr code free","vcf qr code","digital business card qr","scan contact card qr","contact info qr code","create vcard qr","vcard qr maker","vcard 3.0 qr","save contact qr code","address book qr code","vcard generator png","qr business card maker"],"url":"https://myaitools.net/vcard-qr-code-generator","manifestUrl":"https://myaitools.net/vcard-qr-code-generator/tool.json","runsOn":"client","multiple":false,"batch":false,"input":{"type":"file","extensions":[".txt"],"mimeTypes":["text/plain"]},"output":{"type":"file","extension":".png","mimeType":"image/png"},"options":[{"type":"text","key":"fullName","label":"Full name","defaultValue":""},{"type":"text","key":"organization","label":"Organization","defaultValue":""},{"type":"text","key":"title","label":"Job title","defaultValue":""},{"type":"text","key":"phone","label":"Phone","defaultValue":"","placeholder":"+1-555-555-5555"},{"type":"text","key":"email","label":"Email","defaultValue":""},{"type":"text","key":"website","label":"Website","defaultValue":"https://"},{"type":"text","key":"address","label":"Address","defaultValue":"","placeholder":"Street, City, State, Zip, Country"},{"type":"select","key":"errorCorrection","label":"Error correction","defaultValue":"M","choices":[{"value":"L","label":"Low (~7% recovery)"},{"value":"M","label":"Medium (~15%)"},{"value":"Q","label":"Quartile (~25%)"},{"value":"H","label":"High (~30%)"}]},{"type":"number","key":"scale","label":"Scale (px per module)","defaultValue":8,"min":4,"max":16,"step":1}],"invocation":{"webUi":"https://myaitools.net/vcard-qr-code-generator","api":null}},{"kind":"converter","slug":"wifi-qr-code-generator","name":"Wi-Fi QR Code Generator","description":"Generate a Wi-Fi QR code as a PNG — scanning it auto-joins the network. Supports WPA / WEP / open networks and hidden SSIDs.","longDescription":"Create a QR code that, when scanned by any modern phone, prompts the user to join your Wi-Fi network without typing the password. The QR encodes the standard `WIFI:T:<auth>;S:<ssid>;P:<password>;H:<hidden>;;` payload that iOS and Android camera apps natively recognise. Pick the auth type (WPA/WPA2/WPA3, WEP, or open/no password), enter the SSID and password, and we render a high-contrast PNG. Special characters in the SSID/password are properly escaped per the spec. The drop-file area can accept any .txt — its content is ignored; all configuration comes from the options panel.","category":"text","categoryName":"Text & Encoding","keywords":["wifi qr code generator","wifi qr code","wifi password qr code","wifi sharing qr code","guest wifi qr code","wifi qr code free","create wifi qr code","wpa wifi qr code","wpa2 qr code","wifi connect qr","auto-join wifi qr code","hidden ssid qr code","wifi qr code maker","print wifi qr code","wifi qr code online"],"url":"https://myaitools.net/wifi-qr-code-generator","manifestUrl":"https://myaitools.net/wifi-qr-code-generator/tool.json","runsOn":"client","multiple":false,"batch":false,"input":{"type":"file","extensions":[".txt"],"mimeTypes":["text/plain"]},"output":{"type":"file","extension":".png","mimeType":"image/png"},"options":[{"type":"text","key":"ssid","label":"Network name (SSID)","defaultValue":"MyNetwork","placeholder":"MyHomeWiFi"},{"type":"text","key":"password","label":"Password","defaultValue":"","placeholder":"Network password (leave empty for open networks)"},{"type":"select","key":"authType","label":"Security","defaultValue":"WPA","choices":[{"value":"WPA","label":"WPA / WPA2 / WPA3"},{"value":"WEP","label":"WEP (legacy)"},{"value":"nopass","label":"None (open network)"}]},{"type":"boolean","key":"hidden","label":"Hidden SSID (not broadcast)","defaultValue":false},{"type":"select","key":"errorCorrection","label":"Error correction","defaultValue":"M","choices":[{"value":"L","label":"Low (~7% recovery)"},{"value":"M","label":"Medium (~15%)"},{"value":"Q","label":"Quartile (~25%)"},{"value":"H","label":"High (~30%)"}]},{"type":"number","key":"scale","label":"Scale (px per module)","defaultValue":8,"min":4,"max":16,"step":1}],"invocation":{"webUi":"https://myaitools.net/wifi-qr-code-generator","api":null}},{"kind":"utility","slug":"word-counter","name":"Word Counter","description":"Count the words in any text — plus characters, lines, paragraphs and estimated reading time. Free, online, no signup.","longDescription":"Paste an essay, blog post, article or any text and instantly see the word count, with characters (with and without spaces), line count, paragraph count and an estimated reading time at 250 words per minute. Useful for hitting word-count limits on essays, papers, articles, social media posts (Twitter, LinkedIn), product descriptions and SEO meta descriptions. Counting runs entirely in your browser — nothing is uploaded, the text stays on this page.","category":"text","categoryName":"Text & Encoding","keywords":["word counter","word counter online","word counter free","word count tool","text word counter","free word counter","online word counter","essay word counter","blog post word counter","word counter no signup","count words in text","writing word counter","word count checker"],"badge":"Counter","url":"https://myaitools.net/word-counter","manifestUrl":"https://myaitools.net/word-counter/tool.json","inputs":[{"type":"text","key":"text","label":"Text","placeholder":"Paste your text here…","multiline":true}],"outputs":[{"key":"words","label":"Words"},{"key":"characters","label":"Characters (with spaces)"},{"key":"charactersNoSpace","label":"Characters (no spaces)"},{"key":"lines","label":"Lines"},{"key":"paragraphs","label":"Paragraphs"},{"key":"readingTime","label":"Reading time"}],"invocation":{"webUi":"https://myaitools.net/word-counter","api":null}},{"kind":"utility","slug":"xml-formatter","name":"XML Formatter","description":"Pretty-print XML documents — indent nested tags with 2 or 4 spaces for readable markup.","longDescription":"Paste minified or single-line XML and get a cleanly indented version with each element on its own line. Declarations, comments, CDATA blocks and attributes are preserved exactly. Pick 2 or 4 spaces of indentation. Powered by xml-js. Runs entirely in your browser — your document never leaves this page.","category":"dev","categoryName":"Dev","keywords":["xml formatter","xml formatter online","format xml online","pretty print xml","xml beautifier","xml prettifier","online xml formatter","xml indent","xml formatter free","format xml document","xml pretty","reformat xml"],"badge":"Formatter","url":"https://myaitools.net/xml-formatter","manifestUrl":"https://myaitools.net/xml-formatter/tool.json","inputs":[{"type":"text","key":"xml","label":"XML","placeholder":"<root><item id=\"1\">Hello</item></root>","multiline":true,"monospace":true},{"type":"select","key":"indent","label":"Indent","defaultValue":"2","choices":[{"value":"2","label":"2 spaces"},{"value":"4","label":"4 spaces"}]}],"outputs":[{"key":"formatted","label":"Formatted XML","multiline":true},{"key":"originalSize","label":"Original size (chars)"},{"key":"formattedSize","label":"Formatted size (chars)"}],"invocation":{"webUi":"https://myaitools.net/xml-formatter","api":null}},{"kind":"utility","slug":"yaml-formatter","name":"YAML Formatter","description":"Reformat YAML — normalize indentation, line wrapping and quoting for tidy config files.","longDescription":"Paste any YAML and get a canonical, reformatted version. The document is parsed and re-emitted with the indent size and line-width of your choice, so anchors are resolved, quoting is normalized and inconsistent indentation is fixed. Set the line width to 0 to disable wrapping entirely. Powered by the eemeli/yaml library. Runs entirely in your browser — your config never leaves this page.","category":"dev","categoryName":"Dev","keywords":["yaml formatter","yaml formatter online","format yaml online","pretty print yaml","yaml beautifier","yaml prettifier","yml formatter","yaml indent","online yaml formatter","yaml formatter free","reformat yaml","yaml lint"],"badge":"Formatter","url":"https://myaitools.net/yaml-formatter","manifestUrl":"https://myaitools.net/yaml-formatter/tool.json","inputs":[{"type":"text","key":"yaml","label":"YAML","placeholder":"name: example\nitems: [a, b, c]","multiline":true,"monospace":true},{"type":"select","key":"indent","label":"Indent","defaultValue":"2","choices":[{"value":"2","label":"2 spaces"},{"value":"4","label":"4 spaces"}]},{"type":"number","key":"lineWidth","label":"Line width (0 = no wrap)","defaultValue":0,"min":0,"max":200,"step":10}],"outputs":[{"key":"formatted","label":"Formatted YAML","multiline":true},{"key":"originalSize","label":"Original size (chars)"},{"key":"formattedSize","label":"Formatted size (chars)"}],"invocation":{"webUi":"https://myaitools.net/yaml-formatter","api":null}}]}