Example
Input (Kubernetes YAML)
apiVersion: apps/v1
kind: Deployment
metadata:
name: web
spec:
template:
metadata:
labels: {app: web}
spec:
containers:
- name: web
image: nginx
envFrom:
- configMapRef: {name: web-config}
---
apiVersion: v1
kind: Service
metadata: {name: web}
spec:
selector: {app: web}
ports: [{port: 80}]
---
apiVersion: v1
kind: ConfigMap
metadata: {name: web-config}
data: {LOG_LEVEL: info}Result
3 resources, 2 relationships. - Service/web → Deployment/web (selector match) - Deployment/web → ConfigMap/web-config (envFrom)
Note
Service → Workload only links when the selector exactly matches the pod template labels. Matching is scoped within the same namespace.
Usage / FAQ
When to use this
- Visualize the rendered output of a Helm chart or Kustomize overlay to verify wiring
- Paste kubectl get all -o yaml to understand a live cluster at a glance
- PR review — instantly see how a new manifest connects to existing resources
- Onboarding — walk a new engineer through your K8s topology
- Migration — verify nothing gets disconnected when moving between clusters
FAQ
- Q.Which resources are supported?
- A.Deployment, StatefulSet, DaemonSet, Job, CronJob, Pod, Service, Ingress, ConfigMap, Secret, PersistentVolumeClaim, HorizontalPodAutoscaler, ServiceAccount, Namespace. Custom Resource Definitions (CRDs) are not supported.
- Q.How are relationships inferred?
- A.Ingress → Service: spec.rules backend service name. Service → Workload: selector ↔ pod template labels. Workload → ConfigMap/Secret: envFrom / env.valueFrom / volumes references. Workload → PVC: volumes.persistentVolumeClaim. HPA → Workload: spec.scaleTargetRef.
- Q.Is it safe for sensitive manifests?
- A.Yes. Everything runs inside your browser. Secret stringData/data values are never sent to a server. Closing the page clears memory.
Fun facts
Kubernetes comes from Greek κυβερνήτης ('helmsman' / 'pilot'). The shorthand K8s = 'K' + 8 letters + 's' = 'ubernete'. Same root word — 'Helm' (steering wheel) became the chart package manager's name.
kubernetes.ioKubernetes is the successor to Google's internal Borg (2003-, runs all of Google's services). Borg → Omega → Kubernetes — Google open-sourced it in 2014. The name 'Kubernetes' even references a ship from Borg.
Wikipedia — Borgv1.0 shipped in July 2015. First CNCF graduated project (2018). One of the most active OSS projects today — 5,000+ contributors, 500K+ commits per year. Every major cloud (GKE/EKS/AKS) offers it as managed service.
CNCF — Kubernetes
Related guides
- Kubernetes YAML Explained — Manifest Structure, Resource Kinds, and How They Connect
What every Kubernetes manifest shares (apiVersion / kind / metadata / spec), the resource kinds you'll actually use, how Services find Pods via labels, and the manifest gotchas that bite teams new to K8s.
- Docker Compose Explained — Services, Networks, Volumes, and the Practical Setup
How docker-compose.yml is structured, what each top-level key (services / networks / volumes / configs / secrets) does, depends_on vs healthcheck, named volumes vs bind mounts, and the gotchas that break dev environments.
- How Docker Containers Actually Work
Containers aren't lightweight VMs — they're Linux processes with namespaces and cgroups around them. Walk through namespaces, cgroups, the overlay filesystem, image layers, and what Docker the daemon actually does.
Related tools
- JSON Formatter / Validator
Format, validate, and minify JSON strings. Adjust indent and optionally sort keys. Runs entirely in your browser.
- String Case Converter
Convert strings between camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and Title Case — all six cases shown side-by-side.
- Regex Tester
Test JavaScript regular expressions with live match results. Supports g/i/m/s/u/y flags and capture groups.
- Markdown Preview
Render Markdown to HTML side-by-side. Supports CommonMark + GFM (tables, fenced code, task lists). marked is lazy-loaded.
- HTML → Markdown
Convert HTML into Markdown. Headings, lists, links, code, tables, blockquotes. Uses the browser's DOMParser — accurate, 0 dependency.
- YAML ↔ JSON
Convert between YAML and JSON. Tolerates comments and multiline strings on the YAML side. yaml is lazy-loaded.
- Text Diff
Compare two texts and highlight added/removed lines, words, or characters.
- JSON Diff
Compare two JSON values, with optional key sorting and JSON-aware error messages.
- CSV ↔ JSON
Convert between CSV and JSON. Handles quoted fields, custom delimiters, and header rows.
- SQL Formatter
Format SQL queries with proper indentation and keyword casing. Supports PostgreSQL, MySQL, SQLite, and standard dialects.
- XML Formatter
Pretty-print or minify XML with attribute preservation. Handles SOAP, sitemaps, and config files.
- XML ↔ JSON
Convert between XML and JSON with attribute and element handling.
- Smart Paste
Paste any text and get tool recommendations — JSON, JWT, Base64, URL, UUID, Cron, and 9 more types auto-detected.
- Lorem Ipsum
Generate placeholder text in words, sentences, or paragraphs. Classic Lorem Ipsum or randomized.
- JSON Path
Query JSON with JSONPath expressions ($.store.book[*].author etc.) and inspect matches.
- JSON Schema Validator
Validate JSON data against a JSON Schema (Draft 2020-12). Powered by Ajv with format support.
- JSON Schema Generator
Generate a JSON Schema (Draft 2020-12) from a sample JSON. Infer types, required fields, and nested structures automatically.
- HTML Formatter
Beautify or minify HTML with proper indentation, attribute alignment, and configurable wrap.
- CSS Formatter
Beautify or minify CSS with proper indentation. Configurable selector and property style.
- JavaScript Formatter
Beautify or minify JavaScript with brace style and indent options. Powered by js-beautify.
- TOML ↔ JSON
Convert between TOML (Tom's Obvious Minimal Language) and JSON. Used in Cargo.toml, pyproject.toml, etc.
- INI ↔ JSON
Convert INI configuration to JSON and back. Supports sections, comments (; or #), and key=value.
- JSON → TypeScript
Generate TypeScript interfaces from a JSON sample. Nested objects become separate interfaces.
- JS Object → JSON
Convert a JavaScript object literal (unquoted keys, single quotes, trailing commas, comments) into standard JSON. Lenient parser, strict output.
- Slug Generator
Convert text into a URL-safe slug. Configurable separator, lowercase, and accent stripping.
- ASCII Tree
Convert indented text or path list into a box-drawing tree (├── │ └──).
- Diff Patch
Generate a unified diff (-u) patch from two text inputs. Compatible with `git apply` / `patch -p0`.
- Mock Data
Generate fake JSON records and SQL INSERT seed data — names, emails, custom fields, UUIDs, dates, and more. 0 dependency.
- MongoDB Extended JSON
Convert MongoDB Extended JSON (EJSON) between Canonical and Relaxed forms, or strip BSON wrappers to plain JSON. Recognizes 16 wrapper types ($oid/$date/$numberLong/$numberDecimal/$binary/...).
- Docker Compose Visualizer
Paste docker-compose.yml and see services, networks, volumes, and depends_on as an interactive graph. Client-side, lazy-loaded yaml.
- PDF Text Extractor
Extract text from a PDF file — page by page or as a single document. Markdown-friendly output, all client-side.
- PPTX Text Extractor
Extract slide text from a .pptx file — plain / markdown / per-slide. Great for converting decks to markdown. All client-side.
- Regex Railroad Diagram
Visualize your regex as a railroad diagram — trace branches, groups, and quantifiers at a glance, in your browser.
- Word & Character Counter
Count characters (with/without spaces), words, sentences, paragraphs, lines, and bytes in real time — free, in your browser.
- LLM Token Counter
Count LLM tokens and estimate cost — exact for GPT (tiktoken), estimated for Claude/Gemini. Context-limit gauge. All in your browser.