Skip to content
Completely wipe a file from the file system
Branch: master
Clone or download
Latest commit e216343 May 30, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist Add compiled version of module May 30, 2016
modules Fix passed parameters to callback function May 30, 2016
test Fix typo May 30, 2016
.eslintrc Refactor eslint file May 30, 2016
.gitignore Remove test folder from .gitignore May 9, 2016
.npmignore Add npmignore file May 30, 2016
Gruntfile.js Add es2015 preset to babel May 30, 2016
LICENSE.txt add LICENSE Dec 22, 2015 Fix passing in options to wipe method in example May 30, 2016
package.json 1.2.1 May 30, 2016


A npm module for securely wiping files off the file system completely so that it cannot be retrieved later with file retrieval programs.


The method used of wiping the file from the hard drive can be found in Peter Gutmann's paper Secure Deletion of Data from Magnetic and Solid-State Memory

The file/s, before being deleted, is overwritten by a defined set of bytes, as specified in the above reference. This will make the file headers and file contents unrecognizeable through different kinds of magnetic hard drives.


Install with

npm install file-wipe --save


In your application:

import wipe from 'file-wipe';

.then((file) => {
	console.log("File %s completely erased!", file);
.catch(err => {
	throw err;


or if you prefer the classical use of callbacks:

var wipe = require('file-wipe');

wipe('file.exe', function(err, file) {
		throw err;
	console.log("File completely erased!");

File globbing is supported

.then((files) => {
	console.log("Wiped files:");

Pass an options object

const options = {
	tap: (file) => {console.log("Wiped %s", file)}, //Provide a tap function
	unlink: false //If the file should be unlinked after it has been wiped. Defaults to true
wipe('./temp-files/*', options)
.then((files) => {
	console.log("Files wiped:");


wipe(files [, options, [, callback]])

Will run the callback or return a promise when all files specified have been wiped.


files: string|array The files to be wiped. A string or an array of strings.

options: object (OPTIONAL)

options.unlink: boolean (OPTIONAL) If the files should be unlinked after wipe passes has been applied. Defaults to true

options.tap: function (OPTIONAL) A function to be called after each file has been wiped.

callback: function, (OPTIONAL) The callback to be executed when the file/s have been wiped.

Returns: Promise, A promise with an array of files wiped.


Pull requests are welcome!


Due to how Solid State Drives (SSD) store and retrieve data this method will not work on an SSD. Please see Reliably Erasing Data From Flash-Based Solid State Drives.

I cannot completely guarantee that any file will be completely wiped from the magnetic hard drive. The results may wary on different machines, but this method should make file retrieval, at least, more difficult.




Github @simonlovesyou

Twitter @simonjohansosn

You can’t perform that action at this time.