[{"data":1,"prerenderedAt":678},["ShallowReactive",2],{"sidebar-categories":3,"blog-json-vs-yaml-config-files":632,"$f1fcSx9ZkUx3oJpVVjBr8S9ZYl5Pqzqo4Le5OY7Ube48":644},[4,62,94,151,234,351,456,544,584,600],{"id":5,"name":6,"slug":7,"icon":8,"description":9,"content":10,"sort_order":11,"created_at":12,"updated_at":13,"tools":14},227,"Text Tools","text-tools","📝","Tools for text manipulation and analysis","Manipulate, analyze and transform text instantly. From case conversion and whitespace cleanup to word count and string diffing — these tools handle the everyday text tasks developers and writers run into constantly. No server round-trips; everything processes locally in your tab.",0,"2026-04-29T18:14:48.000000Z","2026-04-30T12:24:54.000000Z",[15,26,35,44,53],{"id":16,"category_id":5,"name":17,"slug":18,"description":19,"meta_title":20,"meta_description":21,"component_name":22,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":25},1868,"Text to Slug","text-to-slug","Convert any text into a URL-friendly slug. Handles special characters, accents, and unicode.","Text to Slug Converter - Generate URL-Friendly Slugs Online","Free online tool to convert text into clean, URL-friendly slugs. Handles special characters, accents, spaces and unicode automatically.","TextToSlug",false,true,1,{"id":27,"category_id":5,"name":28,"slug":29,"description":30,"meta_title":31,"meta_description":32,"component_name":33,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":34},1869,"Lorem Ipsum Generator","lorem-ipsum-generator","Generate placeholder text for your designs and mockups. Choose paragraphs, sentences, or words.","Lorem Ipsum Generator - Free Placeholder Text Tool","Generate lorem ipsum placeholder text instantly. Choose number of paragraphs, sentences, or words for your designs and mockups.","LoremIpsumGenerator",2,{"id":36,"category_id":5,"name":37,"slug":38,"description":39,"meta_title":40,"meta_description":41,"component_name":42,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":43},1870,"Word Counter","word-counter","Count words, characters, sentences, and paragraphs in your text. Includes reading time estimation.","Word Counter - Count Words, Characters & Sentences Online","Free online word counter tool. Count words, characters, sentences, paragraphs and estimate reading time instantly.","WordCounter",3,{"id":45,"category_id":5,"name":46,"slug":47,"description":48,"meta_title":49,"meta_description":50,"component_name":51,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":52},1871,"Case Converter","case-converter","Convert text between camelCase, snake_case, PascalCase, kebab-case, and CONSTANT_CASE instantly.","Case Converter - camelCase, snake_case, PascalCase Online","Free online case converter. Instantly switch text between camelCase, snake_case, PascalCase, kebab-case, and CONSTANT_CASE.","CaseConverter",4,{"id":54,"category_id":5,"name":55,"slug":56,"description":57,"meta_title":58,"meta_description":59,"component_name":60,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":61},1931,"Whitespace Remover","whitespace-remover","Clean up whitespace from any text — combine transformations (trim lines, remove blank lines, collapse spaces) and choose an output mode (keep lines, join to one line, or strip all whitespace). 100% client-side.","Whitespace Remover — Clean Up Text Online Free","Free online whitespace remover. Trim spaces, remove duplicates, collapse whitespace, strip line breaks. Multiple modes with one click. In your browser.","WhitespaceRemover",6,{"id":63,"name":64,"slug":65,"icon":66,"description":67,"content":68,"sort_order":25,"created_at":12,"updated_at":13,"tools":69},228,"Encoders & Decoders","encoders-decoders","🔄","Encode and decode data in various formats","Encode and decode data between formats without sending anything to a server. Base64, URL encoding, HTML entities, JWT inspection — all done client-side so sensitive tokens or payloads never leave your browser.",[70,78,86],{"id":71,"category_id":63,"name":72,"slug":73,"description":74,"meta_title":75,"meta_description":76,"component_name":77,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":25},1872,"Base64 Encoder\u002FDecoder","base64-encoder-decoder","Encode text to Base64 or decode Base64 strings back to plain text.","Base64 Encoder & Decoder - Encode\u002FDecode Base64 Online","Free online Base64 encoder and decoder. Convert text to Base64 encoding or decode Base64 strings instantly.","Base64EncoderDecoder",{"id":79,"category_id":63,"name":80,"slug":81,"description":82,"meta_title":83,"meta_description":84,"component_name":85,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":34},1873,"HTML Encoder\u002FDecoder","html-encoder-decoder","Encode special HTML characters to entities or decode HTML entities back to characters.","HTML Encoder & Decoder - Encode\u002FDecode HTML Entities Online","Free online HTML entity encoder and decoder. Convert special characters to HTML entities or decode them back.","HtmlEncoderDecoder",{"id":87,"category_id":63,"name":88,"slug":89,"description":90,"meta_title":91,"meta_description":92,"component_name":93,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":43},1874,"URL Encoder\u002FDecoder","url-encoder-decoder","Encode or decode URLs and query parameters. Handles percent-encoding for safe URL transmission.","URL Encoder & Decoder - Encode\u002FDecode URLs Online","Free online URL encoder and decoder. Percent-encode URLs and query parameters or decode them instantly.","UrlEncoderDecoder",{"id":95,"name":96,"slug":97,"icon":98,"description":99,"content":100,"sort_order":34,"created_at":12,"updated_at":13,"tools":101},229,"Generators","generators","⚡","Generate hashes, passwords, UUIDs and more","Generate the boilerplate you need in seconds. Strong random passwords, UUIDs, Lorem Ipsum placeholder text, QR codes and more. Every generator runs fully offline — no tracking, no account, no rate limits.",[102,110,118,126,134,143],{"id":103,"category_id":95,"name":104,"slug":105,"description":106,"meta_title":107,"meta_description":108,"component_name":109,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":25},1875,"MD5 Hash Generator","md5-hash-generator","Generate MD5 hash from any text input. Useful for checksums and data verification.","MD5 Hash Generator - Generate MD5 Checksums Online","Free online MD5 hash generator. Create MD5 checksums from any text for data verification and integrity checks.","Md5HashGenerator",{"id":111,"category_id":95,"name":112,"slug":113,"description":114,"meta_title":115,"meta_description":116,"component_name":117,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":34},1876,"SHA-1 Hash Generator","sha1-hash-generator","Generate SHA-1 hash from any text input. Common for file integrity verification.","SHA-1 Hash Generator - Generate SHA-1 Checksums Online","Free online SHA-1 hash generator. Create SHA-1 checksums from any text instantly. Compare with SHA-256 and MD5. Client-side only, no data sent to servers.","Sha1HashGenerator",{"id":119,"category_id":95,"name":120,"slug":121,"description":122,"meta_title":123,"meta_description":124,"component_name":125,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":43},1877,"SHA-256 Hash Generator","sha256-hash-generator","Generate SHA-256 hash from any text input. Widely used for security and blockchain applications.","SHA-256 Hash Generator - Generate SHA-256 Hashes Online","Free online SHA-256 hash generator. Create SHA-256 hashes from any text instantly. Compare with SHA-224, SHA-384 and SHA-512. Client-side, no uploads.","Sha256HashGenerator",{"id":127,"category_id":95,"name":128,"slug":129,"description":130,"meta_title":131,"meta_description":132,"component_name":133,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":52},1878,"Secure Password Generator","password-generator","Generate strong, random passwords with customizable length and character types.","Secure Password Generator - Create Strong Passwords Online","Generate strong, random passwords with custom length, uppercase, lowercase, numbers and special characters.","PasswordGenerator",{"id":135,"category_id":95,"name":136,"slug":137,"description":138,"meta_title":139,"meta_description":140,"component_name":141,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":142},1879,"Favicon Generator","favicon-generator","Upload any image and generate a complete favicon package: ICO, PNG sizes for all devices, and the HTML code to paste.","Favicon Generator - Create Favicon ICO & PNG Online Free","Free favicon generator. Upload PNG or SVG and get the complete package: favicon.ico, Apple Touch icon, Android icons, Windows tiles and HTML tags.","FaviconGenerator",5,{"id":144,"category_id":95,"name":145,"slug":146,"description":147,"meta_title":148,"meta_description":149,"component_name":150,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":61},1880,"BCrypt Generator","bcrypt-generator","Generate and verify bcrypt hashes entirely in your browser. Choose cost factor 4–12.","BCrypt Generator - Generate & Verify BCrypt Hashes Online","Free BCrypt hash generator and verifier. Choose cost factor (4-15), generate hashes, verify passwords against existing hashes. All in your browser.","BcryptGenerator",{"id":152,"name":153,"slug":154,"icon":155,"description":156,"content":157,"sort_order":43,"created_at":12,"updated_at":13,"tools":158},230,"Web Tools","web-tools","🌐","Tools for web development and analysis","Essential utilities for web developers: inspect and analyze meta tags for any URL, validate Open Graph previews, check HTTP headers, explore DNS records and test canonical URLs. Speed up your debugging and SEO workflows.",[159,167,175,183,191,199,207,216,225],{"id":160,"category_id":152,"name":161,"slug":162,"description":163,"meta_title":164,"meta_description":165,"component_name":166,"is_premium":23,"is_server_side":24,"is_published":24,"sort_order":25},1881,"What Is My IP","what-is-my-ip","Discover your public IP address, location, ISP, and other network information.","What Is My IP Address - Find Your Public IP Online","Find your public IP address instantly. See your IPv4\u002FIPv6, location, ISP, browser and OS. Free tool, no tracking, no registration. Works on any device.","WhatIsMyIp",{"id":168,"category_id":152,"name":169,"slug":170,"description":171,"meta_title":172,"meta_description":173,"component_name":174,"is_premium":23,"is_server_side":24,"is_published":24,"sort_order":34},1882,"Meta Tags Analyzer","meta-tags-analyzer","Analyze the meta tags of any webpage. Check title, description, Open Graph, and Twitter Card tags.","Meta Tags Analyzer - Check Meta Tags of Any Webpage","Free online meta tags analyzer. Check title, description, Open Graph and Twitter Card meta tags of any URL.","MetaTagsAnalyzer",{"id":176,"category_id":152,"name":177,"slug":178,"description":179,"meta_title":180,"meta_description":181,"component_name":182,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":43},1883,"IP Subnet Calculator","ip-subnet-calculator","Calculate network address, broadcast IP, host range, and subnet mask from any CIDR notation.","IP Subnet Calculator - CIDR Network Calculator Online","Free IP subnet calculator. Enter an IP address with CIDR prefix (\u002F24) to get network address, broadcast, host range, wildcard mask, and number of usable hosts.","IpSubnetCalculator",{"id":184,"category_id":152,"name":185,"slug":186,"description":187,"meta_title":188,"meta_description":189,"component_name":190,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":52},1884,"HTTP Status Codes","http-status-codes","Quick reference for all HTTP status codes (1xx–5xx) with descriptions and usage notes.","HTTP Status Codes Reference - Complete Guide 1xx to 5xx","Complete HTTP status codes reference. All 1xx, 2xx, 3xx, 4xx and 5xx codes with descriptions, when to use them, and common examples.","HttpStatusCodes",{"id":192,"category_id":152,"name":193,"slug":194,"description":195,"meta_title":196,"meta_description":197,"component_name":198,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":142},1885,"URL Parser","url-parser","Break down any URL into its components: protocol, host, port, path, query parameters, and hash.","URL Parser - Decode & Analyze URL Components Online","Free URL parser. Instantly break down any URL into protocol, host, port, pathname, query parameters table, and fragment. No sign-up needed.","UrlParser",{"id":200,"category_id":152,"name":201,"slug":202,"description":203,"meta_title":204,"meta_description":205,"component_name":206,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":61},1886,".gitignore Generator","gitignore-generator","Select your OS, IDE, and frameworks to instantly generate a clean .gitignore file.",".gitignore Generator - Create .gitignore Files Online Free","Free .gitignore generator. Select your OS, editor, and languages\u002Fframeworks to create a comprehensive .gitignore file. Download or copy instantly.","GitignoreGenerator",{"id":208,"category_id":152,"name":209,"slug":210,"description":211,"meta_title":212,"meta_description":213,"component_name":214,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":215},1887,"Aspect Ratio Calculator","aspect-ratio-calculator","Calculate proportional dimensions for images and videos. Enter width, height, or ratio to instantly get the missing value. Common presets: 16:9, 4:3, 1:1, 3:2.","Aspect Ratio Calculator - Free Online Tool","Free aspect ratio calculator. Calculate width, height, or ratio for images and videos. Presets for 16:9, 4:3, 1:1 and more.","AspectRatioCalculator",7,{"id":217,"category_id":152,"name":218,"slug":219,"description":220,"meta_title":221,"meta_description":222,"component_name":223,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":224},1888,"SSL Certificate Decoder","ssl-certificate-decoder","Decode and inspect SSL\u002FTLS certificates. Paste a PEM or CRT file to extract domain, issuer, expiry date, SANs, and fingerprints — entirely in your browser.","SSL Certificate Decoder - Decode PEM\u002FCRT Online Free","Free SSL certificate decoder. Paste a .pem or .crt certificate and instantly see the domain, CA, expiry date, Subject Alternative Names, and SHA-256 fingerprint.","SslCertificateDecoder",8,{"id":226,"category_id":152,"name":227,"slug":228,"description":229,"meta_title":230,"meta_description":231,"component_name":232,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":233},1937,"DNS Lookup","dns-lookup","Query DNS records for any domain — A, AAAA, MX, TXT, NS, CNAME, SOA, and CAA. Uses Cloudflare DNS-over-HTTPS for fast and private lookups without leaving your browser.","DNS Lookup - Query DNS Records Online Free","Free DNS lookup tool. Query A, AAAA, MX, TXT, NS, CNAME, SOA and CAA records for any domain. Uses Cloudflare DoH — fast, private, no server-side processing.","DnsLookup",13,{"id":235,"name":236,"slug":237,"icon":238,"description":239,"content":240,"sort_order":52,"created_at":12,"updated_at":13,"tools":241},231,"Converters","converters","🔀","Convert between different data formats","Convert data between formats with zero friction. JSON ↔ YAML, Markdown → HTML, timestamps → human-readable dates, color formats and more. Paste your input and get the output instantly.",[242,250,258,266,274,282,290,298,306,315,324,333,342],{"id":243,"category_id":235,"name":244,"slug":245,"description":246,"meta_title":247,"meta_description":248,"component_name":249,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":25},1889,"SVG to Data URI","svg-to-data-uri","Convert SVG code to a Data URI for use in CSS or HTML. Optimizes and encodes your SVG.","SVG to Data URI Converter - Convert SVG to Base64 URI Online","Free online SVG to Data URI converter. Convert SVG code to base64 data URIs for CSS backgrounds and HTML images.","SvgToDataUri",{"id":251,"category_id":235,"name":252,"slug":253,"description":254,"meta_title":255,"meta_description":256,"component_name":257,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":34},1890,"Color Converter","color-converter","Convert colors between HEX, RGB, and HSL formats. Includes live color preview.","Color Converter - HEX, RGB, HSL Color Conversion Online","Free online color converter. Convert between HEX, RGB, HSL, HSV, CMYK and named colors. Live preview, color picker, copy-to-clipboard. For web designers.","ColorConverter",{"id":259,"category_id":235,"name":260,"slug":261,"description":262,"meta_title":263,"meta_description":264,"component_name":265,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":43},1891,"Unix Timestamp Converter","timestamp-converter","Convert Unix timestamps to human-readable dates and vice versa. Supports seconds and milliseconds.","Unix Timestamp Converter - Convert Timestamps Online","Free online Unix timestamp converter. Convert timestamps to dates and dates to timestamps instantly.","TimestampConverter",{"id":267,"category_id":235,"name":268,"slug":269,"description":270,"meta_title":271,"meta_description":272,"component_name":273,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":52},1892,"Markdown ↔ HTML","markdown-to-html","Bidirectional converter: turn Markdown into clean HTML with live preview, or convert HTML back to Markdown with configurable output options (heading style, code blocks, bullets). 100% client-side.","Markdown ↔ HTML Converter - Bidirectional MD to HTML Online","Free online Markdown ↔ HTML converter. Convert Markdown to HTML with live preview, or HTML to Markdown with customizable output options. No server upload — 100% private.","MarkdownToHtml",{"id":275,"category_id":235,"name":276,"slug":277,"description":278,"meta_title":279,"meta_description":280,"component_name":281,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":142},1893,"CSV ↔ JSON","csv-to-json","Convert CSV to JSON and JSON to CSV. Handles headers, custom delimiters, and quoted fields.","CSV to JSON Converter (and JSON to CSV) - Online Free","Free online CSV ↔ JSON converter. Transform CSV data into JSON format or export JSON arrays to CSV. Supports custom delimiters and headers.","CsvToJson",{"id":283,"category_id":235,"name":284,"slug":285,"description":286,"meta_title":287,"meta_description":288,"component_name":289,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":61},1894,"JSON ↔ YAML","json-yaml-converter","Convert JSON to YAML and YAML to JSON instantly. Essential for CI\u002FCD pipelines, Docker, and Kubernetes configs.","JSON to YAML Converter - Convert JSON ↔ YAML Online","Free online JSON to YAML and YAML to JSON converter. Essential for engineers working with Docker, Kubernetes, and CI\u002FCD pipelines.","JsonYamlConverter",{"id":291,"category_id":235,"name":292,"slug":293,"description":294,"meta_title":295,"meta_description":296,"component_name":297,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":215},1895,"Number Base Converter","number-base-converter","Convert numbers between Binary, Decimal, Octal, and Hexadecimal instantly.","Number Base Converter - Binary, Decimal, Hex, Octal Online","Free online number base converter. Instantly convert between binary, decimal, hexadecimal and octal. Works with large numbers.","NumberBaseConverter",{"id":299,"category_id":235,"name":300,"slug":301,"description":302,"meta_title":303,"meta_description":304,"component_name":305,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":224},1896,"Image to Base64","image-to-base64","Convert any image (JPG, PNG, GIF, SVG, WebP) to Base64 or data URI. Paste directly in CSS or HTML.","Image to Base64 Converter - Data URI Generator Online","Free online image to Base64 converter. Upload JPG, PNG, GIF, SVG or WebP and get the Base64 string or data URI instantly. No upload to server.","ImageToBase64",{"id":307,"category_id":235,"name":308,"slug":309,"description":310,"meta_title":311,"meta_description":312,"component_name":313,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":314},1897,"WebP Converter","webp-converter","Convert JPG, PNG, GIF, and BMP images to WebP format directly in your browser. Control quality and download instantly.","WebP Converter - Convert Images to WebP Online Free","Free online WebP converter. Convert JPG, PNG, GIF or BMP to WebP in your browser. Adjust quality, see file size savings, and download instantly. No upload to server.","WebpConverter",9,{"id":316,"category_id":235,"name":317,"slug":318,"description":319,"meta_title":320,"meta_description":321,"component_name":322,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":323},1898,"PX to REM Converter","px-to-rem","Convert px to rem and rem to px instantly. Set a custom base font size for accurate results.","PX to REM Converter - CSS Unit Converter Online","Free PX to REM converter. Instantly convert CSS pixels to rem and rem to px. Set custom base font size (default 16px). Perfect for responsive design.","PxToRem",10,{"id":325,"category_id":235,"name":326,"slug":327,"description":328,"meta_title":329,"meta_description":330,"component_name":331,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":332},1899,"JSON ↔ XML Converter","json-to-xml","Convert JSON to XML and XML to JSON. Handles nested objects, attributes, and arrays. Essential for enterprise integrations, SOAP APIs, and legacy systems.","JSON to XML Converter (and XML to JSON) - Online Free","Free JSON ↔ XML converter. Transform JSON data to XML format or parse XML back to JSON. Handles nested structures, custom root element, and attributes.","JsonXmlConverter",11,{"id":334,"category_id":235,"name":335,"slug":336,"description":337,"meta_title":338,"meta_description":339,"component_name":340,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":341},1947,"Unit Converter","unit-converter","Convert between common units: temperature (°C, °F, K), length (mm to mi), weight (mg to t), speed (m\u002Fs, km\u002Fh, mph), and storage (B to TB). Instant bidirectional conversion.","Unit Converter - Convert Temperature, Length, Weight Online","Free unit converter. Instantly convert temperature, length, weight, speed, and storage units. Bidirectional — type in any field.","UnitConverter",15,{"id":343,"category_id":235,"name":344,"slug":345,"description":346,"meta_title":347,"meta_description":348,"component_name":349,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":350},1950,"Color Palette Generator","color-palette-generator","Generate harmonious color palettes from any base color using color theory. Choose analogous, complementary, triadic, split-complementary, tetradic, or monochromatic harmony.","Color Palette Generator - Create Harmonious Color Schemes Online","Free color palette generator. Create harmonious schemes (analogous, complementary, triadic, tetradic) from any color. Get HEX, RGB, HSL. Copy with one click.","ColorPaletteGenerator",18,{"id":352,"name":353,"slug":354,"icon":355,"description":356,"content":357,"sort_order":142,"created_at":12,"updated_at":13,"tools":358},232,"Developer Tools","developer-tools","💻","Essential tools for software developers","A swiss-army knife for developers: test regular expressions with live matches, pretty-print and validate JSON, minify or beautify code, inspect JWTs, diff files and more — all without leaving the browser.",[359,367,375,383,391,399,407,415,423,431,439,448],{"id":360,"category_id":352,"name":361,"slug":362,"description":363,"meta_title":364,"meta_description":365,"component_name":366,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":25},1901,"JSON Formatter","json-formatter","Format, validate and beautify JSON data. Detect syntax errors with helpful messages.","JSON Formatter & Validator - Format JSON Online","Free online JSON formatter and validator. Beautify, minify, and validate JSON data with syntax error detection.","JsonFormatter",{"id":368,"category_id":352,"name":369,"slug":370,"description":371,"meta_title":372,"meta_description":373,"component_name":374,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":34},1902,"JWT Decoder","jwt-decoder","Decode and inspect JSON Web Tokens. View header, payload, and signature information.","JWT Decoder - Decode & Inspect JWT Tokens Online Free","Free online JWT decoder. Paste any JWT and instantly decode header, payload, signature and claims. Supports HS256, RS256, ES256. Client-side, no data sent.","JwtDecoder",{"id":376,"category_id":352,"name":377,"slug":378,"description":379,"meta_title":380,"meta_description":381,"component_name":382,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":43},1903,"UUID Generator","uuid-generator","Generate random UUIDs (v4). Create single or multiple unique identifiers instantly.","UUID Generator v4\u002Fv7 - Create UUIDs Online Free","Free online UUID generator. Create UUID v4, v7 and nil UUIDs instantly in your browser. Copy with one click, bulk generate, no registration needed.","UuidGenerator",{"id":384,"category_id":352,"name":385,"slug":386,"description":387,"meta_title":388,"meta_description":389,"component_name":390,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":52},1904,"QR Code Generator","qr-code-generator","Generate downloadable QR codes from any URL or text. Export as SVG or PNG directly in your browser.","QR Code Generator - Create QR Codes Online Free","Free online QR code generator. Create QR codes from URLs or text and download as SVG or PNG. No sign-up required.","QrCodeGenerator",{"id":392,"category_id":352,"name":393,"slug":394,"description":395,"meta_title":396,"meta_description":397,"component_name":398,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":142},1905,"Regex Tester","regex-tester","Test regular expressions against text in real-time. See matches highlighted with capture groups.","Regex Tester - Test Regular Expressions Online","Free online regex tester. Test and debug regular expressions with real-time matching and capture groups.","RegexTester",{"id":400,"category_id":352,"name":401,"slug":402,"description":403,"meta_title":404,"meta_description":405,"component_name":406,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":61},1906,"Cron Expression Parser","cron-parser","Parse cron expressions and see the next scheduled run times. Supports standard 5-field cron syntax.","Cron Expression Parser - Parse & Explain Cron Jobs Online","Free online cron expression parser. Parse and validate cron schedules. See next execution times and human-readable descriptions. Supports 5 and 6-field formats.","CronParser",{"id":408,"category_id":352,"name":409,"slug":410,"description":411,"meta_title":412,"meta_description":413,"component_name":414,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":215},1907,"Chmod Calculator","chmod-calculator","Visual Unix permissions calculator. Select Read\u002FWrite\u002FExecute for Owner, Group, and Others to get the numeric value and symbolic notation.","Chmod Calculator - Unix File Permissions Calculator Online","Free online chmod calculator. Visual checkboxes for Unix file permissions — generates numeric (755) and symbolic (rwxr-xr-x) notation instantly.","ChmodCalculator",{"id":416,"category_id":352,"name":417,"slug":418,"description":419,"meta_title":420,"meta_description":421,"component_name":422,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":224},1908,"Diff Checker","diff-checker","Compare two texts and see the differences highlighted. Find additions, deletions, and changes.","Diff Checker - Compare Text Differences Online","Free online diff checker. Compare two texts side by side and see additions, deletions, and changes highlighted.","DiffChecker",{"id":424,"category_id":352,"name":425,"slug":426,"description":427,"meta_title":428,"meta_description":429,"component_name":430,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":233},1942,"Markdown Table Generator","markdown-table-generator","Create Markdown tables visually — add rows and columns, set alignment, and copy the Markdown output. Much easier than formatting pipes and dashes by hand.","Markdown Table Generator - Create Tables Online Free","Free Markdown table generator. Build tables visually, set column alignment, and copy the Markdown output. No more counting dashes and pipes.","MarkdownTableGenerator",{"id":432,"category_id":352,"name":433,"slug":434,"description":435,"meta_title":436,"meta_description":437,"component_name":438,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":233},1957,"Fake Data Generator","fake-data-generator","Generate realistic fake JSON data for testing and prototyping. Build a custom schema with names, emails, UUIDs, dates, and more — then generate as many rows as you need.","Fake Data Generator - Generate Test JSON Data Online","Free fake data generator. Create JSON test datasets with names, emails, UUIDs, phone numbers, and more. Build a custom schema and generate up to 50 rows instantly.","FakeDataGenerator",{"id":440,"category_id":352,"name":441,"slug":442,"description":443,"meta_title":444,"meta_description":445,"component_name":446,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":447},1943,"JSON → TypeScript Interface","json-to-typescript","Generate TypeScript interfaces automatically from any JSON object. Handles nested objects, arrays, nullable values, and optional fields. Paste JSON and get ready-to-use TypeScript.","JSON to TypeScript Interface Generator - Convert JSON Online","Free JSON to TypeScript interface generator. Paste JSON and get TypeScript interfaces instantly. Supports nested objects, arrays, union types. Production-ready.","JsonToTypescript",14,{"id":449,"category_id":352,"name":450,"slug":451,"description":452,"meta_title":453,"meta_description":454,"component_name":455,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":341},1944,"Code Screenshot","code-screenshot","Turn any code snippet into a beautiful screenshot image. Choose theme (Dracula, VS Code, One Dark…), gradient background, font, line numbers, and window chrome. Export as PNG. 100% client-side.","Code Screenshot Generator - Beautiful Code Images Online","Free code screenshot tool. Generate beautiful code images with syntax highlighting, gradient backgrounds, and window chrome. Export as PNG. No signup required.","CodeScreenshot",{"id":457,"name":458,"slug":459,"icon":460,"description":461,"content":462,"sort_order":61,"created_at":12,"updated_at":13,"tools":463},233,"Formatters","formatters","📐","Format and beautify code and data","Paste messy, minified or hand-written code and get it back clean and consistently indented. Supports JSON, XML, HTML, CSS, SQL and more. Great for code reviews, debugging API responses or just tidying things up.",[464,472,480,488,496,504,512,520,528,536],{"id":465,"category_id":457,"name":466,"slug":467,"description":468,"meta_title":469,"meta_description":470,"component_name":471,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":11},1965,"CSS Loader Generator","css-loader-generator","Generate CSS loaders and spinners — spinner, dots, pulse, bars, and ripple. Customize color, size, speed, and thickness. Copy the HTML and CSS with one click.","CSS Loader Generator - Create Spinners & Loaders Online Free","Free CSS loader generator. Create animated spinners, dots, pulse, bars, and ripple loaders. Customize color, size, speed, and thickness. Copy the CSS and HTML instantly.","CssLoaderGenerator",{"id":473,"category_id":457,"name":474,"slug":475,"description":476,"meta_title":477,"meta_description":478,"component_name":479,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":25},1909,"CSS Minifier\u002FBeautifier","css-formatter","Minify CSS to reduce file size or beautify compressed CSS for readability.","CSS Minifier & Beautifier - Format CSS Online","Free online CSS minifier and beautifier. Minify CSS for production or beautify compressed code. Supports nested CSS, media queries. Client-side only.","CssFormatter",{"id":481,"category_id":457,"name":482,"slug":483,"description":484,"meta_title":485,"meta_description":486,"component_name":487,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":34},1910,"HTML Prettifier","html-prettifier","Format and indent HTML code for better readability. Fix messy HTML structure.","HTML Prettifier - Format & Indent HTML Online","Free online HTML prettifier. Clean up messy HTML with automatic indentation, tag balancing and attribute sorting. Supports HTML5, Vue templates, JSX.","HtmlPrettifier",{"id":489,"category_id":457,"name":490,"slug":491,"description":492,"meta_title":493,"meta_description":494,"component_name":495,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":43},1911,"SQL Formatter","sql-formatter","Format SQL queries with proper indentation and keyword highlighting for better readability.","SQL Formatter - Beautify & Format SQL Online Free","Free online SQL formatter. Beautify and indent MySQL, PostgreSQL and SQL Server queries. Syntax highlighting, configurable indentation. No signup needed.","SqlFormatter",{"id":497,"category_id":457,"name":498,"slug":499,"description":500,"meta_title":501,"meta_description":502,"component_name":503,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":52},1912,"XML Formatter","xml-formatter","Format and indent XML documents. Validate XML syntax and structure.","XML Formatter - Format & Validate XML Online","Free online XML formatter and validator. Beautify, indent, minify and validate XML documents. Custom indentation, tree view, node collapse. Client-side.","XmlFormatter",{"id":505,"category_id":457,"name":506,"slug":507,"description":508,"meta_title":509,"meta_description":510,"component_name":511,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":142},1913,"CSS Gradient Generator","css-gradient-generator","Generate CSS linear, radial, and conic gradients with a visual editor. Copy the CSS instantly.","CSS Gradient Generator - Linear, Radial & Conic Online","Free CSS gradient generator. Create beautiful linear, radial, and conic gradients visually. Copy the CSS code instantly.","CssGradientGenerator",{"id":513,"category_id":457,"name":514,"slug":515,"description":516,"meta_title":517,"meta_description":518,"component_name":519,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":61},1914,"CSS Grid Generator","css-grid-generator","Generate CSS Grid layouts visually. Define rows, columns, and gaps, then copy the ready-to-use CSS.","CSS Grid Generator - Visual CSS Grid Layout Builder Online","Free CSS Grid generator. Visually define your grid columns, rows, gaps and alignment. Generate and copy the CSS code instantly.","CssGridGenerator",{"id":521,"category_id":457,"name":522,"slug":523,"description":524,"meta_title":525,"meta_description":526,"component_name":527,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":215},1915,"Box Shadow Generator","box-shadow-generator","Visual CSS box-shadow generator with live preview. Control offset, blur, spread, color, and opacity with sliders. Add multiple shadow layers and copy the CSS instantly.","CSS Box Shadow Generator - Visual Shadow Builder","Free CSS box-shadow generator. Visual sliders for X, Y, blur, spread, color, and opacity. Live preview, multi-layer shadows, and instant CSS copy.","BoxShadowGenerator",{"id":529,"category_id":457,"name":530,"slug":531,"description":532,"meta_title":533,"meta_description":534,"component_name":535,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":224},1916,"Border Radius Generator","border-radius-generator","Visual CSS border-radius generator with independent sliders for each corner. Live preview with presets for common shapes like pill, rounded, and more.","CSS Border Radius Generator - Visual Corner Radius Tool","Free CSS border-radius generator. Independent sliders for each corner with live preview. Includes presets for pill, rounded, and custom shapes.","BorderRadiusGenerator",{"id":537,"category_id":457,"name":538,"slug":539,"description":540,"meta_title":541,"meta_description":542,"component_name":543,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":314},1958,"Flexbox Generator","flexbox-generator","Visual flexbox playground — adjust container and child properties (flex-direction, justify-content, align-items, gap, flex-grow, etc.) and see the result live. Generates ready-to-use CSS.","Flexbox Generator - Visual CSS Flexbox Playground Online","Free visual CSS Flexbox playground. Tweak flex-direction, justify-content, align-items and gap with live preview. See code update in real time.","FlexboxGenerator",{"id":545,"name":546,"slug":547,"icon":548,"description":549,"content":550,"sort_order":215,"created_at":12,"updated_at":13,"tools":551},234,"Image Tools","image-tools","🖼️","Client-side image processing tools — compress, convert, and generate images directly in your browser","Quick browser-based image utilities: resize, convert between formats (PNG, JPEG, WebP), compress for the web, extract colors and generate placeholders. Your images are processed entirely on-device and never uploaded anywhere.",[552,560,568,576],{"id":553,"category_id":545,"name":554,"slug":555,"description":556,"meta_title":557,"meta_description":558,"component_name":559,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":34},1918,"Image Compressor","image-compressor","Compress and convert JPG, PNG, and WebP images directly in your browser. Adjust quality, switch output formats, and compare originals side by side with a slider. Open the full-size inspector to zoom and pan for pixel-level comparison. No upload to servers — your images stay private.","Image Compressor — Compress JPG, PNG & WebP Online Free","Free client-side image compressor. Reduce JPG, PNG and WebP file sizes. Bulk compress, preview before download, lossy and lossless modes. All in browser.","ImageCompressor",{"id":561,"category_id":545,"name":562,"slug":563,"description":564,"meta_title":565,"meta_description":566,"component_name":567,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":52},1920,"Image Resizer","image-resizer","Resize images to exact dimensions right in your browser. Lock aspect ratio, choose output format (JPEG, PNG, WebP) and quality. No upload required.","Image Resizer - Resize Images Online Free","Free online image resizer. Resize JPG, PNG and WebP images to exact dimensions with aspect ratio lock. Download instantly — 100% client-side.","ImageResizer",{"id":569,"category_id":545,"name":570,"slug":571,"description":572,"meta_title":573,"meta_description":574,"component_name":575,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":142},1959,"Image Cropper","image-cropper","Crop images in your browser using Canvas API. Free-form or fixed aspect ratio (1:1, 4:3, 16:9, 3:2). Drag handles to select crop area and download the result.","Image Cropper - Crop Images Online Free","Free online image cropper. Crop images to any size or aspect ratio (1:1, 4:3, 16:9) using drag handles. Runs entirely in your browser.","ImageCropper",{"id":577,"category_id":545,"name":578,"slug":579,"description":580,"meta_title":581,"meta_description":582,"component_name":583,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":323},1964,"EXIF Metadata Viewer","exif-viewer","Read EXIF metadata from JPEG, PNG, TIFF, WebP, and HEIC images. View camera model, exposure settings, GPS coordinates (with map link), and all embedded metadata. 100% client-side.","EXIF Metadata Viewer - Read Photo EXIF Data Online Free","Free online EXIF viewer. Read camera, exposure, GPS location and metadata from photos. Supports JPG, PNG, WebP and HEIC. Private, no uploads.","ExifViewer",{"id":585,"name":586,"slug":587,"icon":588,"description":589,"content":590,"sort_order":224,"created_at":12,"updated_at":13,"tools":591},235,"AI Tools","ai-tools","🤖","Tools for working smarter with AI and LLMs — token counting, prompt engineering, and cost estimation","AI-assisted utilities that help you write prompts, estimate token counts, compare model outputs and explore embeddings. Practical tools built for developers integrating LLMs into their workflows.",[592],{"id":593,"category_id":585,"name":594,"slug":595,"description":596,"meta_title":597,"meta_description":598,"component_name":599,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":215},1951,"MCP Tool Builder","mcp-tool-builder","Build MCP (Model Context Protocol) tool definitions visually. Define name, description, and typed input parameters — generates the JSON for your MCP server instantly.","MCP Tool Builder - Create MCP Tool Definitions Online","Free MCP Tool Builder. Create Model Context Protocol tool definitions with a visual form. Generate JSON for Claude Desktop, Cursor, and any MCP-compatible client.","McpToolBuilder",{"id":601,"name":602,"slug":603,"icon":604,"description":605,"content":606,"sort_order":314,"created_at":12,"updated_at":13,"tools":607},236,"PDF Tools","pdf-tools","📄","Merge, split, and optimize PDF files entirely in your browser — no upload required",null,[608,616,624],{"id":609,"category_id":601,"name":610,"slug":611,"description":612,"meta_title":613,"meta_description":614,"component_name":615,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":25},1927,"PDF Merger","pdf-merger","Combine multiple PDF files into one with page-level control. Preview thumbnails of every page, deselect pages you don't want, drag to reorder files, and download the merged result. 100% client-side — your files never leave your browser.","PDF Merger - Merge & Combine PDF Files Online Free","Free online PDF merger with page preview. Select pages, reorder files by drag & drop, and download the merged PDF. 100% client-side — your files never leave your browser.","PdfMerger",{"id":617,"category_id":601,"name":618,"slug":619,"description":620,"meta_title":621,"meta_description":622,"component_name":623,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":34},1928,"PDF Splitter","pdf-splitter","Split PDFs three ways with page thumbnail preview. Extract specific pages by clicking, define custom ranges (e.g. 1-3, 5, 7-10), or split every N pages into separate files. Download as PDF or ZIP. 100% client-side — your files never leave your browser.","PDF Splitter - Split & Extract PDF Pages Online Free","Free online PDF splitter. Extract pages visually, use range syntax, or split every N pages. Preview pages before extracting. Client-side, no uploads.","PdfSplitter",{"id":625,"category_id":601,"name":626,"slug":627,"description":628,"meta_title":629,"meta_description":630,"component_name":631,"is_premium":23,"is_server_side":23,"is_published":24,"sort_order":43},1929,"PDF Compressor","pdf-compressor","Reduce PDF file size with lossless compression. Remove metadata (author, timestamps, XMP), optimize object streams, and re-encode structure — all without touching content, fonts, or images. 100% client-side — your files never leave your browser.","PDF Compressor - Reduce PDF File Size Online Free","Free online PDF compressor. Reduce file size with lossless optimization. Remove duplicate fonts, compress images, strip metadata. Batch up to 10 files.","PdfCompressor",{"slug":633,"title":634,"description":635,"pubDate":636,"tags":637,"category":641,"readingTime":642,"draft":23,"html":643},"json-vs-yaml-config-files","JSON vs YAML: The Config File Debate","Your CI pipeline just failed because a config value silently changed type. Here's how JSON and YAML behave in the real world and when each one makes sense.","2026-07-04T00:00:00.000Z",[638,639,640],"json","yaml","config","JSON & Data","6 min read","\u003Cp>Your config file looks right. The pipeline fails anyway. Somewhere in a YAML file, \u003Ccode>NO\u003C\u002Fcode> became \u003Ccode>false\u003C\u002Fcode>, or \u003Ccode>1\u003C\u002Fcode> became an integer when the template engine expected a string. \u003Cstrong>JSON and YAML look similar on the surface but handle data fundamentally differently.\u003C\u002Fstrong> Picking the wrong one costs real debugging time.\u003C\u002Fp>\n\u003Ch2>Same Config, Two Formats\u003C\u002Fh2>\n\u003Cp>Here&#39;s a database configuration in both formats.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"hljs language-json\">\u003Cspan class=\"hljs-punctuation\">{\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">&quot;host&quot;\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">:\u003C\u002Fspan> \u003Cspan class=\"hljs-string\">&quot;localhost&quot;\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">,\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">&quot;port&quot;\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">:\u003C\u002Fspan> \u003Cspan class=\"hljs-number\">5432\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">,\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">&quot;credentials&quot;\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">:\u003C\u002Fspan> \u003Cspan class=\"hljs-punctuation\">{\u003C\u002Fspan>\n    \u003Cspan class=\"hljs-attr\">&quot;user&quot;\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">:\u003C\u002Fspan> \u003Cspan class=\"hljs-string\">&quot;deploy&quot;\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">,\u003C\u002Fspan>\n    \u003Cspan class=\"hljs-attr\">&quot;password&quot;\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">:\u003C\u002Fspan> \u003Cspan class=\"hljs-string\">&quot;s3cret&quot;\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-punctuation\">}\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">,\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">&quot;ssl&quot;\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">:\u003C\u002Fspan> \u003Cspan class=\"hljs-literal\">\u003Cspan class=\"hljs-keyword\">true\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">,\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">&quot;options&quot;\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">:\u003C\u002Fspan> \u003Cspan class=\"hljs-punctuation\">{\u003C\u002Fspan>\n    \u003Cspan class=\"hljs-attr\">&quot;pool_size&quot;\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">:\u003C\u002Fspan> \u003Cspan class=\"hljs-number\">10\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">,\u003C\u002Fspan>\n    \u003Cspan class=\"hljs-attr\">&quot;timeout_seconds&quot;\u003C\u002Fspan>\u003Cspan class=\"hljs-punctuation\">:\u003C\u002Fspan> \u003Cspan class=\"hljs-number\">30\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-punctuation\">}\u003C\u002Fspan>\n\u003Cspan class=\"hljs-punctuation\">}\u003C\u002Fspan>\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>And the equivalent in YAML:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"hljs language-yaml\">\u003Cspan class=\"hljs-attr\">host:\u003C\u002Fspan> \u003Cspan class=\"hljs-string\">localhost\u003C\u002Fspan>\n\u003Cspan class=\"hljs-attr\">port:\u003C\u002Fspan> \u003Cspan class=\"hljs-number\">5432\u003C\u002Fspan>\n\u003Cspan class=\"hljs-attr\">credentials:\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">user:\u003C\u002Fspan> \u003Cspan class=\"hljs-string\">deploy\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">password:\u003C\u002Fspan> \u003Cspan class=\"hljs-string\">s3cret\u003C\u002Fspan>\n\u003Cspan class=\"hljs-attr\">ssl:\u003C\u002Fspan> \u003Cspan class=\"hljs-literal\">true\u003C\u002Fspan>\n\u003Cspan class=\"hljs-attr\">options:\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">pool_size:\u003C\u002Fspan> \u003Cspan class=\"hljs-number\">10\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">timeout_seconds:\u003C\u002Fspan> \u003Cspan class=\"hljs-number\">30\u003C\u002Fspan>\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The YAML version is cleaner. No braces, no commas, no quotes around keys. That&#39;s the appeal. \u003Cstrong>But notice what&#39;s invisible in the YAML version: every value&#39;s type depends on how the parser interprets it.\u003C\u002Fstrong> The JSON version explicitly quotes strings and leaves numbers unquoted. YAML guesses.\u003C\u002Fp>\n\u003Ch2>JSON: Boring by Design\u003C\u002Fh2>\n\u003Cp>JSON&#39;s strictness gets called annoying until it saves you. The format makes no assumptions. A string is a string because it&#39;s quoted. A number is a number because it&#39;s not. An object starts with \u003Ccode>{\u003C\u002Fcode> and ends with \u003Ccode>}\u003C\u002Fcode>. There&#39;s no ambiguity.\u003C\u002Fp>\n\u003Cp>This makes JSON the right choice whenever config files cross system boundaries. Your CI pipeline generates a config file? JSON. A deployment tool merges configs from multiple environments? JSON. An orchestrator reads a config at startup? JSON. \u003Cstrong>The simplicity means every language&#39;s JSON parser produces the same result.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The tradeoff is real though. JSON is miserable to write by hand past 20 lines. No comments means you can&#39;t explain why a value is what it is. Trailing commas throw errors. Multiline strings need \u003Ccode>\\n\u003C\u002Fcode> escapes that make logs unreadable. I&#39;ve seen teams add a build step just to strip comments from JSON files. At that point you&#39;ve already lost.\u003C\u002Fp>\n\u003Ch2>The Norway Problem\u003C\u002Fh2>\n\u003Cp>The most infamous YAML bug has its own name. In YAML, the string \u003Ccode>NO\u003C\u002Fcode> is parsed as the boolean \u003Ccode>false\u003C\u002Fcode>. So is \u003Ccode>False\u003C\u002Fcode>, \u003Ccode>FALSE\u003C\u002Fcode>, \u003Ccode>n\u003C\u002Fcode>, \u003Ccode>N\u003C\u002Fcode>, \u003Ccode>off\u003C\u002Fcode>, \u003Ccode>On\u003C\u002Fcode>, \u003Ccode>YES\u003C\u002Fcode>, \u003Ccode>y\u003C\u002Fcode>, and about 30 other values. The \u003Ca href=\"https:\u002F\u002Fyaml.org\u002Fspec\u002F1.2.2\u002F\" target=\"_blank\" rel=\"noopener noreferrer\">YAML spec\u003C\u002Fa> defines a long list of strings that silently convert to booleans.\u003C\u002Fp>\n\u003Cp>A real deployment pipeline failed because a config file contained:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"hljs language-yaml\">\u003Cspan class=\"hljs-attr\">region:\u003C\u002Fspan> \u003Cspan class=\"hljs-literal\">NO\u003C\u002Fspan>\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>That&#39;s the country code for Norway. The parser read it as \u003Ccode>false\u003C\u002Fcode>. The deployment script checked \u003Ccode>if region == false\u003C\u002Fcode> and skipped the entire Norway region setup. Nobody noticed until users in Norway couldn&#39;t access the service.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The YAML spec prioritizes convenience over safety here, and it&#39;s by design.\u003C\u002Fstrong> The spec says bare words like \u003Ccode>NO\u003C\u002Fcode> should be treated as booleans because (and I&#39;m paraphrasing) it&#39;s what people expect when writing config by hand. The result is that country codes, short status flags, and human-readable values can silently change type.\u003C\u002Fp>\n\u003Ch2>When YAML&#39;s Flexibility Works\u003C\u002Fh2>\n\u003Cp>For config files that humans write and maintain directly, YAML&#39;s features genuinely help. Comments document why a port was chosen or why a timeout is conservative. Anchors and aliases let you define a value once and reuse it:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"hljs language-yaml\">\u003Cspan class=\"hljs-attr\">defaults:\u003C\u002Fspan> \u003Cspan class=\"hljs-meta\">&amp;defaults\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">retries:\u003C\u002Fspan> \u003Cspan class=\"hljs-number\">3\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">timeout:\u003C\u002Fspan> \u003Cspan class=\"hljs-number\">30\u003C\u002Fspan>\n\n\u003Cspan class=\"hljs-attr\">development:\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-string\">&lt;&lt;:\u003C\u002Fspan> \u003Cspan class=\"hljs-meta\">*defaults\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">debug:\u003C\u002Fspan> \u003Cspan class=\"hljs-literal\">true\u003C\u002Fspan>\n\n\u003Cspan class=\"hljs-attr\">production:\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-string\">&lt;&lt;:\u003C\u002Fspan> \u003Cspan class=\"hljs-meta\">*defaults\u003C\u002Fspan>\n  \u003Cspan class=\"hljs-attr\">retries:\u003C\u002Fspan> \u003Cspan class=\"hljs-number\">5\u003C\u002Fspan>\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Try writing that without duplication in JSON. You&#39;d need a separate tool or a templating layer. YAML handles it natively.\u003C\u002Fp>\n\u003Cp>The danger is when those same features cause bugs that are hard to reproduce. \u003Cstrong>The parser that interprets your config locally isn&#39;t the same parser your deployment pipeline uses.\u003C\u002Fstrong> Different YAML libraries handle edge cases inconsistently. I&#39;ve seen a config work in PyYAML and fail in go-yaml because of how they handle deep nesting or duplicate keys.\u003C\u002Fp>\n\u003Ch2>JSON vs YAML: Key Differences\u003C\u002Fh2>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Feature\u003C\u002Fth>\n\u003Cth>JSON\u003C\u002Fth>\n\u003Cth>YAML\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Comments\u003C\u002Ftd>\n\u003Ctd>\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#dc2626\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline;vertical-align:middle\">\u003Cpath d=\"M18 6l-12 12\"\u002F>\u003Cpath d=\"M6 6l12 12\"\u002F>\u003C\u002Fsvg> Not supported\u003C\u002Ftd>\n\u003Ctd>\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#16a34a\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline;vertical-align:middle\">\u003Cpath d=\"M5 12l5 5l10 -10\"\u002F>\u003C\u002Fsvg> \u003Ccode># inline\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Strings\u003C\u002Ftd>\n\u003Ctd>Must be quoted\u003C\u002Ftd>\n\u003Ctd>Quotes optional\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Type coercion\u003C\u002Ftd>\n\u003Ctd>None (explicit)\u003C\u002Ftd>\n\u003Ctd>Implicit and aggressive\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Multiline strings\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>\\n\u003C\u002Fcode> escaping only\u003C\u002Ftd>\n\u003Ctd>`\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Anchors \u002F aliases\u003C\u002Ftd>\n\u003Ctd>\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#dc2626\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline;vertical-align:middle\">\u003Cpath d=\"M18 6l-12 12\"\u002F>\u003Cpath d=\"M6 6l12 12\"\u002F>\u003C\u002Fsvg>\u003C\u002Ftd>\n\u003Ctd>\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#16a34a\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline;vertical-align:middle\">\u003Cpath d=\"M5 12l5 5l10 -10\"\u002F>\u003C\u002Fsvg> \u003Ccode>&amp;anchor\u003C\u002Fcode> and \u003Ccode>*alias\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Trailing commas\u003C\u002Ftd>\n\u003Ctd>\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#dc2626\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline;vertical-align:middle\">\u003Cpath d=\"M18 6l-12 12\"\u002F>\u003Cpath d=\"M6 6l12 12\"\u002F>\u003C\u002Fsvg> Error\u003C\u002Ftd>\n\u003Ctd>\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#16a34a\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline;vertical-align:middle\">\u003Cpath d=\"M5 12l5 5l10 -10\"\u002F>\u003C\u002Fsvg> Allowed\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>File size\u003C\u002Ftd>\n\u003Ctd>Compact\u003C\u002Ftd>\n\u003Ctd>Usually larger\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Parser consistency\u003C\u002Ftd>\n\u003Ctd>High across languages\u003C\u002Ftd>\n\u003Ctd>Varies by implementation\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Security surface\u003C\u002Ftd>\n\u003Ctd>Minimal\u003C\u002Ftd>\n\u003Ctd>Custom types can execute code\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Machine generation\u003C\u002Ftd>\n\u003Ctd>\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#16a34a\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline;vertical-align:middle\">\u003Cpath d=\"M5 12l5 5l10 -10\"\u002F>\u003C\u002Fsvg> Excellent\u003C\u002Ftd>\n\u003Ctd>\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#f59e0b\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline;vertical-align:middle\">\u003Cpath d=\"M12 9v4\"\u002F>\u003Cpath d=\"M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0\"\u002F>\u003Cpath d=\"M12 16h.01\"\u002F>\u003C\u002Fsvg> Indentation-sensitive\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>The type coercion row matters more than most developers think. A YAML parser can turn \u003Ccode>&quot;true&quot;\u003C\u002Fcode> into a boolean, \u003Ccode>&quot;1.0&quot;\u003C\u002Fcode> into a float, and \u003Ccode>&quot;1&quot;\u003C\u002Fcode> into an integer (or not, depending on whether the value is quoted). \u003Cstrong>This makes YAML dangerous for configs that are validated against a schema.\u003C\u002Fstrong> A schema expects a string and gets an integer. The error message points to the validation layer, not to the YAML parsing step, so you debug the wrong thing.\u003C\u002Fp>\n\u003Ch2>Which One Should You Use?\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>JSON for anything generated, merged, or validated by machines. YAML for config files that live in a repo and are primarily maintained by humans.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The rule sounds simple but teams violate it constantly. The most common pattern I see: someone picks YAML because it&#39;s readable, then adds a JSON schema to validate it, then fights the type coercion issues until they add a pre-processing step to convert everything to strings. That&#39;s four steps to achieve what JSON does by default.\u003C\u002Fp>\n\u003Cp>A few practical guidelines that have held up across projects:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>If your CI\u002FCD pipeline writes or modifies config files, use JSON. YAML&#39;s indentation rules make automated editing error-prone.\u003C\u002Fli>\n\u003Cli>If the config file is checked into the same repository as the code and edited by hand, YAML is worth the risk.\u003C\u002Fli>\n\u003Cli>If you need comments, use YAML, but pin your YAML parser version and test the edge cases.\u003C\u002Fli>\n\u003Cli>If you&#39;re building a public API that accepts config, accept JSON. Your users will have fewer parsing bugs.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"\u002Fjson-yaml-converter\u002F\">Our JSON to YAML converter\u003C\u002Fa> can translate between both formats, but don&#39;t rely on it as a permanent bridge. Pick one format per project and convert only during migrations.\u003C\u002Fp>\n\u003Cp>Mixing two config formats in one project adds a cognitive cost that&#39;s easy to underestimate. Every time a developer reaches for an existing config file to understand the pattern, they check which format it uses first. That tiny overhead adds up across a team over months. I&#39;ve never seen a project where supporting both formats was worth the confusion it created. Pick one, document the decision, and move on.\u003C\u002Fp>\n",[645,647,658,666],{"slug":633,"title":634,"description":635,"pubDate":636,"tags":646,"category":641,"draft":23,"readingTime":642},[638,639,640],{"slug":648,"title":649,"description":650,"pubDate":651,"tags":652,"category":656,"draft":23,"readingTime":657},"password-generators-what-makes-secure","Password Generators: What Makes a Password Actually Secure","Length beats complexity every time. Here's what password generators get right and wrong, and how to create passwords that are both secure and usable.","2026-07-03T00:00:00.000Z",[653,654,655],"security","passwords","tools","Security","5 min read",{"slug":659,"title":660,"description":661,"pubDate":662,"tags":663,"category":656,"draft":23,"readingTime":657},"how-to-decode-jwt","How to Decode a JWT Token (And Actually Understand What's Inside)","JWTs aren't encrypted. You can decode them without a secret key. Here's how to read the header, payload, and signature, and what to look for when debugging auth issues.","2026-07-02T00:00:00.000Z",[664,665,653],"jwt","authentication",{"slug":667,"title":668,"description":669,"pubDate":670,"tags":671,"category":676,"draft":23,"readingTime":677},"http-status-codes-you-should-know","HTTP Status Codes You Should Actually Know","Most developers know 200, 404, and 500. The real debugging starts with the other codes that nobody memorizes.","2026-07-01T00:00:00.000Z",[672,673,674,675],"http","api","debugging","rest","DevOps & APIs","7 min read",1783512994839]