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 🙏

© 2025 – Pkg Stats / Ryan Hefner

turkify

v0.1.1

Published

Türkçe karakter normalizasyon paketi - SEO ve URL'ler için

Downloads

20

Readme

Turkify 🇹🇷

Turkish character normalization package - for SEO and URLs

Features

  • Turkish Character Normalization - Convert Turkish characters to Latin equivalents (İ→I, Ş→S, Ç→C, etc.)
  • Turkish Locale Case Conversion - Lowercase/uppercase conversions with Turkish locale support
  • URL/Slug Generation - Create SEO-friendly slugs with Turkish character support
  • Framework Support - Works with all JavaScript frameworks (React, Next.js, Vue, Angular, vanilla JS)
  • TypeScript Support - Full TypeScript definitions included
  • Zero Dependencies - No external dependencies

Installation

npm install turkify

or

yarn add turkify

Usage

Turkish Character Normalization

import { normalizeTurkish } from "turkify";

normalizeTurkish("İstanbul"); // 'Istanbul'
normalizeTurkish("Şişli"); // 'Sisli'
normalizeTurkish("Çankaya"); // 'Cankaya'

Turkish Locale Case Conversion

import { toTurkishLowerCase, toTurkishUpperCase } from "turkify";

toTurkishLowerCase("İSTANBUL"); // 'istanbul'
toTurkishLowerCase("İ"); // 'i'

toTurkishUpperCase("istanbul"); // 'İSTANBUL'
toTurkishUpperCase("ı"); // 'I'

Normalize and Lowercase

import { normalizeTurkishLowercase } from "turkify";

normalizeTurkishLowercase("İstanbul"); // 'istanbul'
normalizeTurkishLowercase("ŞİŞLİ"); // 'sisli'

Slug/URL Generation

import { slugify } from "turkify";

// Basic usage
slugify("İstanbul Şişli"); // 'istanbul-sisli'
slugify("Çankaya Ümraniye"); // 'cankaya-umraniye'

// Custom separator
slugify("İstanbul Şişli", { separator: "_" }); // 'istanbul_sisli'

Framework Examples

React Example

import { slugify } from "turkify";

function Article({ title }) {
  const slug = slugify(title);
  return <a href={`/articles/${slug}`}>{title}</a>;
}

Next.js Example

import { slugify } from "turkify";

export default function BlogPost({ title }) {
  const slug = slugify(title);
  return (
    <Link href={`/blog/${slug}`}>
      <h1>{title}</h1>
    </Link>
  );
}

Vue 3 Example (Composition API)

<template>
  <div>
    <a :href="`/articles/${slug}`">{{ title }}</a>
  </div>
</template>

<script setup lang="ts">
import { computed } from "vue";
import { slugify } from "turkify";

const title = "İstanbul Şişli";
const slug = computed(() => slugify(title));
</script>

Angular Example

import { Component } from "@angular/core";
import { slugify } from "turkify";

@Component({
  selector: "app-article",
  template: ` <a [href]="'/articles/' + slug">{{ title }}</a> `,
})
export class ArticleComponent {
  title = "İstanbul Şişli";
  slug = slugify(this.title);
}

Vanilla JavaScript Example

import { slugify, normalizeTurkish } from "turkify";

// Slug generation
const title = "İstanbul Şişli";
const slug = slugify(title);
document.getElementById("link").href = `/articles/${slug}`;

// Normalization
const normalized = normalizeTurkish("Çankaya");
console.log(normalized); // 'Cankaya'

Contact With

Dilara Uluturhan - LinkedIn - [email protected]


Turkify 🇹🇷

Türkçe karakter normalizasyon paketi - SEO ve URL'ler için

Özellikler

  • Türkçe Karakter Normalizasyonu - Türkçe karakterleri Latin karşılıklarına çevirme (İ→I, Ş→S, Ç→C, vb.)
  • Türkçe Locale Büyük/Küçük Harf Dönüşümü - Türkçe locale ile lowercase/uppercase dönüşümleri
  • URL/Slug Oluşturma - Türkçe karakter desteği ile SEO uyumlu slug oluşturma
  • Framework Desteği - Tüm JavaScript framework'lerinde kullanılabilir (React, Next.js, Vue, Angular, vanilla JS)
  • TypeScript Desteği - Tam TypeScript tanımları dahil
  • Sıfır Bağımlılık - Harici bağımlılığı olmayan kütüphane

Kurulum

npm install turkify

veya

yarn add turkify

Kullanım

Türkçe Karakter Normalizasyonu

import { normalizeTurkish } from "turkify";

normalizeTurkish("İstanbul"); // 'Istanbul'
normalizeTurkish("Şişli"); // 'Sisli'
normalizeTurkish("Çankaya"); // 'Cankaya'

Türkçe Locale Büyük/Küçük Harf Dönüşümü

import { toTurkishLowerCase, toTurkishUpperCase } from "turkify";

toTurkishLowerCase("İSTANBUL"); // 'istanbul'
toTurkishLowerCase("İ"); // 'i'

toTurkishUpperCase("istanbul"); // 'İSTANBUL'
toTurkishUpperCase("ı"); // 'I'

Normalize ve Lowercase

import { normalizeTurkishLowercase } from "turkify";

normalizeTurkishLowercase("İstanbul"); // 'istanbul'
normalizeTurkishLowercase("ŞİŞLİ"); // 'sisli'

Slug/URL Oluşturma

import { slugify } from "turkify";

// Basit kullanım
slugify("İstanbul Şişli"); // 'istanbul-sisli'
slugify("Çankaya Ümraniye"); // 'cankaya-umraniye'

// Özel separator
slugify("İstanbul Şişli", { separator: "_" }); // 'istanbul_sisli'

Framework Örnekleri

React Örneği

import { slugify } from "turkify";

function Article({ title }) {
  const slug = slugify(title);
  return <a href={`/articles/${slug}`}>{title}</a>;
}

Next.js Örneği

import { slugify } from "turkify";

export default function BlogPost({ title }) {
  const slug = slugify(title);
  return (
    <Link href={`/blog/${slug}`}>
      <h1>{title}</h1>
    </Link>
  );
}

Vue 3 Örneği (Composition API)

<template>
  <div>
    <a :href="`/articles/${slug}`">{{ title }}</a>
  </div>
</template>

<script setup lang="ts">
import { computed } from "vue";
import { slugify } from "turkify";

const title = "İstanbul Şişli";
const slug = computed(() => slugify(title));
</script>

Angular Örneği

import { Component } from "@angular/core";
import { slugify } from "turkify";

@Component({
  selector: "app-article",
  template: ` <a [href]="'/articles/' + slug">{{ title }}</a> `,
})
export class ArticleComponent {
  title = "İstanbul Şişli";
  slug = slugify(this.title);
}

JavaScript Örneği

import { slugify, normalizeTurkish } from "turkify";

// Slug oluşturma
const title = "İstanbul Şişli";
const slug = slugify(title);
document.getElementById("link").href = `/articles/${slug}`;

// Normalizasyon
const normalized = normalizeTurkish("Çankaya");
console.log(normalized); // 'Cankaya'

İletişim Kuralım

Dilara Uluturhan - LinkedIn - [email protected]