* = a bookmarklet; drag the links into your browser's bookmarks/favourites bar to use these on most webpages.

You should also check out Cramland, which supposedly has less-perfect but admittedly cooler JavaScripts. I arbitrarily put things in the two places based on how I feel like they'll turn out.

twirlie.js - Click on elements to make them spin in circles or shake violently.

clicker/ - A generic clicker game.

searchparser.html - Parses the stuff in the URL after ? into a JS object.

mutate.html - Simulates cells mutating and dying.

events.html - Demonstrates a lot of JavaScript events.

points.html - Edit a path by dragging its vertices.

shepform/ - An attempt to make better form elements. Color inputs included.

shepform/colour.html - A glorious colour picker.

clickanywhere.html - Something that detects when you click outside an element.

responsivenavbar.html - Responsive design test.

eval.js - Runs JavaScript; for people who have developer tools disabled by their school.

shortcuts.html - Keyboard shortcut guide.

pen.js - Scratch pen blocks but in JavaScript! This page has it so you can try it out in the console.

simplecolour.js - A simpler colour picker; try it here: ; <input type="radio" class="simplecolourpicker" checked> will create the colour picker, the styles I've used are at simplecolour.css

happenings.html - A better-designed What's happening section for Scratch.

sadbooks.js - Inspect Element clone attempt for people who have developer tools disabled by their school. (WARNING: currently only works on this page)

2048.js - bookmarklet that opens 2048 by Gabriele Cirulli in a small frame that only is visible when your cursor is on it, so it's easy to hide when necessary. Launch again to close.

mccommands/ - A thing that might make typing commands in "Minecraft" a bit easier on touchscreens.

imagetoscheme.html - Converts image to ASCII art. Made for a Scheme class.

fontmaker.html - Takes a font file and outputs some costumes and a list. For Scratch costume-based text engines.

written_book.html - Minecraft written book text editor.

terminal/ - Unixesque terminal simulator

terminal/mml.html - MML renderer attempt

three/ - Directory of three.js attempts

footer.html - Material design footer.

carecalc.html - It's almost finals week and you need to study! Fortunately, your grades are pretty good, so you don't have to try too hard on the finals. This calculator tells you the minimum score you need to get on your finals to prevent turning on your parents' scold speakers.

particles/ - Directory of canvas-rendered particle attempts

pixels/ - Pixel art editor

caretdemo.html - I decided to adventure into the world of caret selection ranges, expecting an extremely complicated system as a byproduct of bad browser support, but as it turns out, at least for inputs and textareas, it isn't too hard!

scratchapiexplorer.html - Having used the Google APIs explorer for UGWA, I tried to make one for Scratch's API.

opacity-calc.html - Calculates the alpha value of a translucent colour on top of another colour.

dumbascii/ - Weird adventure game demo based on coloured monospace characters.

cyrillic-finder.html - Find homographs and invisibles in a string.

fill-perf.html - Seeing if I can optimize my flood fill algorithm for my Pixel manipulator.

towering-game.html - One of those games where you try to make a tower of blocks by timing the block placements correctly.

audio-editor/ - A Scratch 2.0 sound editor remake using code stolen from Scratch 3.0.

jpg-quality.html - Abusing the toDataURL method to convert images to jpeg and compress them.

frictioney-balls.html - An attempt to make the ball physics in carykh's Evolution Simulator.

delegalifier.html - Contrary to what it suggests, it's actually just a dumb failed text transformer.

discord-transformer.html - More text transformers for my personal use on Discord.

cryptography.html - Translators for the most commonly used ciphers/codes in "cryptography" challenges on the Scratch forums.

sudoku-ruiner.html - A keyboard-only tool that shows possible numbers for each sudoku tile and highlights problems.

peerjs.html - A quick experimental example using PeerJS.

anonchat.html - A simple anonymous-ish chat program using PeerJS.

panchroma.html - All the possible colours in a single canvas.

voice-control.html - Say something and it repeats it back to you.

easing.html - A HTML5 remake of an easing function visualizer.

autocomplete.html - Autocomplete Toki Pona words as you type.

charcopy.html - Quickly copy strings such as special characters or copypastas with a single click.

french.html - Uses TTS to pronounce French text.

combining.html - A list of combining characters from Wikipedia that you can use to copy individual characters from or add to other characters.

zwsp-embedder.html - Encodes zero-width spaces and non-joiners in normal-looking text (inspired by this article by Tom Ross).

countdown.html - A non-live countdown that displays a calendar between two given dates.

video/ - Smothered Rocks is a very basic video editor; the name is a parody of Adobe Spark.

video/shit/ - OpenShit is a more sophisticated but quite unintuitive video editor.

webhook-sender.html - A WYSIWYG (What You See Is What You Get) editor that allows you to type in text where it would show and send it to a Discord webhook.

flashcards.html - A simple flashcards web app relying on web-hosted JSON.

intense-contrast.html - Emphasize the difference between similarly coloured pixels.

semi-what.html - Encodes a string to binary using semicolons and Greek question marks.

image-translucentifier.html - Given the background colour of an image, it'll make the background transparent.

blur.html - Blurs an image slowly by averaging the neighbours of each pixel.

when-zoom.html - An intricately designed web app for scheduling notifications, such as for virtual meetings with teachers if your school is closed due to some pandemic.

raw-json-img.html - Converts an image into a low quality Minecraft (20w17a+) command.

byte-sorter.html - A pretty useless tool that sorts the bytes in a file.

battery-inspection.html - It shows you whatever information your browser will give about your device's battery through the Battery Status API. Only Chromium browsers will give enough information.

connection-inspection.html - Lists information about your network connection using the Network Information API.

events2.html - Like events.html (see above) from three years ago, but with a more complete list of events. Also has a tendency to crash the browser.

discord/ - A playground for discord.js in the browser.

encrypt.html - A simple encryption algorithm based on base64. :)

snowflake.html - A simple analyser for snowflakes on various services. This can be used to get the creation date of a Discord user, for example.

screen-recorder.html - A simple screen recorder.

notifications.html - A simple notifications playground.

floats.html - Inspired by Eric Postpischil, this is a float explorer that lets you manipulate its bits directly.

unicode-canvas.html and unicode.html - An attempt at a Unicode character map thing inspired by Wikipedia's plane maps.

análisis-poético.html - Analysing poems in AP Spanish Lit.

fek-fshka-hangul.html - Converting from Latin to Hangul for Fek, an organically constructed language in our school.

greedy.html - Greedy meshing based on the blog post Meshing in a Minecraft Game.

tts.html - Using the browser's Speech Synthesis API to read out Chinese for me.

tosvg.html - Embed a PNG image inside an SVG to avoid it being squished by Scratch.

one-pdf.html - Combine images into a PDF for when teachers want multiple photos to be submitted together as one document.

mp4-analyze.html - Directly manipulate an mp4 file to, for example, change its duration.

countdown-react.html - countdown.html again, but this time using React and react-virtualized to allow for massive date ranges.

abbrevator.html - Failed attempt to make an automatic abbreviator.

qr.html - QR code scanner that uses QR Scanner.

cheat-sheet.html - A short little reference sheet for all the built-in JavaScript functions that you should know.

grapher.html - Graphs a given mathematical expression.

randomised-music.html - A random music generator based on a Scratch project using Tone.js.

chopper.html - Chop a large image into squares for a Discord emoji grid.

font-colour-remover.html - Remove most formatting from text while keeping italics and links so it can be pasted into Google Docs.

still-2020.html - The date if March 2020 never ended.

gif-caption.html - Add a caption to a gif.

cho.html - Calculate the empirical formula from burning an organic compound.

height.html - Convert between centimetres and feet/inches because unfortunately I only have an intuition for heights in feet and inches.

subtract-frames.html - Subtract times in HH:MM:SS:frames from my video editor so I can slow down a clip to fill the space between two other clips.

rps-ai.html - Uses deep learning neural networks to predict a human player's next move in rock paper scissors.

intl-nums.html - Uses the ECMAScript Internationalization API to translate units and currencies all in your browser.

image-shuffler.html - Chop up and shuffle rows in a screenshot.

pip-image.html - Show an image in a pop-up that stays above other windows.

rounded-decimal-to-fraction.html - Determine some possible ratios whose approximation is the given decimal. This can be used to determine the original fraction that produced a decimal.

bwt.html - Creates a Burrows-Wheeler Transform matrix and suffix array from the given string.

putty-serial.html - Apparently your browser can access USB ports, so I didn't need to install PuTTY to view the console logs of a circuit board.

obfuscate-url.html - URL encode every character, even when you don't have to, to hide words in a URL.

floating-sticky-note.html - Show an interactive notepad that stays above all other windows, so you can take notes while reading an article, watching a video, or I guess taking an exam.

convolution-matrix.html - Learning WebGL (again), so I made a convolution matrix explorer inspired by 3Blue1Brown's video on convolutions.

sstv-encoder.html - Encode an image in Scottie S1 SSTV, all in the browser.