Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Typeracer 100% hack (Version 2 - Aadaptive Mode - Types at minimum speed required to win)
function triggerKeyboardEvent(el, keyCode, type)
{
var eventObj = document.createEventObject ?
document.createEventObject() : document.createEvent("Events");
if(eventObj.initEvent){
eventObj.initEvent(type, true, true);
}
eventObj.keyCode = keyCode;
eventObj.which = keyCode;
el.dispatchEvent ? el.dispatchEvent(eventObj) : el.fireEvent("onkeydown", eventObj);
}
$=$$
content = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td > div > div')[3].textContent.split('');
i = 0;
function a () {
if (i == content.length - 1) return;
input = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(2) > td > input')[0]
input.focus()
input.value += content[i++];
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keydown")
input.click()
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keypress")
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keyup")
setTimeout(a, (Math.max(Math.min(250,60000/Array.from($('.rankPanelWpm')).map(x => parseInt(x.innerText)).sort((a, b)=>b-a)[1]/5), 100)||200)/1.5 | 0)*Math.random()
}
a();
@SitanHuang

This comment has been minimized.

Copy link
Owner Author

@SitanHuang SitanHuang commented Nov 12, 2018

put it in your console

@SuperUser101

This comment has been minimized.

Copy link

@SuperUser101 SuperUser101 commented Jan 10, 2019

This works! Unfortuntely, it asked me to do a test where I have to type around 279 wpm, and then i failed. :( Hopefully someone could design something to beat that too?

@SuperUser101

This comment has been minimized.

Copy link

@SuperUser101 SuperUser101 commented Jan 10, 2019

typeracerhacked

@Miniller

This comment has been minimized.

Copy link

@Miniller Miniller commented Jan 25, 2019

This works! Unfortuntely, it asked me to do a test where I have to type around 279 wpm, and then i failed. :( Hopefully someone could design something to beat that too?

I don't think so.. It is a picture, maybe if you hack into the web server, and hacking the whole website's code or maybe somehow with javascript
But if you know how to hack into a web server, you should choose that way
btw I am not a hacker so sorry if I say something stupid

@DaRealHaxerYT

This comment has been minimized.

Copy link

@DaRealHaxerYT DaRealHaxerYT commented Apr 1, 2019

Please help, I dont know what to do.

@x4sq

This comment has been minimized.

Copy link

@x4sq x4sq commented May 10, 2019

Go to inspect, then console, then paste it. @KGTasa

@iwanttohacklol

This comment has been minimized.

Copy link

@iwanttohacklol iwanttohacklol commented May 21, 2019

Go to inspect, then console, then paste it. @KGTasa

Hey dude mine says developer tools and it dosent apeer any advice to help me

@moldytofu

This comment has been minimized.

Copy link

@moldytofu moldytofu commented Jun 3, 2019

@DaRealHaxerYT Your name says your a hacker but you dont even know how to paste something into your console just left click console past and enter done^

@link3337

This comment has been minimized.

Copy link

@link3337 link3337 commented Jun 3, 2019

hihi xd

@gtmsingh

This comment has been minimized.

Copy link

@gtmsingh gtmsingh commented Aug 9, 2019

I have updated one which checks for the WPM shown on the UI. I have also refactored a bit:

function triggerKeyboardEvent(el, keyCode, type)
{
    var eventObj = document.createEventObject ?
        document.createEventObject() : document.createEvent("Events");
  
    if(eventObj.initEvent){
      eventObj.initEvent(type, true, true);
    }
  
    eventObj.keyCode = keyCode;
    eventObj.which = keyCode;
    
    el.dispatchEvent ? el.dispatchEvent(eventObj) : el.fireEvent("onkeydown", eventObj); 
  
} 
$=$$
parent_elem = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td > div > div')
text_content = parent_elem[3].textContent
content = text_content.split('');
words = text_content.split(' ');

function press_key(i) {
    input = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(2) > td > input')[0]
	input.focus();
	input.value += content[i];
	triggerKeyboardEvent(input, input.value.charCodeAt(0), "keydown")
	input.click()
	triggerKeyboardEvent(input, input.value.charCodeAt(0), "keypress")
	triggerKeyboardEvent(input, input.value.charCodeAt(0), "keyup")
}

function run(i, cb) {
    if (i >= (content.length - 1)) {
        cb();
        return
    }
    press_key(i);
	setTimeout(function() {run(i+1, cb)}, 50 * Math.random());
}

function watch_wpm() {
    current_wpm = parseInt(parent_elem[2].textContent.split(' ')[0])
    console.log(current_wpm)
    if(current_wpm > 99) {
        setTimeout(watch_wpm, 700)
    } else {
        console.log('pressing last key')
        press_key(content.length - 1, function() {})
    }
}
run(0, watch_wpm);
@Pavsel

This comment has been minimized.

Copy link

@Pavsel Pavsel commented Sep 12, 2019

Remove the -1 after
if(....content.length -1) change to
if(....content.length) so it does the last period as well

@gtmsingh

This comment has been minimized.

Copy link

@gtmsingh gtmsingh commented Sep 13, 2019

I purposefully added -1 in order to avoid typeracer's prompt for additional validation.

@MakingPoutine

This comment has been minimized.

Copy link

@MakingPoutine MakingPoutine commented Sep 14, 2019

image

@ghost

This comment has been minimized.

Copy link

@ghost ghost commented Oct 27, 2019

I've also wrote one myself

input = document.querySelector("#dUI > table > tbody > tr:nth-child(2) > td:nth-child(2) > div > div.mainViewport > div > table > tbody > tr:nth-child(2) > td:nth-child(3) > table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(2) > td > input");
passage = document.querySelector("#dUI > table > tbody > tr:nth-child(2) > td:nth-child(2) > div > div.mainViewport > div > table > tbody > tr:nth-child(2) > td:nth-child(3) > table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td > div > div > span:nth-child(1)").innerText;
passage += document.querySelector("#dUI > table > tbody > tr:nth-child(2) > td:nth-child(2) > div > div.mainViewport > div > table > tbody > tr:nth-child(2) > td:nth-child(3) > table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td > div > div > span:nth-child(2)").innerText;
passage += document.querySelector("#dUI > table > tbody > tr:nth-child(2) > td:nth-child(2) > div > div.mainViewport > div > table > tbody > tr:nth-child(2) > td:nth-child(3) > table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td > div > div > span:nth-child(3)").innerText;

for (i in passage) {
  input.value += passage[i];
}

If you are just doing this for prove of concept, this code is much shorter, just by directly altering the value of the input

@hi769

This comment has been minimized.

Copy link

@hi769 hi769 commented Jan 7, 2020

I like this program hacker can I call you hacker 1000 because it fits you

@emiisss

This comment has been minimized.

Copy link

@emiisss emiisss commented Feb 19, 2020

//paste this into your console
unction triggerKeyboardEvent(el, keyCode, type)
{
var eventObj = document.createEventObject ?
document.createEventObject() : document.createEvent("Events");

if(eventObj.initEvent){
  eventObj.initEvent(type, true, true);
}

eventObj.keyCode = keyCode;
eventObj.which = keyCode;

el.dispatchEvent ? el.dispatchEvent(eventObj) : el.fireEvent("onkeydown", eventObj); 

}
$=$$

content = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td > div > div')[3].textContent.split('');
i = 0;
function a () {
if (i == content.length - 1) return;
input = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(2) > td > input')[0]
input.focus()
input.value += content[i++];
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keydown")
input.click()
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keypress")
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keyup")
setTimeout(a, 50 * Math.random())
}
a();

@emiisss

This comment has been minimized.

Copy link

@emiisss emiisss commented Feb 19, 2020

1st Place!
489 wpm

@r32juan

This comment has been minimized.

Copy link

@r32juan r32juan commented Mar 25, 2020

how does this work? i put it on the console and nothing happens, if i press enter it shows an error

@majoradze

This comment has been minimized.

Copy link

@majoradze majoradze commented Mar 27, 2020

hello guys i am an android typeracer user... and i was wondering how i could forge or create a fake highscore of like 100wpm+

@zarelengeh

This comment has been minimized.

Copy link

@zarelengeh zarelengeh commented Apr 9, 2020

this not working in
website: typeiran.com/speed
pls hlp me

@edog101

This comment has been minimized.

Copy link

@edog101 edog101 commented Apr 11, 2020

it is an awesome hack!!!!!!!

@Pro598

This comment has been minimized.

Copy link

@Pro598 Pro598 commented May 2, 2020

much wpm

@Pro598

This comment has been minimized.

Copy link

@Pro598 Pro598 commented May 2, 2020

wow it really works! thx

@eratverderci

This comment has been minimized.

Copy link

@eratverderci eratverderci commented May 20, 2020

how to get rid of the test for cheaters

@KoolKidz112

This comment has been minimized.

Copy link

@KoolKidz112 KoolKidz112 commented Jun 11, 2020

^

@kaelan78

This comment has been minimized.

Copy link

@kaelan78 kaelan78 commented Jul 16, 2020

Please help, I dont know what to do
Join a match inspect the page then go to console and paste the code

@PlaneWriter5337

This comment has been minimized.

Copy link

@PlaneWriter5337 PlaneWriter5337 commented Jul 21, 2020

this not working in
website: typeiran.com/speed
pls hlp me

You're not supposed to use that website, use: https://play.typeracer.com/?universe=accuracy

@TheAwselfGuy

This comment has been minimized.

Copy link

@TheAwselfGuy TheAwselfGuy commented Aug 21, 2020

paste that in the test thing

@TheAwselfGuy

This comment has been minimized.

Copy link

@TheAwselfGuy TheAwselfGuy commented Aug 21, 2020

This works! Unfortuntely, it asked me to do a test where I have to type around 279 wpm, and then i failed. :( Hopefully someone could design something to beat that too?

put that in the test thing

@jsonjason123456

This comment has been minimized.

Copy link

@jsonjason123456 jsonjason123456 commented Aug 26, 2020

This works but how can I reduce the wpm?

@TheAwselfGuy

This comment has been minimized.

Copy link

@TheAwselfGuy TheAwselfGuy commented Sep 4, 2020

@MoosieFroos

This comment has been minimized.

Copy link

@MoosieFroos MoosieFroos commented Sep 11, 2020

This works, you will have your account suspended if you use it too much though...

@ValkerieZ

This comment has been minimized.

Copy link

@ValkerieZ ValkerieZ commented Sep 13, 2020

I have edited it just slightly so you will not exceed 100 wpm so you dont have to take the test
function triggerKeyboardEvent(el, keyCode, type)
{
var eventObj = document.createEventObject ?
document.createEventObject() : document.createEvent("Events");

if(eventObj.initEvent){
  eventObj.initEvent(type, true, true);
}

eventObj.keyCode = keyCode;
eventObj.which = keyCode;

el.dispatchEvent ? el.dispatchEvent(eventObj) : el.fireEvent("onkeydown", eventObj); 

}
$=$$

content = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td > div > div')[3].textContent.split('');
i = 0;
function a () {
if (i == content.length - 1) return;
input = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(2) > td > input')[0]
input.focus()
input.value += content[i++];
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keydown")
input.click()
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keypress")
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keyup")
//setTimeout(a, 50 * Math.random())
setTimeout(a, 115)
}

a();

@KoolKidz112

This comment has been minimized.

Copy link

@KoolKidz112 KoolKidz112 commented Sep 13, 2020

@DaRealHaxerYT Your name says your a hacker but you dont even know how to paste something into your console just left click console past and enter done^

good one lol

@peytoncodes

This comment has been minimized.

Copy link

@peytoncodes peytoncodes commented Sep 16, 2020

press inspect then paste the code into console

@optimusfirelord

This comment has been minimized.

Copy link

@optimusfirelord optimusfirelord commented Sep 23, 2020

Can someone make a hack like this, but for nitrotype, if anyone can click this link for the game, https://www.nitrotype.com/

@The91

This comment has been minimized.

Copy link

@The91 The91 commented Sep 28, 2020

Wait, is this for nitro type?

@The91

This comment has been minimized.

Copy link

@The91 The91 commented Sep 28, 2020

Because I paste it into console, and it won't do anything...

@Flashout24

This comment has been minimized.

Copy link

@Flashout24 Flashout24 commented Oct 5, 2020

image

@7te

This comment has been minimized.

Copy link

@7te 7te commented Oct 6, 2020

worthless script considering u all can't type above 100 ever to get past the cheater/bot captcha

@The91

This comment has been minimized.

Copy link

@The91 The91 commented Oct 12, 2020

@emiisss

This comment has been minimized.

Copy link

@emiisss emiisss commented Oct 13, 2020

@Killfiger

This comment has been minimized.

Copy link

@Killfiger Killfiger commented Oct 14, 2020

{
var eventObj = document.createEventObject ?
document.createEventObject() : document.createEvent("Events");

if(eventObj.initEvent){
eventObj.initEvent(type, true, true);
}

eventObj.keyCode = keyCode;
eventObj.which = keyCode;

el.dispatchEvent ? el.dispatchEvent(eventObj) : el.fireEvent("onkeydown", eventObj);
}
$=$$

content = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td > div > div')[3].textContent.split('');
i = 0;
function a () {
if (i == content.length - 1) return;
input = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(2) > td > input')[0]
input.focus()
input.value += content[i++];
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keydown")
input.click()
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keypress")
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keyup")
//setTimeout(a, 50 * Math.random())
setTimeout(a, 115)
}

a();

@UNK0wnHack3R

This comment has been minimized.

Copy link

@UNK0wnHack3R UNK0wnHack3R commented Oct 15, 2020

Please help, I dont know what to do.

your such a hacker, bro you cant even fucking copy and paste a stupid script into a fucking console ignore acctaully fucking hacking and learn how to right click

@UNK0wnHack3R

This comment has been minimized.

Copy link

@UNK0wnHack3R UNK0wnHack3R commented Oct 15, 2020

Because I paste it into console, and it won't do anything...

you have to wait untill the countdown stops then right click it and paste it in that console dont worry you will 100% catch up

@The91

This comment has been minimized.

Copy link

@The91 The91 commented Oct 15, 2020

@xue-design

This comment has been minimized.

Copy link

@xue-design xue-design commented Oct 22, 2020

put it in your console

how though

@Antonio-bli

This comment has been minimized.

Copy link

@Antonio-bli Antonio-bli commented Oct 23, 2020

How though this does not work why.

@Antonio-bli

This comment has been minimized.

Copy link

@Antonio-bli Antonio-bli commented Oct 23, 2020

never mind on one run I got 400 wpm

@NYPDK

This comment has been minimized.

Copy link

@NYPDK NYPDK commented Nov 5, 2020

I made one in python using OCR to physically read the text and type it out rather than hooking/scraping any process. I am not going to release it (maybe in the future) since it is not very user friendly, and I don't want to have to help anyone who tried to use it lol.

Video: https://streamable.com/uo0mum

@NYPDK

This comment has been minimized.

Copy link

@NYPDK NYPDK commented Nov 5, 2020

I am also working on a python script to bypass the test at the end... But it is not done yet, currently, it only gets about 80% - 85% accuracy (since it is OCR)

Image: https://ibb.co/6NxGPC1
No, the WPM shown in the screenshot is not edited, the text gets saved to a file and printed all at the same time.

@NYPDK

This comment has been minimized.

Copy link

@NYPDK NYPDK commented Nov 6, 2020

I completely scrapped the OCR idea, although it was cool, it was not very practical. I have completely remade the program (still using python)
https://youtu.be/Y_FDX8TQB0A

@WonderOps-YT

This comment has been minimized.

Copy link

@WonderOps-YT WonderOps-YT commented Nov 9, 2020

Yo this thing gave me like 999 wpm

@WonderOps-YT

This comment has been minimized.

Copy link

@WonderOps-YT WonderOps-YT commented Nov 9, 2020

No cappppp

@WonderOps-YT

This comment has been minimized.

Copy link

@WonderOps-YT WonderOps-YT commented Nov 9, 2020

No cap

@oofinguy999

This comment has been minimized.

Copy link

@oofinguy999 oofinguy999 commented Nov 29, 2020

This works! Unfortuntely, it asked me to do a test where I have to type around 279 wpm, and then i failed. :( Hopefully someone could design something to beat that too?
sadly no because the verification is an image.
and images can be found in inspect element but cant spot letters

@dhayespi

This comment has been minimized.

Copy link

@dhayespi dhayespi commented Dec 7, 2020

how does it work

@Code-Cracker-and-Hacker

This comment has been minimized.

Copy link

@Code-Cracker-and-Hacker Code-Cracker-and-Hacker commented Dec 10, 2020

it works really well

@Code-Cracker-and-Hacker

This comment has been minimized.

Copy link

@Code-Cracker-and-Hacker Code-Cracker-and-Hacker commented Dec 10, 2020

how does it work
go copy the code then open typeracer then get into a race then clik right clikc and chose inspect sample then go to console then paste it there and it will auto type

@rivldy

This comment has been minimized.

Copy link

@rivldy rivldy commented Dec 31, 2020

How to setting the typing speed ?

@ThegamingLord

This comment has been minimized.

Copy link

@ThegamingLord ThegamingLord commented Jan 7, 2021

I don't know what to do :(

@ThegamingLord

This comment has been minimized.

Copy link

@ThegamingLord ThegamingLord commented Jan 7, 2021

function triggerKeyboardEvent(el, keyCode, type)
{
var eventObj = document.createEventObject ?
document.createEventObject() : document.createEvent("Events");

if(eventObj.initEvent){
  eventObj.initEvent(type, true, true);
}

eventObj.keyCode = keyCode;
eventObj.which = keyCode;

el.dispatchEvent ? el.dispatchEvent(eventObj) : el.fireEvent("onkeydown", eventObj); 

}
$=$$

content = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td > div > div')[3].textContent.split('');
i = 0;
function a () {
if (i == content.length - 1) return;
input = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(2) > td > input')[0]
input.focus()
input.value += content[i++];
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keydown")
input.click()
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keypress")
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keyup")
setTimeout(a, 50 * Math.random())
}
a();

@Tce349

This comment has been minimized.

Copy link

@Tce349 Tce349 commented Jan 9, 2021

Can you pls right a script for type rush https://www.typerush.com

@bobbygod21

This comment has been minimized.

Copy link

@bobbygod21 bobbygod21 commented Jan 12, 2021

Its really good just copy and paste it into your console. No virus or anything. (there is so download) I recommend using this.
The only bad thing is at the end there is a type thing to verify your not cheating... Can someone create something for that to?

@ThegamingLord

This comment has been minimized.

Copy link

@ThegamingLord ThegamingLord commented Jan 12, 2021

@spanked

This comment has been minimized.

Copy link

@spanked spanked commented Jan 22, 2021

So how does one use this?

@ItsYanko

This comment has been minimized.

Copy link

@ItsYanko ItsYanko commented Jan 24, 2021

how to get rid of the test for cheaters

don't cheat, lol. There's no (easy) way to bypass it, it's a captcha.

@Lian-1

This comment has been minimized.

Copy link

@Lian-1 Lian-1 commented Jan 27, 2021

Can someone make a hack like this, but for nitrotype, if anyone can click this link for the game, https://www.nitrotype.com/

Hey want nitrotype hack

@zagariaseloff

This comment has been minimized.

Copy link

@zagariaseloff zagariaseloff commented Feb 19, 2021

put it in your console
the stuff dosent go lower i want to be a megatyper

@cdjsuc

This comment has been minimized.

Copy link

@cdjsuc cdjsuc commented Mar 27, 2021

Idk what you have to do I have tried everything

@Ryanqwazwsx

This comment has been minimized.

Copy link

@Ryanqwazwsx Ryanqwazwsx commented Apr 30, 2021

How do you do this on Mac?

@Mr-3x0t1k

This comment has been minimized.

Copy link

@Mr-3x0t1k Mr-3x0t1k commented May 2, 2021

Please help, I dont know what to do.

first step is you have to right click once you are in a race
then press inspect the bottom most option
after that you go to the console which is one of the options on top of the box
then when it becomes 0 seconds in the race paste it there

@Yesl321

This comment has been minimized.

Copy link

@Yesl321 Yesl321 commented May 26, 2021

It types "Hall of fame"

@Owrw

This comment has been minimized.

Copy link

@Owrw Owrw commented May 26, 2021

You cant inspect anymore unless I'm doing something wrong

@Mega142412

This comment has been minimized.

Copy link

@Mega142412 Mega142412 commented Jun 1, 2021

This dont work help me pls :(

@JJCprodeveloper

This comment has been minimized.

Copy link

@JJCprodeveloper JJCprodeveloper commented Jul 25, 2021

This works! Unfortuntely, it asked me to do a test where I have to type around 279 wpm, and then i failed. :( Hopefully someone could design something to beat that too?

I don't think so.. It is a picture, maybe if you hack into the web server, and hacking the whole website's code or maybe somehow with javascript
But if you know how to hack into a web server, you should choose that way
btw I am not a hacker so sorry if I say something stupid

sorry but thats the stupidest thing i have ever heard of
i cant help but respond to your comment
you shouldnt suggest that in the first place if you dont know it...

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