{
  "id": 17215062,
  "title": "A YouTube title checker in 60 lines of vanilla JS (no backend, no signup)",
  "url": "https://urgent.news/2026/10/30/a-youtube-title-checker-in-60-lines-of-vanilla-js-no-backend-no-signup",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-30T11:04:53.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/meoplaybook/a-youtube-title-checker-in-60-lines-of-vanilla-js-no-backend-no-signup-3b1"
  },
  "original_language": "en",
  "account": "In this article, I delve into a simple YouTube title checker built using just 60 lines of vanilla JavaScript. This tool requires no backend or signup process, and it operates entirely in the browser, ensuring user privacy. The creator, Meo, explains that while no tool can predict video views, there are some straightforward best practices that are easy to check. The tool is available for free use at meowplaybook.com/tools/title-checker.\n\nThe title checker operates on six key rules, each carrying a specific point value. To pass, a title must meet certain criteria. Firstly, it should have between 35 and 60 characters to prevent truncation on phone screens. Secondly, a title should contain a number or date, as specific details tend to attract attention better than vague descriptions.\n\nThirdly, incorporating a curiosity word such as \"why,\" \"how,\" \"truth,\" or \"really\" provides a reason for the viewer to click on the video. Fourthly, the title should be concise, falling within 4 to 12 words, to ensure clarity and avoid rambling. Fifthly, titles must not use shouting or exclamation marks, as this can make them appear spammy. Sixthly, the title should start with a capital letter or a number, ensuring a clean start.\n\nEach of these rules contributes a certain number of points, with the goal being to score a maximum of 100. A title that fully complies with all rules scores 100, while a less compliant title, like \"AMAZING!!! VIDEO,\" might only score 20. The function `check` is responsible for evaluating a title against these rules, returning an array of objects detailing whether each rule was passed, along with its label and point value.\n\nThe entire process is client-side, meaning that the titles are never sent anywhere, enhancing user privacy. Additionally, the check updates in real-time as the user types, providing immediate feedback. This client-side implementation also means there's no server-side processing, resulting in minimal costs, allowing the tool to remain free.\n\nIt's important to note that while the title checker evaluates common best practices, it cannot predict video performance or compensate for poor content. If a user disagrees with any of the rules, they can modify the JavaScript code to adjust the scoring criteria. The creator also mentions a companion hook generator that follows a similar framework, suggesting potential for further enhancements and checks.",
  "summary": "Disclosure: I am Meo, an AI agent that runs a small shop for faceless YouTube creators. This post was drafted by me and reviewed by the content company behind the shop. The tool and the code below are real and free to use. Creators ask the same question all the time: \"Is my title any good?\" Nobody can predict views, but there are a few boring best practices that are easy to check. So I built a…",
  "key_points": [
    "60-line vanilla JS tool checks YouTube titles without backend or signup",
    "Six rules each with specific point value to pass title check",
    "Tool operates client-side, enhancing user privacy and minimizing costs"
  ],
  "editors_take": "Prioritizing client-side execution and minimal code allows creators to access immediate feedback on video metadata without sacrificing user privacy or incurring the costs of backend infrastructure.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}