Posts

Kaomoji ⇔ Emoji Converter: turn (^^) into ๐Ÿ˜Š and ๐Ÿฅบ back into (´•̥ฯ‰•̥`), a whole message at a time

Image
Japanese chats are full of kaomoji , faces built from characters like (^^) or (´・ฯ‰・`). Most of the world uses emoji instead. I wanted a tool that swaps one for the other across an entire message, in either direction, so I added a Kaomoji ⇔ Emoji Converter to Omikuji Tools. Paste text, press Convert , copy the result. A small, hand-picked table I also run a kaomoji dictionary site with about 37,000 entries, and I deliberately did not bring them over. The converter works from a table I matched by hand: 72 feelings and occasions (happy, laughing, pleading, shy, thank you and so on), with 517 kaomoji and 224 emoji between them. Each row is a feeling, not a one-to-one character mapping, so (T_T), (;_;) and (´;ฯ‰;`) all land on ๐Ÿ˜ข, and ๐Ÿ˜ข can come back as any of them. Faces that are not in the table Kaomoji are endlessly remixed, so a table alone would miss most of them. Anything in brackets that looks like a face is read by its parts: eyes, mouth, tears, sweat, and the half-width katak...

Three tools for when Japanese text lands on your desk

You do not have to read Japanese to end up handling it. A customer's name has to go on a form in Latin letters, a CSV from a Japanese system refuses to match your product codes, or an email arrives as รฃ‚รฃยชรฃลธรฃ®รฅรฅ‰รฃ¯รฏ¼ลธ . These three pages on Omikuji Tools deal with those cases, and all of them process the text in your browser. Romaji Converter: which spelling of a name? Romaji is Japanese written in Latin letters, and more than one system for it is in use. The converter offers three. Hepburn follows English pronunciation (shi, chi, tsu, fu, ji) and is what you see on signs and in dictionaries. Kunrei-shiki follows the kana table systematically (si, ti, tu, hu, zi); it is the ISO 3602 system and the one taught in Japanese schools. Passport follows the rules of Japan's Ministry of Foreign Affairs. Long vowels are dropped, so ใ•ใ„ใจใ† becomes SAITO. An n before b, m or p becomes M, so ๆ–ฐ่ž becomes SHIMBUN. Capital letters are the default for passport output. With Hepburn and Kunre...

Zalgo Text and Fancy Text: two Unicode text toys that are not fonts (and a remover for the cursed kind)

Image
Most of Omikuji Tools started in Japanese. Two text tools went out in 12 languages from day one, because they do not depend on language at all: the Zalgo Text Generator and the Fancy Text Generator . Neither one is a font. Both produce plain Unicode characters, which is why the result survives copy and paste into places that do not let you choose a font. Zalgo: combining marks, stacked Zalgo text is ordinary text with Unicode combining marks piled onto each character. The generator draws from three pools: 49 marks that rise above the letter, 8 that strike through it, and 40 that drip below. Each has its own slider (0 to 15), and there are three presets: Whisper, Erosion and Abyss. Spaces and line breaks are left alone so lines do not fall apart. The pattern is not random each time. A seed is derived from your text and the slider values, so the same input and settings always give the same output; Regenerate changes the pattern on purpose. The page also has an Uncurse tab. Stand...

"How many days?" has at least three answers

Ask how many days there are from 1 January to 3 January and you can defend both 2 and 3. Ask how many days you have until a deadline a month away, and the honest answer is a lot fewer than 30. Date arithmetic is full of these small disagreements, so Omikuji Tools has three calculators that each take one of the questions seriously and state which rule they use. Date Calculator: say which rule you mean The first half gives the difference between two dates: days, weeks-and-days, years/months/days, hours and minutes, plus how many of those days are weekdays (Mon–Fri) and how many fall on a weekend. The checkbox that settles the argument above is Include the first day . Leave it off and 1–3 January is 2 days; tick it and it is 3, which is how hospital stays and campaign periods are usually counted. The second half goes the other way: a base date plus or minus N days, business days, weeks, months or years, with the weekday of the result. Two rules are stated on the page, and they are wort...

Dice Roller and Bingo Machine: two party tools for a phone or a projector, no app required

Image
Two of the simplest pages on Omikuji Tools are a Dice Roller and a Bingo Machine . Both are for the moment when the physical thing is missing (the dice went under the sofa, nobody brought a bingo cage) and a phone or a meeting-room screen is already there. Dice Roller Choose from one to six dice and press Roll (or Space / Enter). The dice are real 3D cubes drawn with CSS transforms and tumble for a moment before they land; the total and each face are shown above them, and the last 12 rolls stay in a history list. The rolling sound is synthesized in the browser, and a toggle turns it off for quiet rooms. There is a full-screen button for when the whole table needs to see it. Uses on the page: board games and sugoroku, TRPGs, turn order in a classroom, settling who does which chore. Bingo Machine Press Start (or Space / Enter) and the ball flickers through the numbers still in play; press again to stop it, or it stops by itself after five seconds. The default range is 1 to 75, li...

Coin, wheel or teams: three ways to hand a decision to chance

Letting chance decide works best when the method fits the question. Two options want a coin. A list of chores wants a wheel that does not hand the same job out twice. A room of people wants splitting into groups where two particular people are not together. Omikuji Tools has a page for each, and all three run in your browser without an account. Coin Toss: two options, and an honest random source Tap the screen or press Space and the coin lands. You can flip up to 10 coins at once, rename the sides (Pizza / Sushi works as well as Heads / Tails), and the last 20 results stay in a history that survives a reload. The randomness comes from crypto.getRandomValues rather than Math.random() . Then there is a section called Rig the Odds : a slider that sets the chance of heads anywhere from 1% to 99%. The page suggests setting heads to 1% for the thing you do not want to do, and promising yourself you will do it if it lands anyway. One thing to know before you use it on friends: the share l...

EXIF Cleaner and Batch Watermark: two photo tools that never upload your photos

Image
Two image tools on Omikuji Tools for the step just before a photo goes public. The EXIF Cleaner strips the metadata your camera or phone wrote into the file, GPS location included. Batch Watermark stamps text or a logo onto a whole set of images. Both do the work inside your browser: the photos are never sent to a server. EXIF Cleaner: remove the data, keep the pixels Drop in JPEG, PNG, WebP or HEIC files (whole folders work too) and the tool shows what each one carries: GPS, date and time, camera details, descriptions, copyright. Strip all removes everything that is not needed to display the image. Custom lets you choose by category, for example remove GPS but keep Copyright and Artist. For JPEG, PNG and WebP it works on the file's structure rather than redrawing the picture. It rewrites the metadata segments and chunks (the EXIF block, XMP, IPTC, comments, PNG text chunks) and passes the image data through untouched, so there is no re-compression. Color profiles and gamma...

Four small image tools, sorted by which way you are converting

You right-click an image, save it, and it turns out to be a .webp that your slide software or an upload form will not take. Or it is the other way round: your blog is full of heavy PNGs and you want them lighter. Or all you have is an SVG logo, and something needs a PNG or a favicon. Omikuji Tools splits these jobs across four pages, and all four do the work inside your browser — the images are never uploaded. Image Converter: out of WebP (and into most other things) The Image Converter takes PNG, JPEG, WebP and SVG files, several at once, and writes them out as PNG, JPEG, WebP, GIF, BMP, TIFF or PDF. The detail I like is the background colour. JPEG has no transparency, so a transparent PNG has to be filled with something when it becomes a JPEG. Here you pick it — white, black, or a custom colour — instead of finding out afterwards that the tool chose black. There is a quality slider for JPEG and WebP, an optional maximum long edge, and Download all . Re-encoding through the canv...

Tournament Bracket Maker: single-elimination brackets for up to 1,024 players, with seeding and byes worked out for you

Image
Paste a list of names, one per line, and the Tournament Bracket Maker on Omikuji Tools draws a single-elimination bracket. Click a match card to pick the winner. It is meant for the kind of event where someone usually ends up drawing the bracket by hand: a table tennis cup at the office, a school sports day, a game night. Byes and seeds without the arithmetic The awkward part of a bracket is a player count that is not a power of two. The tool rounds up to the next bracket size and fills the gap with byes: in the screenshot, 11 players go into 16 slots and five players skip the first round. Who gets those byes is decided by the standard seeding order (1 meets 16, 8 meets 9, and so on down the bracket), so the players you list first are the seeds, get the byes, and are kept apart until the late rounds. If you would rather not seed anyone, the participant editor has a shuffle button, which uses the browser's cryptographic random generator. The bracket lives in the link There is ...

Diffing text and moving tables around, without pasting either into a server

A lot of small developer chores are really "move this data from one shape to another": a spreadsheet range that needs to become a Markdown table, a CSV export that needs a TypeScript type, two versions of a config file you need to compare. The data is often the kind you should not paste into a random website — customer lists, internal configs. These three pages on Omikuji Tools do those jobs in the browser. Text Diff Checker Paste the original on the left and the modified text on the right, or drop a file onto either side. Additions are green, removals red, and you choose the granularity: character , word or line . You can tell it to ignore spaces, newlines or indentation, which is what you want when someone re-indented a file and you only care about the real changes. The button I reach for most is Auto-format . Comparing a minified JSON response with a pretty-printed one normally gives you a single enormous "everything changed" line. Auto-format parses both sid...

A sand timer you can embed in your own blog, and a multi-timer that lays every timer on one timeline

Image
Two timers on Omikuji Tools that do something a plain countdown does not. The Sand Timer shows the time as an hourglass, and it can now be embedded on your own page. The Multi Timer runs several timers at once and draws them as bars on a single timeline. Sand Timer Set minutes and seconds, or use a preset (1, 3, 5, 10, 15 minutes, or a 25-minute Pomodoro), and watch the grains fall. Flip behaves like a real hourglass: turn it over halfway through and the sand that has already fallen becomes the sand still to fall, so the remaining time inverts. Options: a chime when it ends, auto-flip to start again, and keep the screen awake. Space starts and pauses, R resets. The new part is Embed on your site . Pick a theme (dark or light) and a size (S 260×360, M 320×420, L 400×520), and the page gives you two lines of HTML: an <iframe> with the hourglass set to your time, and a small credit link under it. Only the embed page is allowed to be framed by other sites; everything else on ...

From a photo to readable colours to copy-paste CSS

Picking colours for a small site tends to go in three steps. You find an image whose mood you like, you pull a few colours out of it, and then you discover that the nice mid-grey text on the nice pale background is unreadable. Omikuji Tools has a page for each step, and the colour work happens in your browser. Color Palette: colours out of an image Drop an image, paste it with Ctrl / Cmd + V, or pick a file, and the page extracts between 4 and 16 dominant colours. There are two algorithms, and the difference matters. Photo mood uses Median Cut and gives a balanced palette for the overall feel of a photo. UI / Logo uses K-Means and separates the large background areas from the small accents, which is what you want from a logo or a screenshot where the brand colour covers a few percent of the pixels. Each swatch copies as HEX, RGB or HSL, and the whole palette comes out as a Tailwind config snippet, CSS variables or a JS array. A UI preview lets you assign palette colours to backgro...

Sushi Typing: a typing practice game with 60/90/120-second courses and a leaderboard that cannot be faked

Image
Sushi Typing is a typing game where sushi plates roll by and you type their names in romaji. It started as a ten-second sprint; it now has proper 60, 90 and 120-second courses, 76 prompts including short phrases, accuracy and speed (characters per minute), a list of the keys you miss most, and a leaderboard per course and period. The leaderboard does not trust the browser Any browser game can be "beaten" by editing the request that submits the score. So the server never receives a score. Instead: The server issues a seed for your session in a signed token. Your browser and the server generate the same sequence of prompts from that seed. You send a log of answers : which prompt, at what millisecond, what you typed. The server replays the log against its own sequence, checks every answer, and computes the score itself. On top of that it rejects anything faster than a human: under 40 ms per character, over 1,100 characters per minute overall (world-class typists reach...

Three browser video tools for the jobs that don't deserve a video editor install

Most of the video work I actually do is small: trim three clips into one with a caption, turn a screen recording into something a colleague's laptop will play, or fix an MP4 that refuses to start playing on a web page until it has fully downloaded. None of that should need a desktop editor or an upload to someone's server. Omikuji Tools has one page for each, and all three process the file inside your browser. Local Video Editor: clips, captions, background music Load videos (MP4, WebM, MOV) and audio (MP3, WAV, M4A), cut the segments you want, and line them up on a timeline — drag to reorder, click a clip to change its volume or mute it. Captions are placed at the playhead with their own start and end time, position, size and colour. Audio files go on a BGM lane with a volume control. Output is fixed at Full HD: 1920×1080 landscape or 1080×1920 portrait, at 24, 30 or 60 fps. Sources are scaled to fit with black letterboxing, so you can mix 4K footage with phone clips. The o...

A full-screen online stopwatch for big screens (and what search data taught me about how it is used)

Image
The online stopwatch on Omikuji Tools fills the screen with the elapsed time, records laps, and has a few styles and colors. It has been around for a while, in 12 languages. What I did not expect was where people use it. The Chinese version took off on big screens Search impressions for the Chinese page went from 65 to 9,004 a week within six weeks, at the same ranking position. The queries that drove it were about using a timer on a large display : classrooms, events, projectors. The tool had been designed with a single person at a desk in mind. So the full-screen button, which used to be an icon only, now has a text label in every language, and the page explains how to put it on a projector. On a big screen the label is the first thing people look for. A bug the big screen made obvious While checking every language, I found that the colons and the millisecond digits were invisible in production, in all languages: the time read "00 00 00". The digits are drawn with a ...

Make it, size it, scan it back: three QR code tools that stay in the browser

A QR code looks like a one-step job: paste a URL, save the image. The problems show up later — the printed code is too dense to scan from across the room, the Wi-Fi code does not connect because the password had a semicolon in it, or someone hands you a code and you would like to know where it goes before your phone opens it. Omikuji Tools has three small pages for the three halves of that job, and none of them send your data anywhere. QR Code Maker The generator has tabs for a URL or plain text, Wi-Fi , a contact card (vCard) and a calendar event , plus a batch mode: paste up to 500 lines from a spreadsheet and every line becomes its own code, downloaded together as a ZIP. Single codes save as PNG or SVG. You can change the foreground and background colours, the margin and the error-correction level, and composite a logo in the centre (the page tells you to switch to level H when you do). The detail I like most is the Encoded String panel under the preview. It shows the exact te...

SSL Certificate Checker and IP Address Lookup: two small network tools for people who run servers

Image
Two tools for the "let me just check" moments in server work. Both are free and need no sign-up. SSL Certificate Checker Type a host name and get the certificate's expiry (days remaining, colored at 30 and 7 days), issuer, subject alternative names, serial, SHA-256 fingerprint, key type, the full chain, which TLS versions (1.0 to 1.3) the server still accepts, and a verdict: expired, host name mismatch, self-signed, or incomplete chain. Ports 443, 8443, 465, 993 and 995 are supported. One honest note on architecture: the site runs on Cloudflare Workers, and Workers cannot read the peer certificate of a TLS connection. So this check is relayed to a small service on a separate machine that runs openssl s_client . The relay only accepts public host names, only those five ports, and never logs the host you typed. ๐Ÿ‘‰ SSL Certificate Checker IP Address Lookup Paste an IPv4 or IPv6 address (with or without a prefix length) and get its type according to the RFC special-pu...

A Mermaid editor that keeps your diagrams and exports PNGs that actually have labels

Mermaid is the nicest way I know to keep a diagram next to the code it describes: it is plain text, it diffs, and GitHub renders it in a README. The annoying part is everything around it — drafting a diagram somewhere you can see it, keeping more than one around, and getting an image out for a slide or a ticket. The Mermaid Editor on Omikuji Tools is a browser page for exactly that. Type on the left, see it on the right Write Mermaid code in the editor and the preview redraws as you type (it waits a moment after your last keystroke, so a half-finished line does not flicker errors at you). Flowcharts, sequence diagrams, ER diagrams, Gantt charts — whatever Mermaid itself supports. When the syntax is wrong, the preview shows Mermaid's own error message instead of a blank box. The preview behaves like a map: scroll the wheel to zoom around the cursor, double-click to zoom in, drag to pan, and one button fits the whole diagram back into view. For a wide diagram you can hide the edi...

Merge, split and convert PDFs, and convert audio, without uploading anything

Image
Five new file tools on Omikuji Tools. They process files inside your browser: nothing is uploaded, and there is no queue and no size-based pricing. Tool What it does Merge PDF Combine up to 100 PDFs in any order, with page-one thumbnails Split PDF Extract, delete or split by page ranges such as 1-3, 5, 8- ; rotate pages PDF to Image PNG, JPEG or WebP at 72 to 600 dpi, one file per page or a ZIP Image to PDF Choose paper size, orientation and margins; JPEGs are embedded without re-encoding Audio Converter Convert to WAV, M4A (AAC) or WebM (Opus); trim, downmix to mono, change sample rate A few details worth knowing JPEG stays lossless. When you turn photos into a PDF, the JPEG bytes are embedded as they are. Rotation from EXIF is applied on the PDF page, so a phone photo is not re-compressed just to turn it upright. Encrypted PDFs are refused with a clear message rather than producing a broken file. Very large renders shrink gracefully. Rendering ...

Hakarasenai: a Firefox extension that only stops Google Analytics from measuring you

Image
The second piece of software I publish is Hakarasenai , a Firefox extension for desktop and Android. The name means "won't let it measure", and that is the entire feature list: it stops Google Analytics from measuring you. Free, MIT licensed, on addons.mozilla.org (v1.2.0). Why it exists Google ships an official "Google Analytics Opt-out Add-on", and there is a Firefox build of it. The trouble is how it works: it injects a <script> element into the page, and Firefox, like Safari, applies the page's own Content Security Policy to content scripts. On any site with a strict CSP the injection is blocked and the opt-out quietly does nothing. Nothing tells you it failed, which is the worst failure mode a privacy tool can have. I ran into this while trying to keep my own visits out of the GA4 properties of my sites, and wrote this instead. Two layers It tells the Google Analytics code on the page that you have opted out, using the same official hook...