# File extensions: the ending of a filename [Concepts explained](README.md) A **file extension** is the final part of a filename, usually after its last dot. In `quiz.pliro`, the extension is `.pliro`. It gives people and programs a clue about the file's purpose. ## Names you will meet | Extension | Usual purpose here | | --- | --- | | `.pliro` | Pliro source code | | `.bipli` | A portable Pliro project bundle | | `.md` | Markdown documentation, such as this article | | `.json` | Structured text data | | `.png` | An image | | `.exe` | A Windows executable application | The **file format** is the actual set of rules for the contents. An extension is a label. Renaming `drawing.png` to `drawing.pliro` does not turn its picture data into source code, just as writing “juice” on a water bottle does not change the drink. ## Source and finished app A `.pliro` file can be read as text. Building a program creates an application containing machine instructions and its needed runtime support. Renaming the source to `.exe` does not perform that build. A `.bipli` project can hold several source files, a manifest, and assets. It is more than a single source file with a different name. ## Watch the whole name Some file browsers hide familiar extensions. A file that looks like `quiz.pliro` might actually be named `quiz.pliro.txt`. If Pliro cannot recognize a file, inspect its full name. The extension alone also cannot prove that a downloaded file is safe. [Source files](../syntax/source-files.md) · [Compilers](compiler-and-interpreter.md)