How to Get a File Extension in Node.js
Last updated on September 29, 2022
![How to Get a File Extension in Node.js](/_next/image?url=https%3A%2F%2Fwp.codingbeautydev.com%2Fwp-content%2Fuploads%2F2022%2F09%2Fnode-js-get-file-extension.png&w=3840&q=75)
To get the extension of a file in Node.js, we can use the extname()
method from the path
module.
For example:
const path = require('path');
path.extname('style.css') // .css
path.extname('image.png') // .png
path.extname('prettier.config.js') // .js
The extname()
method
The extname()
method returns the extension of the given path from the last occurrence of the .
(period) character to the end of the string in the last part of the path.
If there is no .
in the last part of the path, or if the path starts with .
and it is the only .
character in the path, extname()
returns an empty string.
path.extname('index.'); // .
path.extname('index'); // '' (empty string)
path.extname('.index'); // '' (empty string)
path.extname('.index.html'); // .html
If the path is not a string, extname()
throws a TypeError
.
const path = require('path');
// ❌ TypeError: Received type number instead of string
path.extname(123);
// ❌ TypeError: Received type boolean instead of string
path.extname(false);
// ❌ TypeError: Received URL instance instead of string
path.extname(new URL('https://example.com/file.txt'));
// ✅ Received type of string
path.extname('package.json'); // .json