Awazon Shapes

Shape

A filename

Awazon market links

Supplied by the site owner and printed unchanged, with nothing added and nothing ranked. This reference contacts none of them, so it reports no availability of any kind.

Files and text

The short label a file carries, which is written by whoever produced the file and stored beside it rather than inside it.

The shape

Filenames have the loosest shape rules on this site. Almost everything is permitted, the small set of prohibitions varies between systems, and the same name can behave differently depending on where it is stored. That looseness is the shape: when nearly anything is legal, the fact that a name is legal carries almost no information.

One component is one name. A name is not a path. The moment a forward slash appears you are reading a sequence of components, which is a different shape and is covered on the archive listing card.

Maximum length
commonly 255 characters for a single component. Whole paths have their own, larger and separate limit
Permitted characters
letters, digits, spaces, dots, hyphens, underscores and most punctuation, in essentially any order
Never permitted
the forward slash, because it is the component separator, and the zero byte
Often refused
the characters \ : * ? " < > | on systems that reserve them
Case
two names differing only in case are one file on some systems and two files on others
Leading dot
a name beginning with a dot is conventionally omitted from listings rather than hidden in any real sense
Trailing dot or space
accepted when typed on some systems, then silently removed, so the stored name differs from the typed one
example-notes.txt          unremarkable
example notes.txt          a space is legal
Example.TXT                may or may not be a second file
.example-config            leading dot, usually not listed
example.txt.               trailing dot, may be dropped on save
example.txt                trailing space, same problem
Every name here is a placeholder. The red characters are legal to type and unreliable to store.

The name is written, not measured

A file has contents, and separately it has a directory entry that records what to call it. The entry is written by whoever created the file, and it can be rewritten by anybody who can rename it, with no effect on the contents whatsoever. Renaming is a text edit performed on a label.

This matters because names are the field readers trust most and question least. A name is short, it is at the top, it is in a familiar language, and it looks like a fact about the file. It is instead the one field guaranteed to be somebody chose it. Where a file has passed through an archive, a message attachment, a download prompt or a save dialog, the name may have been rewritten at each step, sometimes to remove characters the next system refused.

A useful reframing: treat the name as a caption rather than a property. Captions are frequently accurate. They are never self verifying.

How to check it by eye

Saying a name out loud

  1. Read the name slowly from its first character to its last, saying the punctuation. Names that look ordinary at a glance often stop looking ordinary when the dots and hyphens are spoken.
  2. Look for a double space, and for a space immediately before the final dot. Both are legal and both are usually accidents.
  3. Check the very end of the name for a dot or a space with nothing after it, which is a name that may not survive being saved.
  4. Check that the name reads in one consistent direction throughout. A name that switches direction partway through, so that the extension appears somewhere other than the end, is disagreeing with itself.
  5. Note whether the listing you are reading it in shows extensions at all, since some do not.

What a wrong shape means

The strongest wrong shape is a forward slash inside what is presented as a single name. That is not a bad name; it is a path being described as a name, and the two are different objects. Read it as a path and the confusion usually resolves.

A name containing characters a system refuses will simply not exist there. What you meet instead is a substitute: the refused characters replaced by underscores, or the name shortened, or a numeric suffix added because the shortened form collided with something. Substitutions of this kind are a sign the file crossed between systems, and they say nothing about intent.

A trailing dot or space that vanished between typing and saving is the least alarming wrong shape here and one of the most confusing, because the name you asked for and the name that exists differ while both look the same when printed. If two names that ought to match do not, look at their ends first.

A name that renders one way in one place and another way elsewhere is worth a second look, and the next section explains the mechanism.

A character that has no picture

Text can carry direction markers: characters that draw nothing themselves and instead instruct whatever is rendering the text to lay out the characters after them in the opposite order. A right to left override is the sharpest example. It occupies a position in the name, it has no visible form, and everything following it appears reversed on screen.

The consequence for a filename is that the rendered order and the stored order can differ. A name whose stored characters end in one extension can be displayed ending in another, because the tail has been drawn backwards. Nothing has been forged; the bytes are the bytes. The display is simply obeying an instruction inside the name.

The by eye tell is internal disagreement rather than any visible mark. The rendered name reads oddly: a dot appears in a position that makes no sense, a run of letters that ought to be a word comes out as its own mirror, digits sit in a sequence the rest of the name contradicts. You are not spotting the character, because it has no picture. You are spotting that the name no longer agrees with itself.

Two practical notes. First, this is a property of text generally, not of filenames specifically; the same effect appears wherever untrusted text is drawn, which is why lookalike construction gets its own treatment on the lookalike host card. Second, a name can contain such a character entirely by accident, having picked it up from a copied string, so its presence is not by itself a finding.

What a correct shape does not prove

Suppose a name is the right length, uses only ordinary characters, has no trailing whitespace and reads consistently. What follows from that is a short list, and the list is about the name, not about the file.

  • Nothing about the contents. The relationship between a name and the bytes it labels is convention, applied by whoever saved it.
  • Nothing about the type. The extension is a suggestion, treated at length on the extension card.
  • Nothing about the size, the age or the origin, none of which live in the name.
  • Not that the name is the one the producer chose, because every intermediate step that handled the file was free to rewrite it.
  • Not that the name is unique. Two unrelated files with identical names is the ordinary case, not the unusual one.
  • Not that the visible name is the whole stored name, because listings shorten, truncate and hide parts of names by default.
  • Not that each character is the character it resembles, since many characters share a drawn form.

A name is the cheapest field on a file to set and the most expensive to reason from. That asymmetry is the point of this card.

What this card is not

The rules for what counts as an extension, how many dots a name may carry and which display settings shorten a name are set out on the extension card rather than here. Paths, separators and the structure a name gains once it sits inside a container are on the archive listing card. This card stays with the single name as a single label.

Every page on this reference