Skip to content

Instantly share code, notes, and snippets.

@19h
Created February 19, 2013 22:51
Show Gist options
  • Save 19h/4990953 to your computer and use it in GitHub Desktop.
Save 19h/4990953 to your computer and use it in GitHub Desktop.
Node.js — Clear Terminal / Console. Reset to initial state.
console.reset = function () {
return process.stdout.write('\033c');
}
@kocoten1992
Copy link

work on ubuntu, node v5.10.0

P/s: or just simply console.log('\033c') will do

@jimmywarting
Copy link

jimmywarting commented Apr 28, 2016

don't work in strict mode on node v6
But write("\x1B[2J") did

@adongoj
Copy link

adongoj commented May 10, 2016

Thanks, it worked for me. don't forget to call the function

@DesignByOnyx
Copy link

DesignByOnyx commented Jul 1, 2016

Node 5 strict mode requires this, which is the same as jimmywarting's answer but it also resets the cursor:

process.stdout.write('\x1B[2J\x1B[0f');

@davesnx
Copy link

davesnx commented Jul 23, 2016

@DesignByOnyx Thanks man!

@mocon
Copy link

mocon commented Aug 4, 2016

Sweet! Thanks.

@TemaSM
Copy link

TemaSM commented Aug 7, 2016

Strict mode + Node.js all supported platforms:

'use strict';
process.stdout.write('\x1Bc');
// or
console.log('\x1Bc');

@SLeonescu
Copy link

or you could use the key combinations Ctrl + L

@KhaledSMQ
Copy link

Thank you @DesignByOnyx

process.stdout.write('\x1B[2J\x1B[0f\u001b[0;0H');

@TheRealCasadaro
Copy link

what is the '\x1Bc' it look like a regular expression, why does it clear the console

@NullDev
Copy link

NullDev commented Aug 10, 2017

@TheRealCasadaro It's an ANSI Escape Sequence which clears the screen and buffer for the terminal output. It basically becomes <ESC>c which is the VT100 escape code for resetting the terminal.

http://www.termsys.demon.co.uk/vtansi.htm
https://en.wikipedia.org/wiki/ANSI_escape_code

@aaalsubaie
Copy link

thank you it works like a charm

@mocon
Copy link

mocon commented Oct 1, 2017

Thank you @DesignByOnyx!

@tomasevich
Copy link

Works on my debian 8 :D

Copy link

ghost commented Dec 14, 2017

Works perfectly on Windows 10 Node.js v8.9.1.
Thanks.

@lockevn
Copy link

lockevn commented Jan 21, 2018

Thank you @DesignByOnyx
It works on Windows 10 Node.js v.8.5

@megtorres
Copy link

@SLeonescu Wow, thanks, that's so easy!

@pablohpsilva
Copy link

Thank you @TemaSM

@joseluisq
Copy link

or via package.json:

"scripts": {
+  "cls_opt1": "clear",
+  "cls_opt2": "node -e \"process.stdout.write('\\033c')\""
}

@femi-dd
Copy link

femi-dd commented May 19, 2018

console.clear() does the trick without having to use keyboard shortcuts every time you run your js files

@ktrzeciaknubisa
Copy link

The below is better, because it clears also scroll-back buffer

process.stdout.write('\033c\033[3J');

http://man7.org/linux/man-pages/man4/console_codes.4.html

ESC [ 3 J: erase whole display including scroll-back buffer (since Linux 3.0).

@olvrb
Copy link

olvrb commented Aug 29, 2018

@DesignByOnyx's answer works on Ubuntu bash on Windows 10.

@tutlane
Copy link

tutlane commented Oct 11, 2018

Thanks @ghost. For me Ctrl + L worked to clear node.js console.

@anriDo
Copy link

anriDo commented Nov 25, 2018

work on MacOS Mojave

@silavsale
Copy link

Node 5 strict mode requires this, which is the same as jimmywarting's answer but it also resets the cursor:

process.stdout.write('\x1B[2J\x1B[0f');

Thanks, its work on windows 10

@mishhubc
Copy link

The combinations Ctrl + L reset the full log.

Ctrl + L to clear screen - https://unix.stackexchange.com/questions/104094/is-there-any-way-to-enable-ctrll-to-clear-screen-when-set-o-vi-is-set

thanks

@mybouhssina
Copy link

Thank you.
If anyone is wondering when/how to call the function, the following is working for me :

app.listen(process.env.PORT || 3000,function (){
  process.stdout.write('\033c'); 
}

since app.listen accepts a callback method, hope this helps someone ! :)

@aacassandra
Copy link

Thank you @TemaSM, its beautiful

@0Charliecat
Copy link

0Charliecat commented Mar 19, 2021

Works on macOS Big Sur 😸

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment