YAML Key Finder

Paste YAML and a search term, and get back every mapping key name that contains it, wherever it appears in the document, so you can quickly confirm whether (and how many times) a field name shows up without scanning the whole file by eye. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-27

Overview

Introduction

Large YAML configs often reuse the same handful of key names (`name`, `id`, `env`) at many different nesting levels, which makes eyeballing a file to answer "does this document use a `timeout` key anywhere?" slow and error-prone. This tool answers that question directly.

It searches every mapping key name in the parsed document for a substring match and returns just the matching names, so you can confirm presence and rough frequency without reading the whole file.

What Is YAML Key Finder?

A YAML key finder walks a parsed document collecting every mapping key's bare name, then filters that list down to the ones containing your search text, case-insensitively.

It's the search-and-filter counterpart to YAML Key Extractor: where the extractor lists every key's full path unconditionally, this tool narrows the list to only the keys you're actually looking for.

How YAML Key Finder Works

The input is parsed with a full YAML 1.2 parser, then the resulting value is walked recursively, collecting the bare name of every mapping key encountered, regardless of nesting depth.

That list is filtered case-insensitively against your search text; leaving the search box empty returns every key name found in the document.

When To Use YAML Key Finder

Use it to quickly confirm whether a specific field name is used anywhere in a large or unfamiliar config, without scrolling through the whole document.

It's also handy for a rough sense of how many times a particular key name recurs across a document's different sections.

Features

Advantages

  • Finds matches instantly across documents of any nesting depth, no manual scanning required.
  • Case-insensitive matching catches inconsistent capitalization in hand-written configs.
  • Runs entirely client-side, so configuration data never leaves your browser.
  • Pairs naturally with YAML Key Replacer once you've confirmed a key exists and want to rename it.

Limitations

  • Results are bare key names only, not full paths, so you can't tell from the output alone which parent each match belongs to.
  • Matching is a plain substring search, not a regular expression or fuzzy match.
  • Only mapping keys are searched; a document that's purely scalars or a list of scalars produces no matches.

Examples

Finding a recurring key name

Input

user:
  name: Ada
  role: admin
address:
  role: primary

Output

role
role

The search term "role" matches the key at both nesting levels; each occurrence is listed once.

Best Practices & Notes

Best Practices

  • Search for a specific field name before assuming it's missing from a large config, it's easy to miss a nested occurrence by eye.
  • Follow up with YAML Key Extractor if you need the full path of a match, not just its bare name.
  • Combine with YAML Key Replacer once you've confirmed a key's presence and want to rename every occurrence.

Developer Notes

The walk collects bare key names (not paths) into a flat array, then applies a case-insensitive `includes` filter, matching the same query-filter pattern used by this site's XML Key Finder. It intentionally omits path information to keep the result set focused on "does this name exist," leaving path lookup to YAML Key Extractor.

YAML Key Finder Use Cases

  • Confirming whether a specific field name is defined anywhere in a large or unfamiliar YAML config
  • Getting a rough count of how often a key name recurs across a document
  • Auditing naming consistency (e.g. checking for both `id` and `ID` used inconsistently)
  • Preparing to rename a key with YAML Key Replacer by first confirming where it appears

Common Mistakes

  • Expecting full dot-paths in the results; this tool returns bare key names only, use YAML Key Extractor for paths.
  • Assuming matching is case-sensitive; it isn't, so a broad query can surface more matches than expected.
  • Forgetting that an empty search box matches every key, not zero keys.

Tips

  • Leave the search box empty first to see every key name in the document, then narrow from there.
  • Use a short, distinctive substring (like "time") to catch variants like `timeout` and `timestamp` in one search.
  • Pair with YAML Key Replacer to go straight from finding a key to renaming it everywhere.

References

Frequently Asked Questions