{
  "name": "LangStop",
  "homepage": "https://langstop.com",
  "description": "180+ free, privacy-first developer tools. All processing runs client-side in the browser. No signup, no server uploads.",
  "version": 1,
  "shareMechanism": {
    "transport": "URL hash only (#state=<lz-string compressed JSON>). Tool state is NEVER read from query params.",
    "format": "{ \"toolId\": \"<tool-id>\", \"input\": \"<primary input>\", \"config\": { ... }, \"version\": 1 }",
    "note": "Hash fragments stay in the browser and are never sent to servers, logs, or analytics. Query params carry display metadata only (e.g. ?mode=ro for read-only)."
  },
  "tools": [
    {
      "id": "json-formatter",
      "title": "JSON Formatter",
      "path": "/json-formatter",
      "category": "JSON",
      "description": "Format, validate, minify and inspect JSON with tree view.",
      "keywords": [
        "json formatter",
        "json validator",
        "json beautifier"
      ],
      "shareable": true,
      "embeddable": true
    },
    {
      "id": "json-validator",
      "title": "JSON Validator",
      "path": "/json-validator",
      "category": "JSON",
      "description": "Validate JSON syntax with precise error locations.",
      "keywords": [
        "validate json"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "json-minifier",
      "title": "JSON Minifier",
      "path": "/json-minifier",
      "category": "JSON",
      "description": "Minify JSON by stripping whitespace.",
      "keywords": [
        "minify json",
        "compress json"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "json-diff",
      "title": "JSON Diff",
      "path": "/json-diff",
      "category": "JSON",
      "description": "Compare two JSON documents side by side with structural diff.",
      "keywords": [
        "json diff",
        "compare json"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "json-editor",
      "title": "JSON Editor",
      "path": "/json-editor",
      "category": "JSON",
      "description": "Edit JSON with validation, tree view and JSONPath.",
      "keywords": [
        "json editor"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "json-path-query",
      "title": "JSONPath Query",
      "path": "/json-path-query",
      "category": "JSON",
      "description": "Query JSON with JSONPath expressions.",
      "keywords": [
        "jsonpath",
        "query json"
      ],
      "shareable": false,
      "embeddable": false
    },
    {
      "id": "json-transform",
      "title": "JSON Transform",
      "path": "/json-transform",
      "category": "JSON",
      "description": "Restructure JSON with JSONata transforms.",
      "keywords": [
        "jsonata",
        "transform json"
      ],
      "shareable": false,
      "embeddable": false
    },
    {
      "id": "fix-json",
      "title": "Fix JSON",
      "path": "/json-fix",
      "category": "JSON",
      "description": "Repair malformed JSON automatically.",
      "keywords": [
        "fix json",
        "json repair",
        "invalid json"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "json-to-code",
      "title": "JSON to Code",
      "path": "/json-to-code",
      "category": "Code Generation",
      "description": "Convert JSON to TypeScript, Python, Go, Rust and 20+ languages.",
      "keywords": [
        "json to typescript",
        "json to python"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "json-to-yaml",
      "title": "JSON to YAML",
      "path": "/json-to-yaml",
      "category": "Conversion",
      "description": "Convert JSON to YAML.",
      "keywords": [
        "json to yaml"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "json-to-xml",
      "title": "JSON to XML",
      "path": "/json-to-xml",
      "category": "Conversion",
      "description": "Convert JSON to XML.",
      "keywords": [
        "json to xml"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "json-to-csv",
      "title": "JSON to CSV",
      "path": "/json-to-csv",
      "category": "Conversion",
      "description": "Convert JSON arrays to CSV.",
      "keywords": [
        "json to csv"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "yaml-formatter",
      "title": "YAML Formatter",
      "path": "/yaml-formatter",
      "category": "YAML",
      "description": "Format and validate YAML.",
      "keywords": [
        "yaml formatter",
        "yaml validator"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "yaml-to-json",
      "title": "YAML to JSON",
      "path": "/yaml-to-json",
      "category": "Conversion",
      "description": "Convert YAML to JSON.",
      "keywords": [
        "yaml to json"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "yaml-editor",
      "title": "YAML Editor",
      "path": "/yaml-editor",
      "category": "YAML",
      "description": "Edit YAML with syntax highlighting and validation.",
      "keywords": [
        "yaml editor",
        "edit yaml"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "yaml-validator",
      "title": "YAML Validator",
      "path": "/yaml-validator",
      "category": "YAML",
      "description": "Validate YAML syntax with precise error locations.",
      "keywords": [
        "validate yaml",
        "yaml validator"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "xml-formatter",
      "title": "XML Formatter",
      "path": "/xml-formatter",
      "category": "XML",
      "description": "Format and validate XML.",
      "keywords": [
        "xml formatter",
        "xml validator"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "xml-to-json",
      "title": "XML to JSON",
      "path": "/xml-to-json",
      "category": "Conversion",
      "description": "Convert XML to JSON.",
      "keywords": [
        "xml to json"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "xml-editor",
      "title": "XML Editor",
      "path": "/xml-editor",
      "category": "XML",
      "description": "Edit XML with syntax highlighting and validation.",
      "keywords": [
        "xml editor",
        "edit xml"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "xml-validator",
      "title": "XML Validator",
      "path": "/xml-validator",
      "category": "XML",
      "description": "Validate XML syntax with precise error locations.",
      "keywords": [
        "validate xml",
        "xml validator"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "toml-editor",
      "title": "TOML Editor",
      "path": "/toml-editor",
      "category": "TOML",
      "description": "Edit TOML with syntax highlighting and validation.",
      "keywords": [
        "toml editor",
        "edit toml"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "base64-encoder",
      "title": "Base64 Encoder",
      "path": "/base64-encoder",
      "category": "Encoding",
      "description": "Encode text and files to Base64.",
      "keywords": [
        "base64 encode"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "base64-decoder",
      "title": "Base64 Decoder",
      "path": "/base64-decoder",
      "category": "Encoding",
      "description": "Decode Base64 to text.",
      "keywords": [
        "base64 decode"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "url-encoder",
      "title": "URL Encoder",
      "path": "/url-encoder",
      "category": "Encoding",
      "description": "Percent-encode URLs and query strings.",
      "keywords": [
        "url encode"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "url-decoder",
      "title": "URL Decoder",
      "path": "/url-decoder",
      "category": "Encoding",
      "description": "Decode percent-encoded URLs.",
      "keywords": [
        "url decode"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "jwt-decoder",
      "title": "JWT Decoder",
      "path": "/jwt-decoder",
      "category": "Security",
      "description": "Decode and verify JWT tokens (header, payload, signature).",
      "keywords": [
        "jwt decode",
        "jwt debugger",
        "decode jwt"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "jwt-encoder",
      "title": "JWT Encoder",
      "path": "/jwt-encoder",
      "category": "Security",
      "description": "Create signed JWT tokens (HS256, RS256, ES256).",
      "keywords": [
        "jwt encode",
        "create jwt",
        "generate jwt"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "hash-generator",
      "title": "Hash Generator",
      "path": "/hash-generator",
      "category": "Security",
      "description": "Generate MD5, SHA-1, SHA-256, SHA-512 hashes.",
      "keywords": [
        "sha256 online",
        "md5 generator"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "password-generator",
      "title": "Password Generator",
      "path": "/password-generator",
      "category": "Security",
      "description": "Generate strong random passwords.",
      "keywords": [
        "password generator",
        "random password"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "regex-tester",
      "title": "Regex Tester",
      "path": "/regex-tester",
      "category": "Text",
      "description": "Test regular expressions with live matching and a pattern library.",
      "keywords": [
        "regex tester",
        "test regex online"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "text-diff",
      "title": "Text Diff",
      "path": "/text-diff",
      "category": "Text",
      "description": "Compare two texts side by side.",
      "keywords": [
        "text diff",
        "compare text"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "uuid-generator",
      "title": "UUID Generator",
      "path": "/uuid-generator/v4",
      "category": "Generators",
      "description": "Generate UUIDs v1\u2013v7, GUIDs and ULIDs.",
      "keywords": [
        "uuid generator",
        "guid generator",
        "ulid"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "cron-helper",
      "title": "Cron Helper",
      "path": "/cron-helper",
      "category": "DevOps",
      "description": "Build cron expressions with plain-English explanations.",
      "keywords": [
        "cron expression",
        "crontab generator"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "epoch-timestamp-converter",
      "title": "Epoch Timestamp Converter",
      "path": "/epoch-timestamp-converter",
      "category": "Time",
      "description": "Convert Unix timestamps across timezones.",
      "keywords": [
        "epoch converter",
        "unix timestamp"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "rest-api-client",
      "title": "REST API Client",
      "path": "/rest-api-client",
      "category": "API",
      "description": "Send HTTP requests from the browser, no account needed.",
      "keywords": [
        "rest client online",
        "postman alternative"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "websocket-client",
      "title": "WebSocket Client",
      "path": "/websocket-client",
      "category": "API",
      "description": "Test WebSocket connections and messages.",
      "keywords": [
        "websocket tester"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "openapi-editor",
      "title": "OpenAPI Editor",
      "path": "/openapi-editor",
      "category": "API",
      "description": "Edit and validate OpenAPI specifications.",
      "keywords": [
        "openapi editor",
        "swagger editor"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "openapi-diff",
      "title": "OpenAPI Diff",
      "path": "/openapi-diff",
      "category": "API",
      "description": "Compare two OpenAPI specifications for breaking changes.",
      "keywords": [
        "openapi diff"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "curl-converter",
      "title": "cURL Converter",
      "path": "/curl-tools",
      "category": "API",
      "description": "Convert cURL commands to Python, JavaScript, Go and more.",
      "keywords": [
        "curl to python",
        "curl converter"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "erd-generator",
      "title": "ERD Generator",
      "path": "/erd-generator/editor",
      "category": "Database",
      "description": "Turn SQL/DDL into entity-relationship diagrams, privately in-browser.",
      "keywords": [
        "erd generator",
        "sql to erd",
        "database diagram"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "sql-formatter",
      "title": "SQL Formatter",
      "path": "/sql-formatter",
      "category": "Database",
      "description": "Format SQL queries readably.",
      "keywords": [
        "sql formatter"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "connection-string-builder",
      "title": "Connection String Builder",
      "path": "/connection-string-builder",
      "category": "Database",
      "description": "Build database connection strings per provider.",
      "keywords": [
        "postgres connection string"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "ai-prompt-generator",
      "title": "AI Prompt Generator",
      "path": "/ai-prompt-generator",
      "category": "AI",
      "description": "Build reusable parameterized prompts for LLMs.",
      "keywords": [
        "prompt generator",
        "prompt engineering"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "prompt-formatter",
      "title": "Prompt Formatter",
      "path": "/prompt-formatter",
      "category": "AI",
      "description": "Clean and format prompts for LLMs.",
      "keywords": [
        "format prompt"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "llm-token-counter",
      "title": "LLM Token Counter",
      "path": "/text-utils/llm-token-counter",
      "category": "AI",
      "description": "Count tokens for LLM context windows.",
      "keywords": [
        "token counter",
        "count tokens"
      ],
      "shareable": false,
      "embeddable": false
    },
    {
      "id": "css-formatter",
      "title": "CSS Formatter",
      "path": "/css-formatter",
      "category": "CSS",
      "description": "Format, validate and convert CSS/SCSS/Less.",
      "keywords": [
        "css formatter",
        "css validator"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "color-workbench",
      "title": "Color Workbench",
      "path": "/color-workbench",
      "category": "CSS",
      "description": "Convert colors and check WCAG contrast.",
      "keywords": [
        "color converter",
        "contrast checker"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "markdown-editor",
      "title": "Markdown Editor",
      "path": "/markdown-editor",
      "category": "Text",
      "description": "Edit Markdown with live preview.",
      "keywords": [
        "markdown editor"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "linux-tools",
      "title": "Linux Command Builders",
      "path": "/linux-tools",
      "category": "DevOps",
      "description": "Interactive builders for grep, sed, awk, curl, ssh and 20+ CLI tools.",
      "keywords": [
        "linux commands",
        "grep examples"
      ],
      "shareable": false,
      "embeddable": false
    },
    {
      "id": "mcp-skills",
      "title": "MCP Skills",
      "path": "/mcp-skills",
      "category": "AI",
      "description": "Build Model Context Protocol server skills.",
      "keywords": [
        "mcp",
        "model context protocol"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "mcp-generator",
      "title": "MCP Config Generator",
      "path": "/mcp-generator",
      "category": "AI",
      "description": "Generate Model Context Protocol client configs with guided setup.",
      "keywords": [
        "mcp",
        "model context protocol",
        "claude desktop config"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "llm-json-cleaner",
      "title": "LLM JSON Cleaner",
      "path": "/llm-json-cleaner",
      "category": "AI",
      "description": "Clean and repair raw LLM output into valid JSON.",
      "keywords": [
        "llm",
        "json repair",
        "clean json"
      ],
      "shareable": true,
      "embeddable": false
    },
    {
      "id": "openapi-client-generator",
      "title": "OpenAPI Client Generator",
      "path": "/openapi-client-generator",
      "category": "API",
      "description": "Generate API clients from OpenAPI specifications.",
      "keywords": [
        "openapi",
        "client generator",
        "sdk"
      ],
      "shareable": true,
      "embeddable": false
    }
  ]
}
