Pakistan CNIC OCR with Node.js SDK

Add Computerized National Identity Card (CNIC) data extraction to a Node.js backend using the official SDK and an Express route.

Computerized National Identity Card (CNIC) OCR workflow
Structured extraction from a Computerized National Identity Card (CNIC) using a server-side Node.js integration.

Working with the Computerized National Identity Card (CNIC)

The Computerized National Identity Card (CNIC) places the holder's identity number and biographical details in a country-specific layout. Re-keying those values is slow, while generic OCR still leaves a backend team to identify each text fragment and map it to a database field.

Structured Extraction for Node.js Backends

StructOCR accepts a Base64-encoded image or PDF and returns normalized national ID fields. For a readable Computerized National Identity Card (CNIC), the response can include the CNIC number, name, dates, issuing information and address when those values appear on the submitted document.

Common Integration Scenarios

  • Customer onboarding: Pre-fill visible identity fields from a Computerized National Identity Card (CNIC) before user confirmation.
  • Account operations: Reduce manual transcription when staff enter identity data into an internal workflow.
  • Document review: Store normalized API output alongside the original review decision in your own system.

Live Demo: ID card scanner

No registration required. Upload a file to test the extraction.

1
Upload
2
Results

Drop files here or click to browse

JPG · PNG · WebP  ·  up to 500 files · max 4.5 MB each

No files selected
Need more testing? Create a free account to get 200 free credits (equals 100 National ID scans).

Pakistan National ID OCR with Node.js

The official Node.js SDK reads a supported local file and calls /v1/national-id. Open the TypeScript + Express tab for a server route using the same SDK method.

Prerequisite: `npm install structocr`; set the server-side `STRUCTOCR_API_KEY` environment variable.

Prefer another stack? Open the Python SDK + FastAPI integration.

const StructOCR = require("structocr");

const client = new StructOCR(process.env.STRUCTOCR_API_KEY);

async function main() {
  const result = await client.scanNationalId("id-card.jpg");

  if (result.success) {
    const data = result.data;
    console.log(data.document_number);
    console.log(data.given_names, data.surname);
  } else {
    console.error(result.error);
  }
}

main().catch(console.error);

Technical Specs

  • Endpoint: POST /v1/national-id
  • Input: Base64-encoded JPG, PNG, WebP, or PDF in JSON (Max 4.5MB)
  • Authentication: Server-side x-api-key header handled by the SDK
  • Cost: 2 credits per scan
  • Output: Structured JSON

Key Features

  • Local terminology: Handles the Computerized National Identity Card (CNIC) as a national identity document.
  • Identifier output: Returns the CNIC number in supported identifier fields when visible.
  • Normalized names and dates: Maps readable identity data to consistent JSON keys.
  • Server integration: Keeps the API key inside the Node.js backend.

JSON Response Example

This example shows the normalized response shape for a readable Computerized National Identity Card (CNIC); unavailable fields can be null.

{
  "success": true,
  "data": {
    "type": "national_id",
    "country_code": "PAK",
    "document_number": "35202-1234567-1",
    "personal_number": "35202-1234567-1",
    "card_series": null,
    "surname": "DOE",
    "given_names": "ALEX",
    "sex": null,
    "date_of_birth": "1990-01-01",
    "place_of_birth": null,
    "date_of_issue": null,
    "date_of_expiry": null,
    "issuing_authority": null,
    "address": "LAHORE, PUNJAB",
    "additional_fields": {}
  }
}

Frequently Asked Questions

Does the API validate a CNIC number?

The OCR endpoint extracts visible document data. Treat the result as extracted data for your own review and validation workflow; this page does not claim government-database or authenticity verification.

Which input types are supported?

The REST endpoint accepts JSON containing a Base64-encoded JPG, PNG, WebP or PDF up to 4.5MB. The SDK handles local file encoding before it sends the request.

You May Also Like

Related tutorials, platform guides, and comparisons

Tutorial

Node.js National ID OCR API

Achieve >99% accuracy with our Node.js SDK for National ID OCR. Upload an image for a free test! Get clean, validated JSON output from any ID card image. Integrate KYC in minutes.

Node.js · National ID
Country Tutorial

India Aadhaar OCR with Node.js SDK

Extract Aadhaar number, names, dates and other visible fields from Aadhaar card with the StructOCR Node.js SDK and Express.

Node.js · National ID
Country Tutorial

Indonesia KTP OCR with Node.js SDK

Extract NIK, names, dates and other visible fields from Kartu Tanda Penduduk (KTP) with the StructOCR Node.js SDK and Express.

Node.js · National ID
Country Tutorial

Philippines PhilID OCR with Node.js SDK

Extract PhilSys Card Number, names, dates and other visible fields from Philippine Identification Card (PhilID) with the StructOCR Node.js SDK and Express.

Node.js · National ID
Country Tutorial

South Africa Smart ID OCR with Node.js SDK

Extract identity number, names, dates and other visible fields from South African Smart ID card with the StructOCR Node.js SDK and Express.

Node.js · National ID
Country Tutorial

UAE Emirates ID OCR with Node.js SDK

Extract Emirates ID number, names, dates and other visible fields from Emirates ID with the StructOCR Node.js SDK and Express.

Node.js · National ID
Country Tutorial

Nigeria National ID OCR with Node.js SDK

Extract National Identification Number (NIN), names, dates and other visible fields from National Identity Card with the StructOCR Node.js SDK and Express.

Node.js · National ID
Tutorial

PHP National ID OCR API

High-accuracy National ID OCR for PHP. Upload an image for a free test! Get structured JSON output from ID card images. A superior alternative to Tesseract. No complex PHP SDK needed.

PHP · National ID
Country Tutorial

Ukraine National ID OCR Python SDK

Python Tutorial: Automate KYC in Ukraine. Extract data from National ID using StructOCR Python SDK. Supports native text and MRZ extraction.

Python · National ID
Country Tutorial

Uganda National ID Card OCR Python SDK

Python Tutorial: Automate KYC in Uganda. Extract data from National ID Card using StructOCR Python SDK. Supports native text and MRZ extraction.

Python · National ID

Technical Comparisons & Integrations

Explore platform integrations and competitive analysis

From tutorial to production in 5 minutes.

You've seen the code. Now get your API key, grab your 200 free credits, and see it work with your own images. No credit card required.

Instant Access Cancel Anytime 99.9% Uptime