Sort an object by its properties

Rebuild an object with its keys in sorted order.

JavaScript Version 1.0.0 · MIT · .md

sort-an-object-by-its-properties.js
function sortKeys(object) { return Object.fromEntries(Object.keys(object).sort().map(key => [key, object[key]])); }

Input & expected output

Input

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

Expected output

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

The edge case

Input

{
  "1": "one",
  "2": "two",
  "b": 1,
  "a": 0
}

Expected output

{
  "1": "one",
  "2": "two",
  "a": 0,
  "b": 1
}

Know the 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 function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.

Source & maintenance

Based on Sort an object by its properties from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.

Rebuilds with Object.fromEntries; documents integer-key ordering. Original MDX retained as inert source evidence.

Maintained by Oveyon. Original source commit: 14b481cf60df. This edition’s file: contents/sort-an-object-by-its-properties.mdx in akamind/1loc, commit 0a77f131b22d. Read the license.

Local fixture scope · Node.js 22.23.2 · reviewed October 28, 2026. No external service is required.

Keep exploring

Type two or more characters. Try “duplicate”, “webhook” or “retry”.