Correct Field Ordering
Follows the npm-recommended field order (name → version → description → main → scripts → engines → dependencies → devDependencies), keeping diffs clean and readable.
500+ fast, free tools. Most run in your browser only; Image & PDF tools upload files to the backend when you run them.
Generate package.json scaffolds from project metadata and script presets.
Package.json Scaffold Generator on UtilityKit creates a complete, well-structured `package.json` for new Node.js projects in seconds. Enter your project name, version, description, and license, then select from common script templates (start, dev, test, build, lint, format), configure your Node.js engine range, and pick from a curated devDependency list — TypeScript, ESLint, Prettier, Jest, Vitest, nodemon, tsx, and more. The generator assembles a standards-compliant JSON file with the correct field ordering (name, version, description, main, scripts, engines, devDependencies) that passes `npm install` validation without modification. No more trailing commas or mistyped field names in a blank file. Ideal for bootstrapping prototypes, monorepo packages, shared libraries, and CLI tools with a consistent, team-aligned baseline.
Follows the npm-recommended field order (name → version → description → main → scripts → engines → dependencies → devDependencies), keeping diffs clean and readable.
Pre-filled script values use real, runnable commands rather than placeholder strings, so `npm run dev` or `npm test` works immediately after install.
Setting the `engines` field warns developers and CI systems when they try to install on an unsupported Node version, preventing cryptic runtime failures.
Only widely adopted, actively maintained packages are offered. No obscure or deprecated tooling — every listed package has millions of weekly downloads.
The generator outputs valid JSON every time, eliminating trailing comma errors, unclosed braces, and unquoted keys that `npm install` rejects silently.
Generating from a shared template ensures all packages in a monorepo or team start with the same script names, engine constraints, and tooling versions.
Input: Name: my-rest-api, Version: 0.1.0, License: MIT, Scripts: start/dev/test, Engine: >=20, DevDeps: nodemon, jest
Output: { "name": "my-rest-api", "version": "0.1.0", "description": "", "main": "index.js", "scripts": { "start": "node index.js", "dev": "nodemon index.js", "test": "jest" }, "engines": { "node": ">=20.0.0" }, "license": "MIT", "devDependencies": { "jest": "^29.0.0", "nodemon": "^3.0.0" } }
Input: Name: my-lib, Version: 1.0.0, Type: module, License: MIT, Scripts: build/test, Engine: >=18, DevDeps: typescript, @types/node, vitest
Output: { "name": "my-lib", "version": "1.0.0", "type": "module", "main": "dist/index.js", "scripts": { "build": "tsc", "test": "vitest run" }, "engines": { "node": ">=18.0.0" }, "license": "MIT", "devDependencies": { "@types/node": "^20.0.0", "typescript": "^5.0.0", "vitest": "^1.0.0" } }
Input: Name: @myorg/shared-utils, Private: true, Version: 0.0.1, Scripts: build/lint/format, DevDeps: typescript, eslint, prettier
Output: { "name": "@myorg/shared-utils", "version": "0.0.1", "private": true, "scripts": { "build": "tsc", "lint": "eslint src", "format": "prettier --write src" }, "license": "UNLICENSED", "devDependencies": { "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" } }