HTML 画像化 — HTMLとCSSをPNGに変換
貼り付けたHTMLとCSSを描画し、指定した幅と倍率でPNGとしてキャプチャ
ブラウザー内で処理・アップロード不要
断片(<div>…)でも文書全体(<html>…)でも貼り付けられます。文書全体の場合は<body>の中身と<style>ブロックだけを使います。
追加するスタイルです。HTML内の<style>ブロックも適用されます。
この幅(px)でレイアウトし、高さ全体をキャプチャします。100〜4000。
2倍はRetinaディスプレイのようにくっきり、3倍は印刷向けです。画素数は倍率の2乗で増えます。
セキュリティとプライバシーのため、data:とblob:以外のアドレスにある画像・フォント・CSSは、プレビューでもキャプチャでも一切リクエストせず、スクリプトも実行しません。文字は端末にインストールされているフォントで表示されます。
プレビュー
HTMLを入力するとプレビューが表示されます。
どんなツールか
カード、お知らせ、表、ボタン、メールのバナーなど、HTMLとCSSの断片をPNG画像として保存するツールです。ドキュメントやブログで表示結果を見せたいとき、SNS用のお知らせカードをコードで作りたいとき、デザインの一部を画像で共有したいときに使えます。スクリーンショットを切り抜くのと違い、幅と倍率を正確に指定できます。
使い方
- HTML にコードを貼り付けます。文書全体(
<html>…)でも断片でもかまいません。初めてなら サンプルを挿入 をクリックしてみてください。 - 必要に応じて CSS にスタイルを追加します。HTML内の
<style>ブロックも適用されます。 - キャプチャの幅(px)、倍率(1×、2×、3×)、背景(白または透明)を設定します。
- プレビューを確認して PNGを作成 をクリックし、PNGを保存 を押します。
しくみ
- 安全なプレビュー:コードはサンドボックス化したiframeで描画します。サンドボックスがスクリプトの実行を止め、コンテンツセキュリティポリシー(CSP)がdata:とblob:以外へのネットワークリクエストをすべてブロックします。
- 外部アドレスの除去:貼り付けたコードは、まずブラウザー自身のHTML・CSSパーサーで読み取ります(この段階では何も読み込みません)。src、srcset、poster、SVGのhref、style属性、
<style>、url()、image-set()、@import、@font-faceにあるdata:とblob:以外のアドレスはすべて取り除き、一覧で知らせます。キャプチャの直前にもプレビューを再確認し、キャプチャ中もdata:とblob:のアドレスしか読めないため、外部のアドレスにリクエストが送られることはありません。リンク(<a href>)は画像に影響しないため一覧には出しませんが、クリックしてもどこにも移動しないように書き換えます。 - キャプチャのサイズ:選んだ幅でレイアウトし、実際の高さでキャプチャします。PNGのサイズは幅×倍率、高さ×倍率です。
- サイズの上限:ブラウザーが扱える大きさ(iPhone・iPadでは16,777,216画素、1辺16,384px)を超える場合は、倍率を自動で下げてお知らせします。
- 文書全体の場合:
<body>の中身とすべての<style>ブロックだけを使い、<head>のほかのタグは捨てます。 - キャプチャにはhtml-to-image(MITライセンス)を使っています。
作成例
| 入力 | 設定 | 結果 |
|---|---|---|
| サンプルのお知らせカード | 幅800、2倍 | 幅1600pxのPNG |
CSS付きの <table> |
幅600、3倍、透明 | 幅1800px、背景透明のPNG |
| 外部の画像を含むコード | 幅800、1倍 | 外部の画像は空のまま、ブロックしたアドレスを一覧表示 |
ベクターの図はSVG PNG 変換で、MarkdownはMarkdownプレビューでどうぞ。
よくある質問
URLを入力してWebサイトをキャプチャできますか?
できません。ほかのサイトをキャプチャするには、サーバーが代わりにページを開く必要があり、このツールはそれを行いません。自分で書いたHTMLとCSS、またはブラウザーの開発者ツールからコピーしたものを貼り付けてください。
画像が表示されません。
セキュリティとプライバシーのため、data:とblob:以外のアドレス(http、https、//、相対パス)にある画像・フォント・CSSは一切読み込みません。HTMLの文字参照やCSSのエスケープで隠したアドレスも、ブラウザーがデコードした結果で確認するため同じくブロックされます。ブロックしたアドレスは一覧表示します。画像をdata:(Base64)アドレスで埋め込めば表示され、画像 Base64 変換ツールで作成できます。
フォントがデザインと違って見えます。
Webフォントのファイルは取得しないため、文字は端末にインストールされているフォントで表示されます。指定したフォントがない場合は、システムの標準フォント(Windowsなら游ゴシックやSegoe UI、Apple製品ならヒラギノやSan Franciscoなど)が使われます。
JavaScriptで生成した内容は表示されますか?
表示されません。貼り付けたコードのスクリプトは実行せず、静的なHTMLとCSSだけを描画します。
コードはサーバーに送信されますか?
されません。プレビューも画像もブラウザーの中で作成します。