# KitLumi > KitLumi provides lightweight, useful tools for developers and technical users. A runtime badge on every tool explains whether processing is local or API-backed. ## Live tools - [JSON Formatter & Validator](https://kitlumi.com/en/tools/json-formatter/): Format, validate, sort, and minify JSON with exact error locations. Runtime: Local only. - [Image Compressor](https://kitlumi.com/en/tools/image-compressor/): Reduce image size while controlling output quality. Runtime: Local only. - [PDF Merge](https://kitlumi.com/en/tools/merge-pdf/): Combine PDF files and arrange pages before export. Runtime: Local only. - [Base64 Encode & Decode](https://kitlumi.com/en/tools/base64-encoder-decoder/): Convert text or files to and from Base64. Runtime: Local only. - [Timestamp Converter](https://kitlumi.com/en/tools/unix-timestamp-converter/): Convert Unix timestamps and human-readable dates. Runtime: Local only. - [UUID Generator](https://kitlumi.com/en/tools/uuid-generator/): Generate one or many standards-based UUIDs. Runtime: Local only. - [Regex Tester](https://kitlumi.com/en/tools/regex-tester/): Test regular expressions with matches and capture groups. Runtime: Local only. - [Password Generator](https://kitlumi.com/en/tools/password-generator/): Create strong passwords with clear entropy controls. Runtime: Local only. - [QR Code Generator](https://kitlumi.com/en/tools/qr-code-generator/): Create downloadable QR codes from text or URLs. Runtime: Local only. - [Word Counter](https://kitlumi.com/en/tools/word-counter/): Count words, characters, sentences, and reading time. Runtime: Local only. - [JSON Diff](https://kitlumi.com/en/tools/json-diff/): Compare parsed JSON values and list structural changes by path. Runtime: Local only. - [JSON to YAML Converter](https://kitlumi.com/en/convert/json-to-yaml/): Convert JSON and YAML in either direction with syntax validation. Runtime: Local only. - [JSON to CSV Converter](https://kitlumi.com/en/convert/json-to-csv/): Convert arrays of objects and tabular CSV in either direction. Runtime: Local only. - [JSON to TypeScript](https://kitlumi.com/en/convert/json-to-typescript/): Infer TypeScript interfaces from JSON objects and arrays. Runtime: Local only. - [JSON5 Formatter and Validator](https://kitlumi.com/en/tools/json5-formatter/): Format, validate, minify, or convert JSON5 to strict JSON locally. Runtime: Local only. - [YAML Formatter and Validator](https://kitlumi.com/en/tools/yaml-formatter/): Parse, validate, format, and inspect YAML as a local tree. Runtime: Local only. - [JSON to TOON Converter](https://kitlumi.com/en/convert/json-to-toon/): Convert between JSON and Token-Oriented Object Notation with the reference implementation. Runtime: Local only. - [JSON Stringify and Unescape](https://kitlumi.com/en/tools/json-stringify-unescape/): Convert JSON to an escaped string or JavaScript literal and restore it. Runtime: Local only. - [JSON to HTML, TSV, and Markdown Table](https://kitlumi.com/en/convert/json-to-html-table/): Turn JSON records into accessible HTML, TSV, or Markdown tables. Runtime: Local only. - [XML, YAML, and CSV Converter](https://kitlumi.com/en/convert/data-format-converter/): Convert XML, YAML, and CSV between common browser-safe text formats. Runtime: Local only. - [RSS and Atom to JSON Converter](https://kitlumi.com/en/convert/rss-to-json/): Parse RSS or Atom XML and export its full structure as JSON. Runtime: Local only. - [HTML Preview and Validator](https://kitlumi.com/en/tools/html-preview-validator/): Preview HTML in a script-blocked sandbox and run local structural checks. Runtime: Local only. - [XML Tree Viewer](https://kitlumi.com/en/tools/xml-tree-viewer/): Validate XML and explore elements, arrays, text, and attributes in a collapsible tree. Runtime: Local only. - [JSON Data Model Generator](https://kitlumi.com/en/convert/json-to-data-model/): Infer starter models for ten languages and JSON Schema from representative JSON. Runtime: Local only. - [Web Code Formatter](https://kitlumi.com/en/tools/web-code-formatter/): Format GraphQL, Angular, Vue, LESS, SCSS, Babel, Flow, LWC, and Glimmer locally. Runtime: Local only. - [Markdown and MDX Formatter](https://kitlumi.com/en/tools/markdown-formatter/): Format Markdown, GitHub-Flavored Markdown, and MDX with Prettier. Runtime: Local only. - [String Escape and Unescape](https://kitlumi.com/en/tools/string-escape-unescape/): Escape or unescape JSON, JavaScript, Java, .NET, XML, CSV, and SQL text. Runtime: Local only. - [Unicode String Inspector](https://kitlumi.com/en/tools/string-inspector/): Reverse graphemes, split text, and inspect Unicode, octal, entities, and UTF-8 bytes. Runtime: Local only. - [SQL Formatter](https://kitlumi.com/en/tools/sql-formatter/): Format or minify SQL with selectable database dialects. Runtime: Local only. - [XML Formatter and Converter](https://kitlumi.com/en/tools/xml-formatter/): Format, minify, validate, or convert XML and JSON locally. Runtime: Local only. - [CSS Formatter and Minifier](https://kitlumi.com/en/tools/css-formatter/): Format CSS with Prettier or optimize it with CSSO locally. Runtime: Local only. - [HTML Formatter and Minifier](https://kitlumi.com/en/tools/html-formatter/): Format HTML with Prettier or conservatively minify it locally. Runtime: Local only. - [JavaScript Formatter and Minifier](https://kitlumi.com/en/tools/javascript-formatter/): Format modern JavaScript with Prettier or minify it with Terser locally. Runtime: Local only. - [TypeScript Formatter and JavaScript Transpiler](https://kitlumi.com/en/tools/typescript-formatter/): Format TypeScript or transpile one file to JavaScript locally. Runtime: Local only. - [URL Encoder and Decoder](https://kitlumi.com/en/tools/url-encoder-decoder/): Encode or decode URL components and inspect query parameters. Runtime: Local only. - [HTML Entity and Unicode Converter](https://kitlumi.com/en/tools/html-entity-encoder/): Encode HTML entities and convert text to Unicode escapes. Runtime: Local only. - [Hash Generator](https://kitlumi.com/en/tools/hash-generator/): Calculate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 together. Runtime: Local only. - [File Checksum Calculator](https://kitlumi.com/en/tools/file-checksum/): Calculate and verify MD5 or SHA checksums for local files. Runtime: Local only. - [JWT Decoder and Verifier](https://kitlumi.com/en/tools/jwt-decoder/): Decode JWT headers and claims, inspect expiry, and verify HMAC signatures. Runtime: Local only. - [Text Diff](https://kitlumi.com/en/tools/text-diff/): Compare two texts line by line with additions and removals. Runtime: Local only. - [Case Converter](https://kitlumi.com/en/tools/case-converter/): Convert prose and identifiers between common letter cases. Runtime: Local only. - [Line Sort and Deduplicate](https://kitlumi.com/en/tools/line-tools/): Sort, reverse, trim, filter, and deduplicate text lines. Runtime: Local only. - [Slug Generator](https://kitlumi.com/en/tools/slug-generator/): Turn titles into clean URL slugs with configurable separators. Runtime: Local only. - [Markdown Preview](https://kitlumi.com/en/tools/markdown-preview/): Render CommonMark-style Markdown with raw HTML disabled. Runtime: Local only. - [Image Resizer and Cropper](https://kitlumi.com/en/tools/image-resizer/): Resize and center-crop images to exact pixel dimensions. Runtime: Local only. - [Image Format Converter](https://kitlumi.com/en/tools/image-converter/): Convert PNG, JPEG, WebP, and supported AVIF images locally. Runtime: Local only. - [HEIC to JPG and PNG](https://kitlumi.com/en/convert/heic-to-jpg/): Decode HEIC or HEIF photos and export browser-friendly JPG or PNG. Runtime: Local only. - [Image to Base64 and Data URI](https://kitlumi.com/en/convert/image-to-base64/): Create image Data URIs or restore Base64 image data to a file. Runtime: Local only. - [Image Metadata Viewer](https://kitlumi.com/en/tools/image-metadata-viewer/): Inspect EXIF, GPS, camera, and file metadata without uploading. Runtime: Local only. - [QR Code Scanner](https://kitlumi.com/en/tools/qr-code-scanner/): Read QR codes from local image files without camera permission. Runtime: Local only. - [Split PDF](https://kitlumi.com/en/tools/split-pdf/): Extract selected page ranges into a new local PDF. Runtime: Local only. - [Rotate and Reorder PDF](https://kitlumi.com/en/tools/organize-pdf/): Reorder, rotate, or remove PDF pages before export. Runtime: Local only. - [PDF Watermark and Page Numbers](https://kitlumi.com/en/tools/pdf-watermark/): Add diagonal text watermarks and page numbers to a PDF locally. Runtime: Local only. - [PDF to Images](https://kitlumi.com/en/tools/pdf-to-images/): Render PDF pages as downloadable PNG or JPEG images. Runtime: Local only. - [Images to PDF](https://kitlumi.com/en/tools/images-to-pdf/): Combine JPEG, PNG, and WebP images into one PDF document. Runtime: Local only. - [Extract Text from PDF](https://kitlumi.com/en/tools/extract-pdf-text/): Extract selectable text from every PDF page in the browser. Runtime: Local only. - [Cron Expression Generator](https://kitlumi.com/en/tools/cron-generator/): Build, validate, explain, and preview five-field cron schedules. Runtime: Local only. - [ULID Generator](https://kitlumi.com/en/tools/ulid-generator/): Generate sortable 128-bit ULIDs with cryptographic randomness. Runtime: Local only. - [ISO 8601 Duration Calculator](https://kitlumi.com/en/tools/duration-calculator/): Measure exact elapsed time and express it as an ISO 8601 duration. Runtime: Local only. - [Time Zone Converter](https://kitlumi.com/en/tools/time-zone-converter/): Interpret a wall time in one IANA zone and compare it across other zones. Runtime: Local only. - [IP Address Lookup](https://kitlumi.com/en/network/ip-lookup/): Look up public IP location, network, and ASN data with disclosed primary and fallback providers. Runtime: API-backed. - [CIDR Subnet Calculator](https://kitlumi.com/en/network/subnet-calculator/): Calculate IPv4 network, broadcast, mask, and usable host ranges. Runtime: Local only. - [JSON Query](https://kitlumi.com/en/tools/json-query/): Search JSON with JMESPath expressions and export filtered results. Runtime: Local only. - [HTML → Markdown](https://kitlumi.com/en/convert/html-to-markdown/): Convert pasted or local HTML to Markdown without fetching remote pages. Runtime: Local only. - [SVG Optimizer](https://kitlumi.com/en/tools/svg-optimizer/): Optimize SVG locally, compare file sizes, and download the result. Runtime: Local only. - [Mock Data Generator](https://kitlumi.com/en/tools/mock-data-generator/): Generate reproducible fake records with configurable fields as JSON or CSV. Runtime: Local only. - [ZIP Tools](https://kitlumi.com/en/tools/zip-tools/): Create ZIP archives and extract selected entries locally in your browser. Runtime: Local only. - [cURL → Code](https://kitlumi.com/en/convert/curl-to-code/): Convert cURL commands to JavaScript Fetch or Python Requests without executing requests. Runtime: Local only. - [JSON Schema Validator](https://kitlumi.com/en/tools/json-schema-validator/): Validate JSON against a user-provided schema after CSP feasibility review. Runtime: Local only. - [Barcode Generator](https://kitlumi.com/en/tools/barcode-generator/): Generate downloadable linear barcodes. Runtime: Local only. - [Color Converter](https://kitlumi.com/en/tools/color-converter/): Convert and preview common color spaces. Runtime: Local only. - [SQLite Workspace](https://kitlumi.com/en/tools/sqlite-workspace/): Inspect local SQLite databases and run queries in WebAssembly. Runtime: Local only. - [Image OCR](https://kitlumi.com/en/tools/image-ocr/): Candidate: extract image text after mobile performance evaluation. Runtime: Local only. - [Media Converter](https://kitlumi.com/en/tools/media-converter/): Convert short local media to WAV, MP4 or WebM using supported browser codecs; remux compatible tracks without uploading files. Runtime: Local only. ## Category hubs - [JSON and data tools](https://kitlumi.com/en/json-tools/) - [Encoding and crypto tools](https://kitlumi.com/en/encoding-crypto-tools/) - [Date and identifier tools](https://kitlumi.com/en/date-id-tools/) - [Text tools](https://kitlumi.com/en/text-tools/) - [Image and QR tools](https://kitlumi.com/en/image-tools/) - [PDF tools](https://kitlumi.com/en/pdf-tools/) - [Audio and video tools](https://kitlumi.com/en/media-tools/) - [Network tools](https://kitlumi.com/en/network-tools/) ## Language editions - [English home](https://kitlumi.com/): [Tool directory](https://kitlumi.com/en/tools/) - [简体中文 home](https://kitlumi.com/zh-cn/): [Tool directory](https://kitlumi.com/zh-cn/tools/) - [Español home](https://kitlumi.com/es/): [Tool directory](https://kitlumi.com/es/tools/) - [Português (Brasil) home](https://kitlumi.com/pt-br/): [Tool directory](https://kitlumi.com/pt-br/tools/) - [日本語 home](https://kitlumi.com/ja/): [Tool directory](https://kitlumi.com/ja/tools/) - [Deutsch home](https://kitlumi.com/de/): [Tool directory](https://kitlumi.com/de/tools/) - [Français home](https://kitlumi.com/fr/): [Tool directory](https://kitlumi.com/fr/tools/) - [한국어 home](https://kitlumi.com/ko/): [Tool directory](https://kitlumi.com/ko/tools/) - [العربية home](https://kitlumi.com/ar/): [Tool directory](https://kitlumi.com/ar/tools/) - [Bahasa Indonesia home](https://kitlumi.com/id/): [Tool directory](https://kitlumi.com/id/tools/) ## Reviewed localized tools - [IPアドレス検索:接続元・国・ASNを確認](https://kitlumi.com/ja/network/ip-lookup/): IPv4・IPv6の国、地域、ASN、組織、タイムゾーンを検索。空欄なら自分の公開IPを確認できます。検索時に外部APIへ送信し、位置情報は概算です。 - [Générateur de QR code gratuit en PNG et SVG](https://kitlumi.com/fr/tools/qr-code-generator/): Créez un QR code statique pour un texte ou une URL, puis téléchargez-le en PNG ou SVG. Taille, couleurs et correction réglables, sans compte ni envoi du contenu. - [Visor XML en árbol con atributos y salida JSON](https://kitlumi.com/es/tools/xml-tree-viewer/): Pega XML o abre un archivo para explorar un árbol desplegable y copiar su representación JSON. Procesamiento local, atributos @_ y límites de conversión explicados. - [Generador de códigos QR gratis en PNG y SVG](https://kitlumi.com/es/tools/qr-code-generator/): Crea un QR estático de un texto o una URL y descárgalo en PNG o SVG. Ajusta tamaño, colores y corrección sin cuenta ni envío del contenido a un servidor. - [IP Lookup: IP-Adresse, Land und ASN prüfen](https://kitlumi.com/de/network/ip-lookup/): IPv4 oder IPv6 nach Land, Region, ASN und Organisation abfragen. Ohne Eingabe die öffentliche IP prüfen. Externe API-Anfrage nach Klick; Standort nur ungefähr. - [Formateador de JavaScript: formatear y minificar](https://kitlumi.com/es/tools/javascript-formatter/): Formatea JavaScript con Prettier o minifícalo con Terser en el navegador. Compara resultados reales, elige Script o módulo ES y copia o descarga el código. - [YAML-Formatter: formatieren und in JSON umwandeln](https://kitlumi.com/de/tools/yaml-formatter/): YAML im Browser formatieren, auf lesbare Syntax prüfen oder als JSON und aufklappbaren Datenbaum anzeigen. Lokale Dateien, Kopieren und Download ohne Upload. - [JSON zu TypeScript: Interfaces und Typen erzeugen](https://kitlumi.com/de/convert/json-to-typescript/): TypeScript-Interfaces oder Typ-Aliase lokal aus JSON erzeugen. Mit Beispielen zu verschachtelten Objekten, Arrays, null und Grenzen der Typableitung. - [Consultar IP: localização, ASN e IPv6](https://kitlumi.com/pt-br/network/ip-lookup/): Consulte país, rede e ASN de um IPv4 ou IPv6. Veja os provedores externos, os limites da localização e quando a consulta usa o serviço alternativo. - [Gerador de UUID v4 e v7 no navegador](https://kitlumi.com/pt-br/tools/uuid-generator/): Gere de 1 a 100 UUIDs v4 ou v7 no navegador, copie a lista e confira formato, versão e variante. Entenda os limites de ordenação e validação. - [Base64 online: codificar e decodificar texto e arquivos](https://kitlumi.com/pt-br/tools/base64-encoder-decoder/): Converta texto UTF-8 ou arquivos para Base64 no navegador. Use Base64URL, copie a saída e baixe os bytes decodificados sem enviar o conteúdo. - [Separar PDF: extraer páginas sin subir archivos](https://kitlumi.com/es/tools/split-pdf/): Selecciona páginas o rangos de un PDF y descárgalos en un nuevo archivo. Procesamiento local, orden explícito y ejemplos de extracción verificables. ## Practical guides - [How to scan a QR code from an image or screenshot](https://kitlumi.com/en/guides/scan-qr-code-from-image/): Scan a QR screenshot on the same phone without uploading it. Follow the steps, try 12 downloadable images, and compare actual decode results and failures. - [如何识别图片和手机截图里的二维码?](https://kitlumi.com/zh-cn/guides/scan-qr-code-from-image/): 不用另一个手机或摄像头,直接读取截图里的二维码。介绍本地识别步骤、支持格式和模糊二维码的处理方法。 - [How to inspect an XML tree and its attributes online](https://kitlumi.com/en/guides/inspect-xml-tree/): Inspect XML attributes and repeated elements in a browser tree. Download three XML samples, compare exact JSON output, and check namespace and mixed-text limits. - [如何在线查看 XML 树结构和属性?](https://kitlumi.com/zh-cn/guides/inspect-xml-tree/): 把 XML 展开成可折叠的树,查看嵌套元素、重复节点和属性。附具体示例、操作步骤和 XML 转 JSON 的限制。 - [How to generate TypeScript from JSON and review the result](https://kitlumi.com/en/guides/json-to-typescript-without-schema/): Generate TypeScript from JSON, then check six actual input/output cases for missing fields, mixed arrays, nulls and large IDs. Includes downloadable examples. - [JSON 怎么转 TypeScript?生成后还要检查什么?](https://kitlumi.com/zh-cn/guides/json-to-typescript-without-schema/): 用 JSON 样本生成 TypeScript interface 或 type,了解嵌套对象、可选字段、null 和数组推断的限制,避免把样本当成完整接口定义。 - [How to filter a JSON array and export selected fields](https://kitlumi.com/en/guides/use-json-query-locally/): Follow a worked json query with jmespath workflow, troubleshoot common errors, and check the result before exporting. - [如何筛选 JSON 数组并导出指定字段?](https://kitlumi.com/zh-cn/guides/use-json-query-locally/): 按步骤完成JSON 查询与筛选,查看实际示例、常见错误和结果检查方法。 - [How to convert local HTML to Markdown without loading remote resources](https://kitlumi.com/en/guides/use-html-to-markdown-locally/): Follow a worked html to markdown converter workflow, troubleshoot common errors, and check the result before exporting. - [如何把本地 HTML 转成 Markdown 而不加载远程资源?](https://kitlumi.com/zh-cn/guides/use-html-to-markdown-locally/): 按步骤完成HTML 转 Markdown,查看实际示例、常见错误和结果检查方法。 - [How to optimize SVG and check the result before downloading](https://kitlumi.com/en/guides/use-svg-optimizer-locally/): Follow a worked svg optimizer workflow, troubleshoot common errors, and check the result before exporting. - [如何压缩 SVG 并检查优化前后的差异?](https://kitlumi.com/zh-cn/guides/use-svg-optimizer-locally/): 按步骤完成SVG 优化工具,查看实际示例、常见错误和结果检查方法。 - [How to generate reproducible JSON and CSV test data](https://kitlumi.com/en/guides/use-mock-data-generator-locally/): Follow a worked mock data generator workflow, troubleshoot common errors, and check the result before exporting. - [如何生成可复现的 JSON 和 CSV 测试数据?](https://kitlumi.com/zh-cn/guides/use-mock-data-generator-locally/): 按步骤完成模拟数据生成器,查看实际示例、常见错误和结果检查方法。 - [How to create a ZIP and extract selected files in your browser](https://kitlumi.com/en/guides/use-zip-tools-locally/): Follow a worked zip archive creator and extractor workflow, troubleshoot common errors, and check the result before exporting. - [如何在浏览器打包 ZIP 和选择文件解压?](https://kitlumi.com/zh-cn/guides/use-zip-tools-locally/): 按步骤完成ZIP 打包与解压,查看实际示例、常见错误和结果检查方法。 - [How to convert cURL to Fetch or Python and review conversion warnings](https://kitlumi.com/en/guides/use-curl-to-code-locally/): Follow a worked curl to javascript fetch and python requests workflow, troubleshoot common errors, and check the result before exporting. - [如何把 cURL 转成 Fetch 或 Python 并检查转换警告?](https://kitlumi.com/zh-cn/guides/use-curl-to-code-locally/): 按步骤完成cURL 转 Fetch 与 Python 代码,查看实际示例、常见错误和结果检查方法。 - [How to validate JSON with a local Draft 7 schema](https://kitlumi.com/en/guides/use-json-schema-validator-locally/): Follow a worked json schema validator workflow, troubleshoot common errors, and check the result before exporting. - [如何使用本地 Draft 7 Schema 校验 JSON?](https://kitlumi.com/zh-cn/guides/use-json-schema-validator-locally/): 按步骤完成JSON Schema 校验,查看实际示例、常见错误和结果检查方法。 - [How to generate and export a barcode locally](https://kitlumi.com/en/guides/use-barcode-generator-locally/): Follow a worked barcode generator workflow, troubleshoot common errors, and check the result before exporting. - [如何在本地生成并导出条形码?](https://kitlumi.com/zh-cn/guides/use-barcode-generator-locally/): 按步骤完成条形码生成,查看实际示例、常见错误和结果检查方法。 - [How to convert CSS colors and check sRGB gamut](https://kitlumi.com/en/guides/use-color-converter-locally/): Follow a worked color converter workflow, troubleshoot common errors, and check the result before exporting. - [如何转换 CSS 颜色并检查 sRGB 色域?](https://kitlumi.com/zh-cn/guides/use-color-converter-locally/): 按步骤完成颜色转换,查看实际示例、常见错误和结果检查方法。 - [How to query and export a local SQLite database](https://kitlumi.com/en/guides/use-sqlite-workspace-locally/): Follow a worked sqlite workspace workflow, troubleshoot common errors, and check the result before exporting. - [如何查询并导出本地 SQLite 数据库?](https://kitlumi.com/zh-cn/guides/use-sqlite-workspace-locally/): 按步骤完成SQLite 工作台,查看实际示例、常见错误和结果检查方法。 - [How to recognize English and Chinese text in a local image](https://kitlumi.com/en/guides/use-image-ocr-locally/): Follow a worked image ocr — english & simplified chinese workflow, troubleshoot common errors, and check the result before exporting. - [如何在本地识别图片中的中英文文字?](https://kitlumi.com/zh-cn/guides/use-image-ocr-locally/): 按步骤完成图片 OCR 中英文文字识别,查看实际示例、常见错误和结果检查方法。 - [How to convert a short local media file with browser-supported codecs](https://kitlumi.com/en/guides/use-media-converter-locally/): Follow a worked local audio & video converter workflow, troubleshoot common errors, and check the result before exporting. - [如何使用浏览器支持的编码转换本地短音视频?](https://kitlumi.com/zh-cn/guides/use-media-converter-locally/): 按步骤完成本地音视频转换,查看实际示例、常见错误和结果检查方法。 ## Site information - [Tool directory](https://kitlumi.com/en/tools/): All 74 live tools and their runtime labels. - [About KitLumi](https://kitlumi.com/en/about/): Product scope and editorial approach. - [Privacy](https://kitlumi.com/en/privacy/): Local tool input, the API-backed IP lookup, clipboard access, preferences, and analytics. - [Security model](https://kitlumi.com/en/security/): Local-processing boundaries and limitations. ## Technical reference - JSON behavior follows strict JSON syntax described by RFC 8259. - The JSON Formatter standard mode uses the browser JSON parser. Enable Lossless numbers to preserve the original text of large JSON numbers; standard mode can round integers above 9,007,199,254,740,991. - 73 current tools process input locally without uploading it or placing it in URLs. After an explicit user action, IP Lookup contacts ipquery.io first and retries the same request through ipwho.is only after a network error, HTTP 429, or HTTP 5xx response.