# Keys In List

List own and inherited keys using lodash _.keysIn

> Canonical page: https://elysiatools.com/en/tools/keys-in-list

- **Category:** Data Processing

- **Keywords:** keysIn, object, lodash, list, properties

## Overview

List own and inherited enumerable keys of an object.

**Highlights:**
- Uses lodash `_.keysIn`
- Includes inherited enumerable properties
- Returns a JSON array of keys

**Example:**
- Object: `{"a":1,"b":2}`
- Result: `["a","b"]`

## Inputs

- **Object** (textarea): Enter a JSON object

## When to use

- When you need to inspect the full structure of an object including inherited properties.
- When debugging JavaScript objects to verify which keys are accessible via the prototype chain.
- When you need a clean JSON array of all available keys for further data processing.

## How it works

- Paste your JSON object into the input field.
- The tool processes the input using the lodash _.keysIn method.
- It identifies all own and inherited enumerable keys.
- The tool outputs a formatted JSON array containing all discovered keys.

## Use cases

- Auditing object prototypes during development.
- Generating dynamic form fields based on object property names.
- Comparing property sets between different object instances.

## Frequently asked questions

### What is the difference between this and Object.keys?

Object.keys only returns an object's own enumerable properties, whereas this tool uses _.keysIn to include inherited enumerable properties as well.

### Does this tool support nested objects?

The tool processes the top-level object provided in the input. Nested objects will be treated as values associated with their respective keys.

### What happens if the input is not valid JSON?

The tool requires valid JSON input to function correctly; invalid syntax will result in an error.

### Are non-enumerable properties included?

No, this tool only lists enumerable properties as per the behavior of lodash _.keysIn.

### Is the output sorted?

The output is returned as a JSON array of strings representing the keys found in the object.

## Related tools

- [Assign In Object](https://elysiatools.com/en/tools/assign-in-object): Assign own and inherited properties using lodash _.assignIn
- [Defaults Deep](https://elysiatools.com/en/tools/defaults-deep): Apply deep default values using lodash _.defaultsDeep
- [For In Object](https://elysiatools.com/en/tools/for-in-object): Iterate over object properties using lodash _.forIn
- [For Own](https://elysiatools.com/en/tools/for-own): Iterate over own object properties using lodash _.forOwn
- [Invert By](https://elysiatools.com/en/tools/invert-by): Invert keys grouped by values using lodash _.invertBy
- [Invert Object](https://elysiatools.com/en/tools/invert-object): Invert keys and values using lodash _.invert
- [Keys List](https://elysiatools.com/en/tools/keys-list): List own enumerable keys using lodash _.keys
- [Count By](https://elysiatools.com/en/tools/count-by): Count items by a derived key using lodash _.countBy

## Samples

- [Grafana Advanced Application Samples](https://elysiatools.com/en/samples/grafana-samples): Comprehensive Grafana samples covering advanced dashboard design, alerting configurations, data source integrations, and plugin development
- [QR Code Samples](https://elysiatools.com/en/samples/qrcode-samples): Sample QR code images for testing QR code reading and generation tools
- [D3.js Data Visualization Samples](https://elysiatools.com/en/samples/d3js-data-visualization): Comprehensive D3.js data visualization examples including charts, maps, animations, and interactive visualizations
- [Rome JavaScript Toolchain Samples](https://elysiatools.com/en/samples/rome): Rome JavaScript toolchain examples including configuration, linting, formatting, bundling, and project management
