PasteCleanly / Text tools

Convert slugs and identifiers

Turn a list of titles or labels into consistent names for URLs, keys and files.

Text and opened files stay in this tab. How privacy works

Worked example

Original
Café guide 2026
HTTPServer Status
kebab-case, Latin accents removed
cafe-guide-2026
http-server-status

How to use this tool

Choose the format the destination expects

Use kebab-case for hyphen-separated paths, snake_case for underscore-separated keys, or camelCase and PascalCase for conventions that join the words. Existing case transitions can also mark word boundaries.

Review accented words and abbreviations

Remove Latin accents is useful for names such as café that you want to write as cafe. It does not transliterate every non-ASCII letter or convert other writing systems to Latin. The converter treats an acronym run such as HTTP as a word before applying the chosen case.

Check names before using them

The result does not check whether a URL already exists, whether a name is reserved, or whether an identifier may start with a digit in your language. Two different titles can become the same slug. To spot collisions, use Remove duplicate lines after conversion.

Make a readable slug or consistent identifier from a title

Keep the display label and generated value separate

A heading needs to be readable in context. A URL slug needs to be recognizable as part of a path. A code identifier needs to follow the conventions and syntax of its environment. One title can be a useful starting point for all three, but the results are not interchangeable. Keep the display label unchanged and generate a separate value for each destination.

For a public path, use a short descriptive label such as prepare-csv-for-import. Avoid pasting an entire URL into the converter. A URL contains a scheme, a host, separators and possibly query values. This tool makes an identifier from text rather than rewriting the components of an existing address safely. If the job is to carry a literal phrase as a query value, use URL component encoding. Encoding preserves a value; slug conversion deliberately rewrites it.

If a heading is already published, check the existing route before generating a new one. A clearer title does not necessarily require a new path. Keep working links stable when possible. The guide to titles and slugs explains how to handle those as separate editorial decisions.

Choose the output style used in the destination

Kebab-case uses hyphens between words and is often appropriate for a URL path segment or simple filename stem. Snake_case uses underscores, which many projects use for keys or variable names. CamelCase joins words and starts with lowercase, while PascalCase starts with a capital. These are naming conventions, not validation rules. Match the surrounding names rather than changing an established interface simply because you prefer another style.

Try the title Customer Order Status in each mode. The same three words should become a hyphen-separated slug, an underscore-separated value or a joined name with internal capitals. Check which forms the destination permits. An API may treat customerOrderStatus and customer_order_status as different fields. Changing the spelling in an exported key can break a consumer even if the new name looks more consistent.

The converter handles one label per line. Use a short list of representative titles before converting a batch. Include an acronym, a hyphenated phrase and an accented term. If the output looks unexpected, identify whether the issue is word splitting, case or the accent setting. Change one option at a time so you can see which behavior caused it.

Try the same label in each naming style

Inspect acronyms and mixed-case labels

A pasted label can already contain word boundaries in its casing. HTTPServer Status may be understood as an acronym followed by a word, not as one long undifferentiated name. The converter uses case transitions as clues. A product's own spelling or an unusual mixed-case term may not follow those clues, so review those results separately before using them in a public link or codebase.

Names such as iPhone and eBay can be read as recognizable brands in a display title even when a generated identifier follows a different convention. If the visible heading must preserve the brand, use the case converter on the heading with deliberate spelling exceptions, then generate a separate identifier. Do not reconstruct the heading from the slug, since punctuation, capitals or accents may already have been lost.

Check punctuation as well. A word that contains an apostrophe or period can be split into pieces you did not expect. If a possessive or abbreviation yields a noisy path, shorten or rephrase the source label deliberately. For a batch, write down exceptions to the automatic conversion and apply them consistently. This is better than assuming every input label can be turned into a good public name without review.

Choose deliberately whether to preserve Latin accents

A phrase such as Café guide can keep its accent or be converted to a simplified Latin label, depending on the setting and your destination. Accent removal can be useful when a project wants ASCII paths. It changes the spelling and can cause distinct inputs to produce the same output. Do not apply it to a display title that should retain its correct spelling.

The accent option is not general transliteration. It does not promise an English spelling for every writing system or replace every non-ASCII letter. If the destination needs a romanized form, choose a documented convention or an approved translation and verify the result. For names and places, prefer the form used by the source or relevant audience rather than inventing a transliteration because it looks shorter.

If a label looks garbled before conversion, diagnose the source first. Use Fix broken accents for a known decoding issue. Use Normalize Unicode if two correct-looking inputs differ only in how an accent is represented. Then compare the generated outputs and check whether the resulting values are suitable for the destination.

Check for collisions and destination rules

Two titles can become the same slug after punctuation and case changes. An accent removal setting can collapse another pair of titles. Generate a list of proposed values and look for repeats before publishing. Remove duplicate lines can help spot that a list shrank, but it does not tell you which source title should own the surviving path. Keep a mapping from source label to candidate value so you can resolve each collision.

The converter also does not know which routes, filenames or identifiers already exist. Check the actual namespace. An identifier starting with a digit may be invalid in one programming language and acceptable as a data key in another. A name can also conflict with a reserved word or a system-defined field. Use the destination's own validation before committing a generated value.

For a filename, keep the actual extension separate from the label. Generating a slug from a whole path or filename can remove punctuation that the target expects. Verify the complete filename after combining the converted stem with its extension, and do not assume that the generated name overwrites nothing. Compare it with existing files in the actual directory.

Read a proposed slug on its own. Can someone distinguish the page from a nearby guide or product? If not, add a meaningful word instead of an arbitrary suffix. For a public page, keep the slug shorter than the full headline when it can still identify the subject. The URL is a navigational label, not a second version of the entire description.

When publishing through a system that can generate slugs automatically, verify what it actually saved. It may append a suffix, adjust case or change how the path ends. Copy the final public URL and open it to check that it points to the correct page. Do not change a working route merely to make it more aesthetically consistent. If an existing public URL really must change, plan the migration and verify the old links independently.

Save the visible title, the generated value and the final destination together. If a colleague changes the title later, they can then see whether the stable path should remain. For keys in a structured import, test a small record using the exact generated names. This catches a casing or delimiter difference before you send a full export.

Review batch output against its source rows

Count the proposed values and match a few with the source lines, especially the first, last and any title containing no usable words. A line made solely of punctuation may produce no useful name. Create a meaningful label yourself rather than inventing a placeholder made from separators. If the same labels feed several systems, keep separate columns for each naming convention; copying the slug into every destination is not a substitute for checking that destination's expectations.

Keep file extensions separate from converted labels

For a file named Quarterly Notes.final.pdf, first decide which parts are actually meaningful in the destination. The converter creates a label from text; it does not know that pdf is an extension or that the dot before final marks a version in your workflow. Generate a stem separately, reattach the required extension and check that the new filename is not already in use. Preserve the original until a link or import using the new name has been tested.