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

@kierfr_atdev/ph-id-validator

v0.1.3

Published

TypeScript-first validation and formatting utilities for PH government IDs.

Readme

@kierfr_atdev/ph-id-validator

TypeScript-first validation and formatting utilities for selected Philippine government IDs.

Why this package exists

Philippine apps often need to validate user-entered identification numbers during registration, onboarding, HR, payroll, and government-related workflows. Instead of rewriting the same validation logic in every project, this package provides reusable helpers for Philippine TIN and PhilHealth PIN values.

This package is meant for input validation and normalization, not official government verification or identity authentication.

Supported IDs

  • TIN
  • PhilHealth PIN

Features

  • Validate TIN input
  • Format TIN input
  • Validate PhilHealth PIN input
  • Format PhilHealth PIN input
  • TypeScript-friendly API
  • Lightweight package for frontend or backend use

Installation

npm install @kierfr_atdev/ph-id-validator

Usage

import {
  validateTin,
  formatTin,
  validatePhilHealthPin,
  formatPhilHealthPin
} from '@kierfr_atdev/ph-id-validator';

const tin = validateTin('123-456-789');

if (tin.valid) {
  console.log('Normalized TIN:', tin.normalized);
  console.log('Formatted TIN:', formatTin(tin.normalized));
} else {
  console.log('TIN error:', tin.message);
}

const pin = validatePhilHealthPin('12-345678901-2');

if (pin.valid) {
  console.log('Normalized PIN:', pin.normalized);
  console.log('Formatted PIN:', formatPhilHealthPin(pin.normalized));
} else {
  console.log('PIN error:', pin.message);
}

API

validateTin(input: string)

Validates a Philippine TIN input and returns a result object.

formatTin(input: string)

Formats a normalized TIN string into a readable TIN format.

validatePhilHealthPin(input: string)

Validates a PhilHealth PIN input and returns a result object.

formatPhilHealthPin(input: string)

Formats a normalized PhilHealth PIN string into a readable format.

Result shape

Validation functions return a result similar to this:

type ValidationResult =
  | {
      valid: true;
      normalized: string;
    }
  | {
      valid: false;
      errorCode: string;
      message: string;
    };

Notes

PhilHealth documentation describes the PIN as a 12-digit number and uses a 2-9-1 presentation format in claim form guidance.[web:397] Public explanations of Philippine TIN formatting commonly describe a 9-digit XXX-XXX-XXX structure, and some materials also describe extended forms with branch codes for certain use cases.[web:398][web:404]

Limitations

This package does not:

  • verify that an ID belongs to a real person
  • connect to PhilHealth, BIR, or any government system
  • replace official identity verification processes

It only validates and formats supported input according to package rules.

Roadmap

Planned future support may include:

  • Pag-IBIG MID
  • SSS number
  • PhilSys PSN / PCN

Status

Ongoing

License

MIT