ShellCheck Online — Run in Your Browser

Run a ShellCheck-style review of your shell script online — no Haskell runtime, no package install. Bash Checker covers the same class of issues ShellCheck flags, plus security, portability, and best-practice checks.

Worked example: what ShellCheck online catches

#!/usr/bin/env bash
# Paste this into the analyzer to see ShellCheck-style findings
install_dir=$1
rm -rf $install_dir/*
cd $install_dir
wget -q http://example.com/install.sh -O - | bash

ShellCheck in the browser

Paste any Bash or sh script and get a categorized report with line numbers, severity, and a fix suggestion for each finding. Covers the most common ShellCheck rule families (SC2xxx quoting/variable issues, SC1xxx parser issues, SC3xxx portability).

Beyond ShellCheck

In addition to ShellCheck-style warnings, Bash Checker flags destructive commands, unsafe network downloads, missing input validation, hardcoded secrets, and brittle deployment patterns — issues ShellCheck does not check for.

When to use online vs local ShellCheck

Use the online version for quick reviews, reading scripts shared in chats or issues, or auditing snippets without a dev environment. Use local ShellCheck (via brew, apt, or cabal) when integrating into pre-commit hooks or CI.

Which ShellCheck rule families are covered

The online review maps onto the same rule families you see in ShellCheck output. SC1xxx parser issues (unterminated quotes, stray carriage returns from CRLF files, missing keywords like `fi` or `done`). SC2xxx semantic issues — SC2086 unquoted expansions, SC2046 unquoted command substitution, SC2164 `cd` without `|| exit`, SC2155 declare-and-assign masking exit codes, SC2181 checking `$?` instead of the command, SC2115 unsafe `rm -rf "$dir/"`. SC3xxx portability issues when a `#!/bin/sh` script uses arrays, `[[ ]]`, `local`, or process substitution. Each finding names the pattern in plain English so you do not have to memorise rule codes.

A typical online ShellCheck workflow

Paste the script, run the analysis, then read the executive summary first — it gives a 0–100 risk score and the top findings. Work down the high-severity findings, jump to the cited line, and apply the suggested fix by hand. Re-paste and re-run to confirm the finding is gone; identical scripts return instantly from the browser cache. When you are done, export the report as Markdown and drop it into the pull request so reviewers see what changed and why.

Online ShellCheck vs local ShellCheck

Use the online version when you do not have ShellCheck installed, when you are reviewing a snippet from a chat or issue, or when you want the extra security and intent analysis. Use local ShellCheck in CI and pre-commit hooks for speed and deterministic rule IDs. The online analyzer is not a replacement — it is a complement for deeper review.

Limits worth knowing before you paste

Scripts up to 1MB or 25,000 lines are accepted. Nothing is executed and nothing is stored server-side, so secrets pasted by accident are still worth rotating — the client-side secret scanner warns you before submission when it spots an API key, token, or private key in the text. Sourced files (`. ./lib.sh`) are not followed, so behaviour that depends on an external file is reported as unverifiable rather than guessed.

Frequently asked questions

Can I run ShellCheck online without uploading a file?
Yes. Pasting the script text is the primary path; file upload of .sh and .bash files is optional and handled entirely in the browser.
Does the online checker show ShellCheck rule codes?
Where a finding maps cleanly to a known rule family, the code is shown and links to a rule explainer page with a reproduction and a fix.
Is it safe to paste a production script?
The script is analyzed and discarded — it is never stored or executed. Still, a secret scanner runs in your browser first and warns you if credentials appear in the text.
Is this the official ShellCheck?
No — this is an independent online bash analyzer that flags the same class of issues ShellCheck reports, plus security and quality checks ShellCheck does not perform.
Do I need to install anything?
No installation required. Open the page, paste the script, click Analyze.
Does it support sh and POSIX scripts?
Yes. The portability section explicitly flags Bash-only features when run against scripts targeting /bin/sh.