A few good tools. Everyday files.
A little less work.
Merge a PDF. Resize an image. Make sense of JSON. Useful tools for the task in front of you, all in your browser.
Files are processed in your browser. No upload. No account required.
What are you working on?
- Merge PDFCombine PDFs without handing them to anyone.
- Split PDFPull pages out, leaving the rest genuinely behind.
- Rotate PDFFix a sideways scan for everyone, not just your reader.
- Delete PDF PagesRemove pages so their text is not recoverable.
- Reorder PDF PagesRearrange pages, including a two-pass duplex scan.
- Watermark PDFStamp every page without inflating the file.
- Unlock PDFDrop restrictions from a document you can open.
- PDF to JPGRender pages to images at the DPI you choose.
- JPG to PDFImages into a PDF without a second JPEG generation.
- PDF to TextRead the text layer exactly, or learn there isn't one.
- Compress PDFShrink a PDF, and be told what it costs.
- Compress ImageHit a file size, or pick a quality and see the cost.
- Resize ImageScale down without the aliasing most tools leave behind.
- Convert ImageJPG, PNG, WebP and AVIF, with transparency handled properly.
- Crop ImageDrag or type a rectangle; the pixels kept are untouched.
- HEIC to JPGOpen iPhone photos on a machine that refuses to.
- Image to Base64Inline an asset, and know what the 33% costs you.
- Discord Banner ResizerDiscord's two banner sizes — 600×240 profile and 960×540 server — with the avatar overlap drawn on the preview.
- Discord Profile Banner SizeCrop to Discord's exact 600×240 profile banner at 5:2, with the avatar and username block drawn where they will sit.
- Discord Server Banner 960×540The 960×540 server banner shown above the channel list — crop it here rather than letting Discord centre-crop it for you.
- Discord PFP Resizer512×512 square crop with the circular mask drawn over it, so you see what the corners lose before uploading.
- Discord Emoji ResizerOne emoji at Discord's 128×128, held under the 256 KB cap with the measured size shown before you download.
- Twitch Emote ResizerAll three emote sizes — 112, 56 and 28 pixels — exported together in one ZIP, each held under the 25 KB cap.
- Twitch Sub Badge ResizerSubscriber badges at 72, 36 and 18 pixels in a single ZIP, each checked against Twitch's 25 KB limit.
- Twitch Bit Badge MakerBit badges at 72, 36 and 18 pixels from one crop, bundled as a ZIP and checked against the 25 KB limit.
- Twitch Banner 1200×480The exact 1200×480 profile banner, with the safe area for the profile picture and channel name drawn over the preview.
- Twitch Offline Screen 1920×10801920×1080 offline screen with the strip the player chrome covers marked out, so text never hides behind it.
- Roblox Shirt Template MakerFit artwork to the 585×559 shirt canvas with torso, arm and back regions outlined where Roblox expects them.
- Roblox Pants Template ResizerThe 585×559 pants canvas with leg and waist panels marked, so seams land on the avatar instead of mid-shin.
- Roblox Game Icon 512×512Crop an experience icon to the required 512×512 square, with the rounded corners Roblox applies drawn on.
- Roblox Badge Template ResizerBadge art at the required 150×150 with the circular mask drawn on, so it reads as a badge, not a clipped square.
- Etsy Banner ResizerShop banner at 1200×300 and the 3360×840 retina size in one export, so the header stays sharp on any screen.
- Etsy Mini Banner Size 1200×160The exact 1200×160 mini banner strip — at 7.5:1 the crop decides what survives, and you pick it.
- Etsy Shop Icon 500×500500×500 shop icon with the circular mask Etsy applies drawn over the preview, so edges are not clipped later.
- Shopify Product Image ResizerProduct photos at Shopify's recommended 2048×2048 square, padded rather than cropped so the product stays whole.
- YouTube Banner Safe Zone ToolChannel art on the 2560×1440 canvas with the tablet and mobile safe zones drawn, so your name survives a phone.
- Spotify Canvas 1080×1920Cover art cropped to the 1080×1920 vertical frame, with the player-controls area marked where Spotify draws it.
- Twitter Header 1500×500X's 1500×500 header at 3:1 with the profile picture overlap and bio block drawn on, so nothing important hides.
- Bluesky Banner SizeBluesky banner at 3000×1000 with the avatar overlap marked — crop and export both run locally.
- Color PickerPick a colour and read it back as HEX, RGB, HSL, OKLCH or CMYK, with a tint and shade ramp.
- Contrast CheckerCheck a text and background pair against WCAG 2.2 AA and AAA, and get the nearest colour that passes.
- Color CodesEvery CSS colour name with its HEX, RGB and HSL code, searchable and sortable.
- Color Blindness TestTake a plate test for red-green and blue-yellow colour vision, and see any image the way it looks to someone who has it.
- Color ConverterConvert between HEX, RGB, HSL, HSV, OKLCH and CMYK, in both directions at once.
- HEX to RGBTurn a hex colour into its rgb() values, including the alpha channel from an 8-digit hex.
- RGB to HEXTurn rgb() or rgba() values into a hex colour, in three, six or eight digits.
- HEX to HSLTurn a hex colour into hue, saturation and lightness, ready to paste into CSS.
- HSL to HEXTurn hue, saturation and lightness into a hex colour.
- RGB to HSLTurn rgb() values into hue, saturation and lightness.
- Color WheelTurn a hue wheel and read off complementary, analogous, triadic and split-complementary schemes.
- CSS Gradient GeneratorBuild a linear or radial gradient and copy the CSS, with interpolation that does not go grey in the middle.
- Diff CheckerLine, word and character text comparison with unified patch export.
- XML FormatterRe-indent XML without breaking CDATA, comments or DOCTYPE.
- XML ViewerRead a SOAP response as a tree instead of a wall.
- XML to JSONConvert without losing attributes or one-item lists.
- JSON to XMLConvert with attributes, and names XML will accept.
- YAML to JSONConvert without turning Norway into false.
- JSON to YAMLConvert with quoting that survives the trip back.
- Regex TesterTest patterns without locking the tab.
- SQL FormatterFormat a query without breaking its strings.
- HTML FormatterIndent markup without corrupting it.
- CSS FormatterFormat a stylesheet, new syntax and all.
- Case ConverterRename identifiers, acronyms handled properly.
- JSON DiffSemantic comparison that ignores key order, with RFC 6902 patch export.
- JSON FormatterIndent, sort keys and strip comments with configurable output.
- JSON BeautifierPretty-print minified JSON with custom indentation.
- JSON Pretty PrintFormat it here, or copy the line that does it in your language.
- JSON MinifierStrip whitespace and measure the real gzip wire size.
- JSON ValidatorValidate syntax with exact line and column, and repair it in one click.
- JSON ParserParse a document and see what it actually contains.
- Schema GeneratorInfer a Draft 2020-12 schema from samples and validate against it.
- JSON to CSVConvert records to a spreadsheet grid, nesting and all.
- CSV to JSONParse a spreadsheet export into records, quoting and all.
- JSON StringifyEscape a document into a string literal for embedding.
- JSON UnescapeRecover a document buried in escapes inside a log line.
- JSON ViewerRead a large document as a collapsible, searchable tree.
- JSON EditorSynchronized tree and text editing with undo and JSONPath search.
- JSON to TypeScriptGenerate interfaces from a sample, optionality and all.
- JSON to GoGenerate structs with json tags that actually marshal.
- JSON to PythonGenerate dataclasses, TypedDicts or Pydantic models.
- JSON to C#Generate classes or records with the right attributes.
- JSON to JavaGenerate records or POJOs, boxing what can be absent.
- UUID GeneratorGenerate v4, v7 and v1 UUIDs in bulk, and inspect existing ones.
- Timestamp ConverterRead a timestamp without guessing its unit.
- Cron ExpressionRead a schedule, and see when it actually fires.
- Number Base ConverterConvert any base without losing digits.
- Lorem IpsumPlaceholder text, including text designed to break layouts.
- QR Code GeneratorEncode a URL or Wi-Fi password that never leaves the tab.
- Barcode GeneratorMake a Code 128, EAN-13, UPC-A, EAN-8, Code 39 or ITF-14 symbol, with the check digit worked out.
Platform Resizers
Creator Asset Resizers
Exact pixel frames, safe-zone overlays and byte caps for Discord, Twitch, Roblox, YouTube, Spotify and more.
Why run these tools in the browser?
- Are my files really not uploaded?
- The tools process your files locally. To check, open your browser's Network panel and try a sample file. You may see requests for app code, fonts and workers; your file contents should not appear in request payloads. The site has no file-processing API routes or server-side file storage. See our privacy page for network and optional third-party script details.
- Do I need an account, and is there a file size limit?
- No account, and no watermark — there is no paid tier here, so there is nothing to restrict you into buying. The limits that exist are the ones a browser tab has: up to 100 MB per file and 250 MB in a file batch; individual tools may apply lower limits, because a 12-megapixel photo becomes 48 MB of raw pixels the moment it is decoded, and several of those at once is what actually stops a phone.
- Do these tools work offline?
- Processing runs locally after the required code has loaded. Some tools load workers or codecs on first use, including the HEIC decoder. Try the operation once before disconnecting. Opening another tool or reloading a page offline is not guaranteed.