# Sort an object by its properties

Rebuild an object with its keys in sorted order.

Canonical: https://1loc.dev/object/sort-an-object-by-its-properties/
Version: 1.0.0
Runtime: JavaScript · Node.js 22 / modern browsers
Verification: Local fixtures; no external services
Updated: 2026-10-28

## Implementation

```javascript
function sortKeys(object) { return Object.fromEntries(Object.keys(object).sort().map(key => [key, object[key]])); }
```

## Input

```json
{
  "to": "ana@example.com",
  "from": "orders@your-verified-domain.example",
  "subject": "Order 8812"
}
```

## Expected output

```json
{
  "from": "orders@your-verified-domain.example",
  "subject": "Order 8812",
  "to": "ana@example.com"
}
```

## Edge case

Input:
```json
{
  "1": "one",
  "2": "two",
  "b": 1,
  "a": 0
}
```
Output:
```json
{
  "1": "one",
  "2": "two",
  "a": 0,
  "b": 1
}
```

## Limits

- Integer-like keys always come first in ascending numeric order, whatever you sort, as the edge case shows. Useful for stable JSON before hashing — but sign raw bytes, as webhooks do.

The lab validates types and size before calling this function. Add equivalent validation at your own trust boundary.

## Source and license

Original: https://github.com/phuocng/1loc/blob/14b481cf60dff1620ab1bb99a43b1f68068cdd9b/contents/sort-an-object-by-its-properties.mdx
Source file (this edition): https://github.com/akamind/1loc/blob/0a77f131b22d2ba3b7ec1728846f900c22821678/contents/sort-an-object-by-its-properties.mdx
Author: Nguyen Huu Phuoc and original contributors
Contributors: See original repository history
Source commit: 14b481cf60dff1620ab1bb99a43b1f68068cdd9b
Copyright (c) 2020 phuoc-ng
License: MIT — https://1loc.dev/licenses/
Maintainer: Oveyon
Modifications: Rebuilds with Object.fromEntries; documents integer-key ordering. Original MDX retained as inert source evidence.
