npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

polish-company-utils

v1.0.0

Published

Zero-dependency validators and helpers for Polish business identifiers: NIP, REGON, PESEL, bank account (NRB/IBAN) and the tax micro-account (mikrorachunek). Works with both require and import.

Downloads

30

Readme

polish-company-utils

Zero-dependency validators and helpers for Polish business identifiersNIP, REGON, PESEL, bank account (NRB/IBAN) and the tax micro-account (mikrorachunek podatkowy).

npm license zero dependencies

  • Zero dependencies, tiny, no build step.
  • Works with both require and import, ships TypeScript types.
  • Same checksum algorithms that run in production on skanfirmy.pl — free tools to verify Polish companies by NIP / KRS / REGON.

Install

npm install polish-company-utils

Usage

// CommonJS
const { isValidNip, isValidRegon, generateTaxMicroAccount } = require("polish-company-utils");
// …or ESM: import { isValidNip } from "polish-company-utils";

isValidNip("525-234-40-78");   // true  (separators are stripped)
isValidNip("1234567890");      // false (bad checksum)

isValidRegon("000331501");     // true  (9- or 14-digit)
isValidPesel("44051401359");   // true

// Individual tax micro-account (PIT/CIT/VAT) from a NIP or PESEL:
generateTaxMicroAccount("7393933151");
// → { nrb: "…26 digits…", iban: "PL…", type: "NIP" }

API

| Function | Returns | Notes | |---|---|---| | isValidNip(nip) | boolean | 10-digit tax ID checksum. Accepts strings/numbers, strips separators. | | formatNip(nip) | string | 123-456-32-18. | | isValidRegon(regon) | boolean | 9- or 14-digit statistical number. | | isValidPesel(pesel) | boolean | 11-digit personal number checksum. | | peselInfo(pesel) | { date, year, month, day, sex } \| null | Date of birth + sex encoded in a PESEL. | | isValidNrb(nrb) | boolean | 26-digit Polish bank account (ISO 7064 mod-97-10). Optional PL prefix. | | isValidIban(iban) | boolean | Any IBAN (ISO 13616). | | formatNrb(nrb) | string | Grouped 61 1090 1014 …. | | generateTaxMicroAccount(id) | { nrb, iban, type } | Mikrorachunek for a valid NIP/PESEL. Throws on invalid input. |

All functions are pure and synchronous. Validation functions never throw — they return false for malformed input; only generateTaxMicroAccount throws (on an invalid identifier), because there is no meaningful account to return.

Need the data, not just the maths?

This package validates and generates locally. To actually look up a company — VAT status, KRS data, official REGON name and address — use the free hosted tools and API:

  • skanfirmy.pl — verify a Polish company by NIP/KRS/REGON in the browser.
  • skanfirmy.pl/mcp — an MCP server so AI agents can call the same lookups directly. Plain REST too: skanfirmy.pl/nip/{nip}, /regon/{nip}, /vies/{country}/{number}.
  • otwarteapi.pl — a catalog of official Polish & EU public APIs for agents.

Contributing

Issues and PRs welcome. Run the tests with:

npm test

Author

Bartosz Kuć · skanfirmy.pl · github.com/bartosz-kuc · linkedin.com/in/bartosz-kuc

License

MIT © Bartosz Kuć