URL & Links🌐 YAS server-sideAPI availablebeginner
Slug Generator
Converts any text into an SEO-friendly URL slug.
Processed by YAS · not stored
Ready to runInstant execution
Result
—What does this tool do?
Converts any text into an SEO-friendly URL slug.
Why would I use it?
- You are publishing blog posts and want clean URLs.
- You want consistent slugs for products or pages.
- You are generating anchor-friendly ids from titles.
Real-life example
Input
How to Fix DMARC p=none (2026 Guide!)
Output
how-to-fix-dmarc-pnone-2026-guide
Lowercase, hyphenated, special characters removed.
Input → Process → Output → Next
- Input
- Paste the title or text.
- Process
- YAS lowercases, strips accents/special characters and joins words with hyphens.
- Output
- The slug.
- Next action
- Use it in your URL and canonical tags.
Common mistakes
- Keeping stop words that bloat slugs.
- Changing slugs after publishing (breaks links).
- Including emoji or unicode that must be percent-encoded.
What the result means
A slug is the human-readable identifier in the URL path.
Privacy & security
Your input is sent to YAS infrastructure because the tool requires server-side processing or public network queries. Input is not stored.
API
Endpoint
POST https://yas.sh/api/v1/tools/slug-generator
Request Header
Content-Type: application/json
cURL
curl -X POST "https://yas.sh/api/v1/tools/slug-generator" \
-H "Content-Type: application/json" \
-d '{"input":"Hello, World! 2026"}'JavaScript
const res = await fetch("https://yas.sh/api/v1/tools/slug-generator", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"input": "Hello, World! 2026"
}),
});
const data = await res.json();Python
import requests
r = requests.post("https://yas.sh/api/v1/tools/slug-generator", json={"input":"Hello, World! 2026"})
data = r.json()| Field | Type | Required | Description |
|---|---|---|---|
| input | string | Yes | Source text |
| separator | string | No (default "-") | Word separator |
| maxLength | integer | No (default 80) | Output cap |
Success response
{ "result": "hello-world-2026" }Turn any text into a URL-safe slug (transliterates Latin accents).
Error responses
400 VALIDATION_ERROR— invalid input or unsupported option.413 PAYLOAD_TOO_LARGE— input exceeds the 64 KB limit.429 RATE_LIMIT_EXCEEDED— rate limit exceeded (60 req/min).
Limits
- Maximum input: 64 KB per request.
- Rate limit: 60 requests/min per IP address.
- Authenticated accounts benefit from higher tier quotas.
Related tools